理想 == 离乡
慢点_慢点_再慢点__静点_静点_再静点

C语言中的static关键字

    (1) 修饰局部变量,限定变量的生命周期。变量的存储类别由栈区变为静态数据区。

	int main()
	{
		int x=9;	//普通局部变量,存储在栈区
		static int x=9;	//静态局部变量,存储在静态数据区
		return 0;
	}

    (2) 修饰全局变量,限定变量的作用域,该全局变量只能在本源文件中调用,而不能在该工程下的其他文件调用。初始化后的静态全局变量仍然存储在静态数据区,未初始化的静态全局变量保存在bss段。

	int m=6;			//存储在静态数据区
	static int n;		//存储在bss段
	int main()
	{
		int x=9;	//普通局部变量,存储在栈区
		static int x=9;	//静态局部变量,存储在静态数据区
		return 0;
	}

    (3) 修饰函数,限定函数的作用域,为了防止同一个工程下不同C文件中的函数重名问题(C++中重载的引入成功的解决函数重名问题)。同时限定该函数的连接属性为内部链接。

	static int add(int x, int y)
	{
		return x+y;
	}
	static double add(double x, double y)
	{
		return x+y;
	}
posted on 2019-09-07 21:28  hwfre  阅读(346)  评论(0编辑  收藏  举报