对局部变量加上static的作用:
对于全局变量加上static的作用:
static int num ;
static double d ;
int main()
{
printf("%d\n",num);//0
printf("%f\n",d );//0.000000
return 0;
}
如果想让某个全局变量只在某个文件中使用, 并且不和其他文件中同名全局变量共享同一块存储空间, 那么就可以使用static
我们先看看不加static效果是啥
那么我们加static效果是啥
可以实现变量在函数内一次声明,多个此调用共享变量
void test(){
static int num = 0; // 局部变量
num++;
// 如果不加static输出 1 1 1
// 如果添加static输出 1 2 3
printf("num = %i\n", num);
}
int main()
{
test();
test();
test();
return 0;
}
运行可以发现,如果在函数内部变量上添加static后,之后在第一次调用的时候初始化变量,之后函数在调用的时候会复用变量之前的结果,并且变量只是作用于函数范围
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://huanmin.blog.csdn.net/article/details/126301556
内容来源于网络,如有侵权,请联系作者删除!