c++中的static关键字,c语言中static关键字用法详解
Yyds干货库存
首先,在讲静态之前,我们先来了解一下变量的作用域和生命周期。
作用域:程序中使用的变量名并不总是有效的,它有一定的作用域,限制可用变量名的代码范围称为作用域。
生命周期:变量的创建和销毁之间的时间段称为生命周期。
局部变量的作用域:在定义局部变量的模块中。
全局变量的作用域:在整个文件内,如果由extern声明,可以应用于整个项目。因为全局变量具有外部链接属性。
变量的局部生命周期:进入局部作用域(定义)的生命周期开始,离开局部作用域的生命周期结束。
全局变量生命周期:是主函数的生命周期,也就是程序的生命周期。
第二,用static修改局部变量和全局变量,它们的作用域和生命周期会发生什么变化?
静态修改局部变量,将局部变量的生命周期从原模块延长到程序结束。(范围不变)
静态修改全局变量,改变全局变量的作用域,修改外部链接属性,变成内部链接属性,这样静态全局变量只能在自己的源文件内部使用,其他源文件不能使用。(生命周期不变)
#包含stdio.h
无效测试()
{
静态int a=1;//a是静态局部变量
a;
printf(a=%d\n ,a);
}
int main()
{
int I=0;
while(i 5)
{
test();
我;
}
返回0;
}静态修饰A后,A没有被破坏,生命周期变长。如果没有用静电装饰,结果是22222,每次都被破坏。
,转载请联系作者获得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。