1
11
既然你特别提到
全球的
变量:对于全局变量,是否声明
局部的
另一方面,变量是
未定义
(除非他们被宣布
|
2
5
变量的初始值未定义。在一些语言中,变量在内存中的位置在声明时是零的,但是在C(和C++中),一个未初始化的变量将包含当时所在位置的任何垃圾。 所以最好的方法是,一个未初始化的变量很可能包含垃圾并且有未定义的行为。 |
3
4
只有局部非静态变量未初始化。另外,分配给malloc的内存没有初始化。
见
|
4
1
今天早上我打字太慢了。当我回答时,三个人很快就进来了,所以我把大部分的帖子都撤了。我发现的链接是清晰和简短的,所以我无论如何都会发布: Wikipedia on "uninitialized variable" 关于基本问题的讨论。 |
5
0
快速测试显示a和c为0。
a(和c)的位置在编译时确定;也就是说,它们既不放在堆栈上,也不放在malloc返回的内存间隔中。我认为C标准说在所有情况下,它们都被初始化为0。
我有99.9%的信心
对于存储在堆栈或malloc内存中的数据,AndrewHare所说的未初始化变量是正确的。对于静态存储的变量则不是这样。 |
Tom Buck · c#程序在整数列表上冻结 6 年前 |
Ran Lavi · 在c中初始化结构的指针++ 6 年前 |
Js_zero · 在c++中实例化对象有几种方法,它们之间有什么区别 6 年前 |
jfernal · 节点。js在加载其他函数之前等待初始化变量 6 年前 |
Victor · 在javafx中运行时更改标签文本 6 年前 |
blubb · 在Kotlin中是否有更惯用的方法来初始化此映射? 6 年前 |
Bing Bang · 初始化包含字节数组的结构数组 6 年前 |