1、使用 : 用于修饰全局/局部变量和修饰函数
2、示例①
void test()
{
int a =1;
a++;
printf("%d",a);
}
int main()
{
int i=0;
while (i<10)
{
test();
i++;
}
return 0;
}
输出结果为 2 2 2 2 2 2 2 2 2 2 (十个2)
示例② a被static修饰时
void test()
{
static int a =1;
a++;
printf("%d",a);
}
int main()
{
int i=0;
while (i<10)
{
test();
i++;
}
return 0;
}
输出结果为 2 3 4 5 6 7 8 9 10 11
可推出 static修饰局部变量时,改变了局部变量的生命周期(变量的储存类型)
3、存储类型分类:
栈区:局部变量,函数的参数
堆区:动态内存分配
静态区:全局变量,静态变量,以及被static修饰的
①全局变量和静态变量仅在程序销毁时销毁
②static修饰全局变量时,该全局变量只能在自己所在的源文件内部使用,其他源文件不能使用
全局变量在其他源文件内部可被使用的时候,是因为其有外部链接属性
如果被static修饰,就会变成内部链接属性,断开与其他源文件的链接
③static修饰函数时与修饰全局变量有一样的效果(本质上是改变链接属性)
标签:int,简介,局部变量,源文件,static,修饰,Static,全局变量 From: https://blog.csdn.net/MY_253/article/details/140852892