[英]C typedef'd array - What's the initial value?
我知道数组的初始值在定义为静态时为0,否则为未定义,但是我不完全确定在对数组进行类型定义时是否也是如此。 我是这样认为的,但我想确认一下。
为了清楚起见,我的意思是这样的:
typedef float vector3[3];
int main (int argc, char* argv) {
vector3 vec;
static vector3 vec2;
}
vec变量是不确定的,不是吗? vec2呢? 应该全为0,对不对?
是的, vec
的值是不确定的。 vec2
的值将全部为零。
当定义或声明变量时,使用typedef
对类型的行为没有影响。
typedef
对代码的语义绝对没有影响。 这包括初始值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.