我像这样初始化了我的数组:
char x[]={'m'};
有效。 但对于以下行我得到错误:类型的大小未知或为零
char x[][]={{'m'},{'m'}};
或
char x[][]={{'m'}};
我无法找到错误的原因。
答案 0 :(得分:1)
在定义2D数组时,必须指定列大小。
char x[][1]={{'m'}};
答案 1 :(得分:1)
您必须设置列数。编译器计算行数:
char x[][1]={{'m'},{'m'}};
答案 2 :(得分:0)
在c中你必须指定最合适的数组大小,所以放
char x[][1];
会起作用
答案 3 :(得分:0)
对于row major架构,您应至少指定列数。为什么?因为,在分配值时,编译器不知道如何在2D数组中分配它们。
所以,正如其他人已经说过的那样,试试这个:
char x[][1]={{'m'}};
或
char x[1][1]={{'m'}}; // note: specifying the number of rows is redundant