Woj*_*Gac 10 c arrays gcc initialization
我有一个关于C中的二维数组的问题.我现在知道(从直接编译器经验)我不能像这样一维数组初始化这样的数组:
int multi_array[][] = {
  {1,2,3,4,5},
  {10,20,30,40,50},
  {100,200,300,400,500}
};
> compiler output:
gcc -o arrays arrays.c
arrays.c: In function ‘main’:
arrays.c:8:9: error: array type has incomplete element type
最接近的解决方案是明确提供列数如下:
int multi_array[][5] = {
  {1,2,3,4,5},
  {10,20,30,40,50},
  {100,200,300,400,500}
};
我的问题是:如果不明确地提供数字(这毕竟编译器应该能够推断自己),它可以整齐地完成吗?我不是在谈论手动构建它malloc或者是什么,而是与我尝试的东西接近.另外,对C编译器有所了解的人可以从低级别的角度解释为什么我的初始尝试不起作用吗?
我使用plain gcc而没有非标准选项来编译代码.
谢谢
| 归档时间: | 
 | 
| 查看次数: | 8310 次 | 
| 最近记录: |