static 在 C语言中 是干嘛用的?麻烦理解性的解释一下,不要大段copy
5个回答
展开全部
和全局变量有点类似也有点区别:
例1:
void a()
{
static int num = 0;
num++;
}
例2:
int num;
void a()
{
num++;
}
以上两个例子每调用一次函数a,num都会加1。但是例1用的静态变量,例2用的全局变量。两者在申明变量后一直保存该变量的位置,不会因函数的退出而释放。但如果用全局变量的话,其他函数也会访问到这个变量,因此不安全,除非你确定这个变量需要很多函数修改。静态变量很好地解决了全局变量的问题,它被封装在函数里,其他函数是动不了的。
这两个情况使用依具体情况而选择使用。
例1:
void a()
{
static int num = 0;
num++;
}
例2:
int num;
void a()
{
num++;
}
以上两个例子每调用一次函数a,num都会加1。但是例1用的静态变量,例2用的全局变量。两者在申明变量后一直保存该变量的位置,不会因函数的退出而释放。但如果用全局变量的话,其他函数也会访问到这个变量,因此不安全,除非你确定这个变量需要很多函数修改。静态变量很好地解决了全局变量的问题,它被封装在函数里,其他函数是动不了的。
这两个情况使用依具体情况而选择使用。
展开全部
就是静态变量,其实很简单。
比如:
int func(int a)
{
static sum = 0;
sum += a;
return sum;
}
int test = 0;
(void)func(1);
(void)func(2);
test = func(3);
test结果应该是1+2+3,因为static变量不随函数过程消除而消除。
比如:
int func(int a)
{
static sum = 0;
sum += a;
return sum;
}
int test = 0;
(void)func(1);
(void)func(2);
test = func(3);
test结果应该是1+2+3,因为static变量不随函数过程消除而消除。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在内存中有静态存储区和动态存储区,用来存储动态和静态变量,static家在静态变量前,可以把静态变量变为本文件使用的静态变量,其他文件不能使用该变量,static用在动态变量前,使动态变量成为静态局部变量,生存期为整个程序运行时间 ,用在函数名前,表示该函数只能为其所在文件引用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是用来定义 变量的 比如: public static int X=1;
之类的。用法很多,可以跟别的变量函数一起用,也可以单独使用!
之类的。用法很多,可以跟别的变量函数一起用,也可以单独使用!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是用于声明为静态变量的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询