77问答网
所有问题
当前搜索:
全局变量未初始化
全局变量
如果不
初始化
,回存在什么隐患?
答:
在C语言中,如果全局变量不初始化,
将被自动初始化为0
。从这点看,没有什么隐患。如果稍后在程序中直接使用,将可能得不到正确的结果。此外,如果是全局指针,因为被初始化为NULL,直接使用会造成程序崩溃。全局变量真正的隐患是,如果程序在某处或几处修改了全局变量,将难以评估修改后的影响,如果出现B...
为什么
全局变量
无须
初始化
,局部变量必须初始化
答:
全局变量是放在全局存储区中, 程序初始化时会把未初始化的全局变量置为0
, 局部变量存放在栈中, 栈内存是重复使用, 如果不初始化, 变量的内容是随机的.貌似没有必须初始化这一说, 只是未初始化的局部变量如果直接使用的时候会报一个错, 使用前对它赋一个值就行了, 当然你也可以说这就是初始化,...
C语言中
未初始化
的
变量
的值是0么
答:
全局变量
链接时已分配空间,程序运行时,操作系统的加载器,负责把链接器分配给全局变量的虚拟内存空间,映射到一个初始化为零的页面,所以被初始化为零。全局和静态的默认初始化都是靠加载机制实现的。另外:
未初始化
的符号在目标文件的bss段中,而初始化的符号在data段中。
C语言中“局部变量要
初始化
,
全局变量
不要初始化”,是这样的吗
答:
不是的。全局变量还是局部变量都可以初始化或者不初始化化 ,语法没有对这有要求
。但是到实际情况是根据你写的代码来分析。你写的int total = 0;在你不初始化报错的原因是,int total;total是没有赋值的一个变量,那他的值就是分配内存中残留的值,属于错误的数据。你后面用到total+=num[j].一...
C语言问题,,,为什么初始化的
全局变量
和
未初始化
的全局变量要保存在不...
答:
C规定,
未初始化变量
的初值为0,这个清0的操作是由启动代码完成的,还有已初始化变量的初值的设置,也是由启动代码完成的。为了启动代码的简单化,编译链接器会把已初始化的变量放在同一个段:.data,这个段的映像(包含了各个变量的初值)保存在“只读数据段”,这样启动代码就可以简单地复制这个映像到...
为什么
全局变量
无须
初始化
,局部变量必须初始化
答:
全局变量
有时也需要
初始化
,而局部变量其实大部分时间都没有初始化。不要把赋初值与初始化混淆了:初始化是由编译器做的,形成可执行文件后,那些变量的值就在软件文件中放着,执行程序时直接使用了;而赋初值是由C/C++代码实现的,程序开始执行后才给变量赋的值。只是全局变量如果不显式初始化,那么...
int
变量未初始化
值为0,为什么?
答:
如果是定义的
全局变量
或者静态变量,
未初始化
的话就是0.如果是局部变量,那就是以前残留在堆栈里的随机值。区分变量的类型,有两种情况。1、局部变量。局部变量在没有显式初始化时,其值C语言规范没做要求,可以是随机值,也可以是编译器随意给定的值。比如gcc编译器的局部变量就是随机值,可能为任何...
C++里bool
变量
如不
初始化
的话默认值是什么
答:
C++里变量未初始化的默认值要看变量的存储类型。一般来说局部变量未初始化,其默认值不确定,
全局变量未初始化
时,默认值一般为为。java里默认是false,C++里没有规定,所以依赖编译器实现,不要让编译器决定你的默认值,永远初始化。例如:boolg_a;//全局变量默认初始化为false即0voidf(){//未...
谁能仔细讲解一下
全局变量
为什么不能
初始化
!!!万分感谢
答:
全局变量
可以
初始化
不能初始化的是外部全局变量 也就是extern extern的意思是,这个全局变量是其它文件定义的 在哪里定义就在哪里初始化,extern只是在当前文件借用一下,所以不允许初始化 不过,有点悲催的是,如果你写了extern int a=0这样的语句,编译器却不会报错,只会忽略掉extern,把这个a当成...
C语言
变量
必须
初始化
吗
答:
是必须
初始化
的,只是编译器有时代替人工初始化而已。当
全局变量
没有初始化时,系统会自动初始化。(正常情况下)局部变量没有初始化时,系统会报错。
1
2
3
4
5
6
7
8
9
10
涓嬩竴椤
灏鹃〉
其他人还搜
c语言全局变量未初始化
定义了变量没有初始化
全局变量数组默认为0吗
变量未被初始化的默认值
变量未初始化是什么意思
未初始化的变量的值是0
c语言中未初始化是什么意思
全局变量默认值为0
全局变量默认