关键字static

来源:互联网 发布:网络直播监督平台 编辑:程序博客网 时间:2024/05/06 03:23
一、关键字static的作用
1. 函数体内static变量的作用范围为该函数体。
2. 模块内的static全局变量可以被模块内所有函数访问,但不能被模块外其他函数访问。
3. 在模块内的static函数只可被这一模块内的其他函数调用。
4. 在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝。
5. 在类中的static成员函数属于整个类所拥有,但只能访问类的static成员变量。

二、static全局变量与普通全局变量有什么区别
1. 两者的存储区域相同。
2. static全局变量的作用域为定义该变量的源文件,而普通全局变量的作用域为整个源程序。

三、static局部变量和普通局部变量的区别
1. static局部变量存储在静态存储区,局部变量存储在栈区。
2. 两者的作用域都为某个函数或复合语句内,但静态局部变量在函数或复合语句结束时不会自动释放,保留其最后的值到程序结束,而普通局部变量在函数或复合语句结束时会自动释放。

四、static函数和普通函数的区别
1. static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。
2. 静态函数不能被其他文件所用,而普通函数可以。

原创粉丝点击