77问答网
所有问题
静态变量初值为什么为0?静态变量如果不给它赋值,系统为什么默认为0?具体原因是什么呢?
如题所述
举报该问题
推荐答案 推荐于2018-05-06
静态变量和全局变量如果没有显式初始化,系统都会自动初始化为0
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/YWq3p8GGp.html
其他回答
第1个回答 2011-04-08
说的简单一点就是由
编译器
决定的,没有为什么,就好像C语言的语法规则一样。
本回答被提问者和网友采纳
第2个回答 2011-04-08
一般 不管啥变量 你不给他赋值 默认 都是 0 的
第3个回答 2011-04-21
默认是0
不过编程规约来说的话,最好要对定义的变量给予初期值,因为没个系统都不一样
第4个回答 2011-04-08
初始化的东东都是零
相似回答
java中
静态变量
的
默认
值是
0?
答:
5、局部变量没有默认值
。如果在使用局部变量时不为其赋值,那么在编译的时候就会出现错误,这是因为方法在使用局部变量时不会为其赋初值,而相反,成员变量如果没有赋值,系统会为其自动设定默认值0。
为什么
在C语言中
静态变量
的
初值是0
答:
静态变量
的声明点似乎相当于全局
变量,
按照全局变量的初始化规则来初始化为0
在c语言中没有对一个
变量赋值
它的值是否自动赋0
答:
它的值是否会自动
赋值为0,
取决于变量的类型。全局变量包括静态全局变量和非静态全局
变量,
在没有初始化值时,其值自动为0,即定义在所有函数外,不归属于任何一个函数的,在没有初始化值时,自动为0;静态全局变量当定义在函数内的全局变量,有
static
标记时
,默认
初始化为0值;非静态全局变量没有默认...
c语言的
变量如果不
付
初值,变量
的值是
0
么?
答:
在定义全局变量(关键字是extern)和
静态变量
(关键字是static)是如果没有显式初始化,c的编译系统会自动将其初始化为0(若是字符类数据则初始化为‘\0’),其余项局部变量等的初始值是随机值。可以简单的编写程序试一下。
C语言中未初始化的
变量
的值是0么
答:
值就是0的。全局变量链接时已分配空间,程序运行时,操作系统的加载器,负责把链接器分配给全局变量的虚拟内存空间,映射到一个初始化为零的页面,所以被初始化为零。全局和静态的默认初始化都是靠加载机制实现的。另外:未初始化的符号在目标文件的bss段中,而初始化的符号在data段中。
静态变量赋值
问题
答:
来赋值的。静态变量指的是他的生命周期是整个程序运行周期。不会在函数void fun1() 调用完毕就释放,而是还是存在的 而且变量的值不变。同时
,静态变量如果不
赋初值的话
,默认是0
而普通变量的值是不确定的,不知道的。因为本质上是分配的不同的内存空间。你肯定是上课的时候听错了,是只能定义一次...
int
变量
未初始化值
为0,为什么?
答:
比如gcc编译器的局部变量就是随机值,可能为任何值。而微软的编译器,如VC或VS,则会初始化为全c,即0xCCCCCCCC。2、全局变量或静态局部变量。所有的全局
变量,
即定义在函数外的变量,默认值为0。所有的静态局部变量,即定义在函数内部
的static
int name形式的
,默认
初始化为0。
大家正在搜
全局变量和静态变量的初值
静态变量默认初值
静态变量不赋初值
静态变量初值为0
静态变量的初值是在编译时指定的
静态变量是什么
静态变量的初值
静态变量没有指定初值
外部变量的默认初值
相关问题
为什么在C语言中静态变量的初值是0
java中静态变量的默认值是0?
全局变量和静态变量缺省值一定是0吗?需要特意初始化成0吗?
静态全局变量赋值后怎么还是0
C语言中未初始化的变量的值是0么
在java中,我定义一个变量int i,不给它初始值,系统会...
c++程序,定义了几个变量,如果把变量的初值赋值为0 ,程序...