|
在标准 C 里,数组的初始化值必须以固定顺序出现,但在 GCC 中却赋予了更灵活的初始化方法,它通过指定索引而允许初始化值以任意的顺序出现。
下面是示例程序:
#include <stdio.h>
#define MAX 10
int main()
{
int list[MAX] = {[0 ... 5] = 10, 20,30,40,50};
int i = 0;
int area[MAX] = {11,[8]=7,12};
for (i = 0; i < 10; i++)
printf ("%d ", list[i]);
printf ("\n");
for (i = 0; i < 10; i++)
printf ("%d ", area[i]);
printf ("\n");
return (0);
} 运行与输出:$ ./array
10 10 10 10 10 10 20 30 40 50
11 0 0 0 0 0 0 0 7 12 从 list[] 数组中可以看出,它允许通过指定域的形式来进行初始化;
从 area[] 数组中可以看出,我们可以单独指定要初始化那个元素。 |
|