0

我知道数组的初始值在定义为静态时为 0,否则为未定义,但我不完全确定当数组是 typedef 时这是否相同。我想是的,但我想确认一下。

为了清楚起见,我的意思是这样的:

typedef float vector3[3];

int main (int argc, char* argv) {
    vector3 vec;
    static vector3 vec2;
}

vec 变量将是未定义的,不是吗?那么vec2呢?应该都是0吧?

4

2 回答 2

2

是的,其中的值vec是未定义的;中的值vec2将全为零。

在定义或声明变量时,使用 atypedef对类型的行为没有影响。

于 2012-05-26T22:33:09.667 回答
1

typedefs 对代码的语义绝对没有影响。这包括初始值。

于 2012-05-26T22:31:17.720 回答