www问答网
所有问题
C语言全局变量未初始化时的值是随机的还是0
如题所述
举报该问题
推荐答案 2019-07-18
c语言
中,
全局变量
和局部静态变量是存储在静态存储区的,他们在分配的时候都被系统默认初始化为0;而局部自动变量是在栈上分配内存的,如果不对它们进行初始化,那么他们可能是任意的随机值。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://www.wendadaohang.com/zd/A3nGdndGG3nWdAG1K45.html
其他回答
第1个回答 2020-03-29
这要看你定义的变量的属性
全局变量
静态变量初始值为0
局部变量,自动变量初始值随机分配
相似回答
为什么
C语言的变量未
赋初值,其值就
为随机
数?
答:
这里的
随机
其实不是指这个
变量的值是
任意的,只是这个值不是你确定的。如果你了解定义一个变量就是给它分配了一块内存,但是因为
没有初始化
,所以这块内存里的值你是不知道的,可能是你以前赋过的值,也可能是某些程序运行是产生的,所以一般都认为其值是无法预料的。希望能帮到你,谢谢。
int
变量未初始化值为0
,为什么?
答:
如果是定义的全局变量或者静态变量,未初始化的话就是0.如果是局部变量
,那就是以前残留在堆栈里的随机值。区分变量的类型,有两种情况。1、局部变量。局部变量在没有显式初始化时,其值C语言规范没做要求,可以是随机值,也可以是编译器随意给定的值。比如gcc编译器的局部变量就是随机值,可能为任何...
C语言
int
变量未初始化的
默认初值是多少?
答:
1
局部变量,在未初始化情况下,初值为随机值
。C规范对该初值并没有做规定,具体实现由编译器决定。如VC/VS等编译器,会将初始值值为0xCCCCCCCC, 而GCC等编译器则是不可预知的随机值。2 静态局部变量,即带static修饰的局部变量。全局变量和静态全局变量,即定义在函数外,不属于任何一个函数的变量...
c语言
为什么整型
变量未
赋值
是随机
值,而二维数组未赋值是0
答:
1.在
C语言中
,“
初始化
”和“赋值”是两个不同的概念。楼主问题中应该是“初始化”而非“赋值”。int a = 0; 在声明一个变量的时候指定
变量的值
,这叫做初始化;int a; a = 2; 这叫做赋值。2.auto变量处于运行时堆栈。它的特点:在调用一个函数的过程中,这个函数内部的auto变量才存在,当...
C语言
字符数组不赋初值是默认
为
'\
0
'
还是随机
值
答:
普通数组
没有
赋初值,默认的数组元素
值是随机
数,不是0。如果在定义数组时,数据类型前面加上关键字static,数组变成了静态数组;或者把数组定义在函数的外面,成为
全局变量
数组,这时数组元素
的值
自动赋值为0。例子:includeint main(void){ int m = 0;static int n;int a = 5, b = 6,
c
= ...
C语言变量
在任何时刻都有值,而且是唯一
的值
吗?
答:
无论它是否是确定
的值
,但是肯定任何时刻必然都有值且有唯一的值,但是“有值”的含义是比较迷糊的,例如char * p=NULL;p有值NULL,但是从语义上讲它
没有
“字符串”值。不同人对“有值”的定义是不一样的
c语言中
,定义一个
全局变量
int a,b;和定义一个局部变量int a,b;出现...
答:
所以这个问题跟是
全局变量还是
局部
变量是没
关系的,只不过在给
全局变量的
a和b分配的内存刚好是空白的,而给局部变量a和b分配的内存则是有残留数据的(即16进制的 22 00 )。所以,为了避免这种困惑,最好养成定义变量并同时
初始化的
习惯,比如:int a=0, b=0;...
C语言中的全局变量的
默认值
答:
C语言中的全局变量的
默认值:include<iostream> include<string> usingnamespacestd;inta;charb;floatc;doubled;boolboo;stringstr;int*e;char*f;float*g;double*h;string*s;intmain(){ cout<<"int:"<<a<<endl<<"char:"<<b<<endl<<"float:"<<c<<endl<<"double"<<d<<endl<<"string"...
C语言中未
赋值的数,其值默认情况下
为
非
0
吗啊?
答:
int k = ((m = a>b) && (n =
c
>d));printf("k = %d, m = %d, n = %d\n", k, m, n);return 0;} 输出结果为:k = 0, m = 0, n = 0;解释:k和m
的值
为什么
是0
就不做解释了。1、当
变量
用static修饰,但是
没有
赋
初始值
的时候,编译器会自动给它赋值
为0
.2、但是...
大家正在搜
全局变量和静态变量初始化
linux未初始化的全局变量
c语言全局变量初始化
全局变量未初始化为0
初始化为0的全局变量bss
全局变量什么时候初始化
全局变量未初始化
静态全局变量未初始化
全局变量自动初始化为0
相关问题
C语言中未初始化的变量的值是0么
C语言中未初始化的变量的值是0么
C语言中: 如果一个变量为全局变量的话,一般系统会初始化为0...
C语言问题,,,为什么初始化的全局变量和未初始化的全局变量要...
C语言中未初始化的变量的值是0么
c语言中,若在函数内部定义变量时没有给变量赋予初值,如int...
C语言中的全局变量的默认值
在c语言中没有对一个变量赋值它的值是否自动赋0