我知道一个数组的初始值为0时定义为静态,否则未定义,但我不完全确定当数组是typedef'd时这是相同的方式。我想是的,但我想确认一下。C typedef'd数组 - 初始值是什么?
只是为了说清楚,我的意思是这样的:
typedef float vector3[3];
int main (int argc, char* argv) {
vector3 vec;
static vector3 vec2;
}
的VEC变量将是不确定的,不是吗?那么vec2呢?它应该是全0,对不对?
'typedef'只是让你可以得到一个更简单的名字。无论如何,编译器假装你输入了整个东西。 – robert
不,初始值不确定,不确定。它具有在内存位置找到的任何值,或任何值给编译器的值。如果此值碰巧是基本类型的陷阱表示,则它只会是未定义的行为。 –
在我这边,单词的错误选择,我认为可以调用undefined的初始值,但我看到了不同之处。感谢您的澄清。 – uorbe001