![]() |
1
44
全局变量初始化为零。在主上下文中使用的变量
局部变量被初始化,就好像它们被传递到
来自堆的分配不一定是初始化的;这取决于用于分配内存的机制。作为实例对象数据的一部分的分配由零填充
|
![]() |
2
7
好吧,除了使用全局变量而不是局部变量进行测试之外:您缺少的重要内容是变量之间的区别
巧合地出现
要初始化的变量,以及
通常是
初始化。
请考虑测试代码的以下变化:
使用以下示例输出:
笔记
|
![]() |
3
1
注意,在您提供的示例代码中,记录实际上是一个全局变量,因此它将被完全初始化。如果将所有代码移动到一个函数中,它将是一个局部变量,因此,根据巴里凯利给出的规则,只有它的字符串字段将被初始化(为“”)。 |
![]() |
4
1
我有一个类似的情况,我也这么想,但是当我添加在记录之前使用的其他变量时,这些值变成垃圾,所以在使用我的记录之前,我必须使用
|