我知道数组的初始值在定义为静态时是0,否则是未定义的,但我不完全确定当数组是typedef时这是否相同。我想是这样,但我想确认一下。
为了说清楚,我的意思是这样的:
typedef float vector3[3];
int main (int argc, char* argv) {
vector3 vec;
static vector3 vec2;
}
vec变量将是未定义的,不是吗?那vec2怎么样?它应该全部为0,对吧?
答案 0 :(得分:2)
是的,vec
中的值未定义; vec2
中的值将全为零。
在定义或声明变量时,使用typedef
对类型的行为没有任何影响。
答案 1 :(得分:1)
typedef
对代码的语义完全没有影响。这包括初始值。