static

C语言 码拜 8年前 (2016-09-21) 898次浏览
关于静态变量
static int a = 3;
int main()
{
static int b = 2;
return 0;
}
静态变量是函数启动时就分 配了变量的内存,而等到执行到程序中该语句时候才第一次赋值,还是编译时候就已经确定了变量的值呢?
解决方案

10

编译时就确定了值
执行前、程序装入内存时,变量的值也存入了

20

静态变量是在程序运行时就存在了,而不是函数启动时

20

编译时就确定了,之后函数中每次运行不会为b赋值2

20

引用:

所以假如变量b在一个子函数里,b会比子函数里的其他普通变量更早的就存在了,在编译时就存在了,对吗?

对,这一点和全局变量一样


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明static
喜欢 (0)
[1034331897@qq.com]
分享 (0)