Static 关键字的使用

1.static用于局部变量:

void test()
{
  static int a=0;
  a++;
}

a=0只在进入这个函数的第一次的时候执行,后续进入这个函数的时候就不行了。

另外一个作用就是,明确他的生命周期和存储方式。

对于普通的局部变量,存储位置是在栈中,会随着函数的调用而分配空间,随着函数的退出而把空间销毁,变量的生存周期只在函数之内。

而Static变量,存储位置是在bss,data段,定义这个static变量的时候,没有初始化,会默认为0,存在bss段。如果有默认值,存在data段。

2.static用于全局变量

生命周期,存储方式和static的局部变量一样。唯一的不同就是,无法用extern方式被其他.c文件使用了。

3.static用于函数

其他.c文件不能调用这个函数了,只能被当前.c文件进行调用。

也就是说:为了“明确对外模块,有些变量只能被局部使用”

posted @ 2025-12-12 16:46  小小卡拉  阅读(4)  评论(0)    收藏  举报