创作不易,本篇文章如果帮助到了你,还请点赞支持一下♡>𖥦<)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ
c语言系列专栏: c语言之路重点知识整合
前导相关知识点:c语言全局变量、局部变量详解
目录
特点:
static 理解为局部内的 唯一变量 相当于全局,但全局不可访问
总结
与全局变量区别
与局部变量区别
static静态,表示唯一的概念
特点:
static修饰的局部变量唯一存在,被创建于全局变量区,生命周期长,但是不会被全局访问,访问范围小,只能在其函数体内部访问,并且不会随着函数执行被回收,当函数再次执行时,他还保留着最后一次的赋值。
#include <stdio.h>
void fun()
{
static int c; //static 修饰的变量会放在全局变量区,默认值为0;
int i;
i=10;
i++;
c++;
printf("c=%d,i=%d\n",c,i);
}
int main()
{
/*static 理解为局部内的 唯一变量 相当于全局,但全局不可访问 */
fun();
fun();
return 0;
}
静态变量c会在程序启动时进行创建,存放在全局/静态区。
static 理解为局部内的 唯一变量 相当于全局,但全局不可访问
总结
与全局变量区别
与全局变量不同的限制范围:函数内部、编译单元(.obj) 不能修饰整个项目内
全局变量整个项目都可以声明使用
static静态变量 在项目内不可用extern外部链接声明 内部全局
与局部变量区别
静态变量在程序运行时创建,比局部变量声明周期长,不会被回收 放在全局/静态区