我目前正在学习 C,我有一个问题,我必须猜测内存中有哪些值。
当我说,例如 long var1[1243] = {10, 1, 0, -1, -10}
并定义这个 vector ,它的前 5 个元素已经定义,但是代表剩余 1238 个元素的分配字节,它们在内存中设置了什么?更具体地说,它们是 0 吗?会说,在汇编中,在定义它们之后,.zero <number of remaining bytes in vector>
对吗?
最佳答案
通过至少初始化一些元素 {10}
C 将把数组中的所有剩余元素初始化为全局变量。数字零或空指针取决于类型,在结构数组的情况下,递归地为结构的所有成员。
在 C++ 中,空的初始化程序也可以 long var1[1243] = {}
,但在 C 中不允许这样做。
关于arrays - 内存中表示的未定义 vector 元素是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59253661/