这是我的第一篇随笔!
1.当源程序中两个源文件:1.cpp和2.cpp都定义了同一个全局变量时链接会报错,提示变量名冲突。需要将其中一个设置为static控制其作用域为只在一个源文件内部。注意若是两个.c文件定义了相同的全局变量,编译则不会报错,两个位置的变量指向同一个存储位置。但为了程序的可读性,坚决要这样做。
2.函数名也是全局的,故static的作用同样适用于函数。用static限定的函数其能被所在源文件调用。
3.局部变量前加static会将此变量的生存期改变,变量不会再存放在栈中随函数的调用的结束而被释放掉,而是和全局变量一样存放在静态存储区。
参考:https://www.cnblogs.com/yjkai/archive/2011/11/10/2244116.html