【发布时间】:2014-04-22 03:45:19
【问题描述】:
我正在尝试初始化一个 3-d 数组,但由于某种原因,当我编译时,它给了我很多警告
double array[5][4][1]=
{
{
{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16},
{17,18,19,20}
}
};
给出的警告:
sales.c: In function `main':
sales.c:28: warning: excess elements in array initializer
sales.c:28: warning: (near initialization for `array[0][0]')
sales.c:28: warning: excess elements in array initializer
sales.c:28: warning: (near initialization for `array[0][0]')
sales.c:28: warning: excess elements in array initializer
sales.c:28: warning: (near initialization for `array[0][0]')
sales.c:29: warning: excess elements in array initializer
sales.c:29: warning: (near initialization for `array[0][1]')
sales.c:29: warning: excess elements in array initializer
sales.c:29: warning: (near initialization for `array[0][1]')
sales.c:29: warning: excess elements in array initializer
sales.c:29: warning: (near initialization for `array[0][1]')
sales.c:30: warning: excess elements in array initializer
sales.c:30: warning: (near initialization for `array[0][2]')
sales.c:30: warning: excess elements in array initializer
sales.c:30: warning: (near initialization for `array[0][2]')
sales.c:30: warning: excess elements in array initializer
sales.c:30: warning: (near initialization for `array[0][2]')
sales.c:31: warning: excess elements in array initializer
sales.c:31: warning: (near initialization for `array[0][3]')
sales.c:31: warning: excess elements in array initializer
sales.c:31: warning: (near initialization for `array[0][3]')
sales.c:31: warning: excess elements in array initializer
sales.c:31: warning: (near initialization for `array[0][3]')
sales.c:32: warning: excess elements in array initializer
sales.c:32: warning: (near initialization for `array[0][4]')
sales.c:32: warning: excess elements in array initializer
sales.c:32: warning: (near initialization for `array[0][4]')
sales.c:32: warning: excess elements in array initializer
sales.c:32: warning: (near initialization for `array[0][4]')
sales.c:32: warning: excess elements in array initializer
sales.c:32: warning: (near initialization for `array[0]')
当我通过丢失一对大括号而仅使用二维数组进行初始化时,编译器不会给出这些警告。谁能建议我做错了什么?
【问题讨论】:
-
您的尺寸显然不正常;从最外层到最里面你有 1、5、4 个初始化器,它们与 [5][4][1] 或 [1][4][5] 都不匹配。
标签: c arrays multidimensional-array