zev*_*val 3 c arrays assembly initialization
我目前正在学习 C,我有一个问题,我必须猜测内存中的值。例如long var1[1243] = {10, 1, 0, -1, -10}
,当我说并定义这个向量时,它的前 5 个元素已经定义,但是代表剩余 1238 个元素的分配字节,它们在内存中设置为什么?更具体地说,它们是0吗?在定义它们之后,在汇编中会说.zero <number of remaining bytes in vector>
正确吗?
通过至少初始化一些元素,{10}
C 将像全局变量一样初始化数组中的所有剩余元素。数字零或空指针取决于类型,在结构数组的情况下,结构的所有成员,递归。
在 C++ 中,空初始值设定项也有效long var1[1243] = {}
,但在 C 中是不允许的。