静态局部变量

【代码demo】

静态局部变量

 

 打印0,3

gcc -S 文件.c的汇编码

静态局部变量

 

【规则】

static局部变量的初始化语句只会执行一次,下次再运行该初始化语句就不会被初始化,但是它可以被多次赋值。

 

【静态局部变量的特性】

  • 存储位置:处于静态存储区,当用 static 修饰局部变量的时候,它就改变了局部变量的存储位置,从原来的栈中存放改为静态存储区;
  • 初始化操作:未经初始化的局部静态变量会被程序自动初始化为0(自动对象的值是任意的,除非他被显示初始化);
  • 作用域:为局部作用域,即当定义它的函数结束的时候,作用域随之结束(不能被访问)。但是静态局部变量在离开作用域之后,并没有被销毁,而是仍然保存在内存当中,直到程序结束。 

参考

https://zhuanlan.zhihu.com/p/112027143

静态局部变量

上一篇:ASP.Net 验证视图状态 MAC 失败


下一篇:智能指针中的一些用法