对于正常的static关键字修饰的变量
生命周期: 程序开始到结束,内存是在堆里,在程序运行前就已经分配好了(不管全局局部都一样)
作用域:
- 全局静态变量:仅仅作用于当前的源文件, 出了这个源文件就不好使了, 而普通的全局变量,在另外的源文件里加extern还是可以访问的
- 局部静态变量:仅仅作用域函数内部, 但是除了函数外,值还是存在的,不会被销毁, 普通的静态局部变量会别销毁
有一张图总结的很好,参考一下链接博客
变量(全局变量、局部变量和静态变量)的作用域_小朱一定要快速发论文的博客-CSDN博客_静态全局变量的作用域
中的小结图部分
想要看实际代码理解, 看这篇博客: