C中static这个关键字的用法比较灵活,下面就static的主要用法予以总结,有不对之处,还望高手指出。
这里主要从两个角度来考虑static的用法:对变量(全局和局部)的影响,对函数的影响。
一、对变量的影响(即静态变量)
1、存储位置:静态存储区
2、生存期:程序运行整个期间,特别对局部静态变量,函数退出后,变量依然存在
3、可访问性:a)静态全局变量,本文件内的所有函数可以访问,本文件以外的函数不可访问;b)静态局部变量,只有所在函数能够访问
4、隐藏性(可和可访问性归一):只在本文件内可见,其他文件允许有同名变量
5、初始化:只初始化一次;存储在静态区的变量一般默认初始值为0x00
二、对函数的影响(静态函数)
1、隐藏性:只能被本文件内的其他函数调用,允许其他文件有同名函数。