[英]Compilation Warning.Excess elements in array initializer
我正在實現一個多維數組,並使用指針並測試了地址分配的正確性。即使程序運行完美並且所有地址都與我期望的相同。但是[Warning] excess elements in array initializer
有一個編譯警告[Warning] excess elements in array initializer
。任何人都可以解釋該警告。代碼如下。
#include<stdio.h>
int main(){
int c[3][2][2] = {{{2,5},{7,9},{3,4},{6,1},{0,8},{11,13}}};
printf("%d %d %d %d",c,*c,c[0],&c[0][0]);
return 0;
}
錯誤摘要是這樣的
In function 'main':
3 2 [Warning] excess elements in array initializer
3 2 [Warning] (near initialization for 'c[0]')
3 2 [Warning] excess elements in array initializer
3 2 [Warning] (near initialization for 'c[0]')
3 2 [Warning] excess elements in array initializer
3 2 [Warning] (near initialization for 'c[0]')
3 2 [Warning] excess elements in array initializer
3 2 [Warning] (near initialization for 'c[0]')
您有三對一對int
。 初始化應為:
int c[3][2][2] = {{{2,5},{7,9}},{{3,4},{6,1}},{{0,8},{11,13}}};
3 ^ ^ ^
2 ^ ^
2 ^ ^
那不是三維陣列。 你忘了撐!
int c[3][2][2] = {{{2,5},{7,9}},{{3,4},{6,1}},{{0,8},{11,13}}};
可能重新格式化以使其更清楚:
int c[3][2][2] = {
{ {2,5}, {7,9} },
{ {3,4}, {6,1} },
{ {0,8}, {11,13} }
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.