曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3878|回复: 0
打印 上一主题 下一主题

标号数组

[复制链接]

4917

主题

5879

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34382
跳转到指定楼层
楼主
发表于 2011-1-11 22:48:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在标准 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[] 数组中可以看出,我们可以单独指定要初始化那个元素。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-10 09:39 , Processed in 0.086441 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表