若有说明;int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是?
如题
[解决办法]
编译器会自动计算一个最小的,且又能包容所有那些初始值的维度大小。
而如果对于计算出来的维度大小,那些初始值不能把整个数组完全填满的话,那么,其余的那些元素将被初始化为0。
利用后边这一点很容易定义一个全零的大数组,比如:
int a[1000] = {0};
int b[10][10][10] = {0};
上面这两个数组的每一个元素都是0。
[解决办法]
int a[][3]={1,2,3,4,5,6,7};这个定义相当于是这样的
int a[][3]={{1,2,3},{4,5,6},{7}};
所以a的第一个维度就是3。系统会根据第二个维度大小自动设置第一个维度。注意,这里第二维度是不能像第一个维度那样省略的。