| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1879 人关注过本帖, 2 人收藏
标题:想请问一下 C 里面就没有 int arr[10] = { [ 0 ... 9 ] }; 的这样一种赋值方 ...
取消只看楼主 加入收藏
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
结帖率:98.63%
收藏(2)
已结贴  问题点数:20 回复次数:7 
想请问一下 C 里面就没有 int arr[10] = { [ 0 ... 9 ] }; 的这样一种赋值方法,
想请问一下 C 里面就没有 int arr[10] = { [ 0 ... 9 ] }; 的这样一种赋值方法,

调试了一下,不能通过, 早上看到一段代码不是很理解,所以想确定一下

如果没有的话,下面这句就不知道该怎么理解了

static pidmap_t pidmap_array[PIDMAP_ENTRIES] =
          { [ 0 ... PIDMAP_ENTRIES-1 ] = { ATOMIC_INIT(BITS_PER_PAGE), NULL } };


其中
typedef struct pidmap {

         atomic_t nr_free;

         void *page;

} pidmap_t;


#define ATOMIC_INIT(i)  { (i) }

如果没说错,上面那句应该是给若干个结构体赋了初始值吧


[ 本帖最后由 madfrogme 于 2012-9-24 12:51 编辑 ]
搜索更多相关主题的帖子: void 
2012-09-24 11:40
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
谢了,看来这种格式还真可以

The quieter you become, the more you can hear
2012-09-24 13:04
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
我也解释不清,貌似不是多余的

The quieter you become, the more you can hear
2012-09-24 13:16
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
谢谢楼上了

The quieter you become, the more you can hear
2012-09-24 13:37
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
以下是引用ldzy在2012-9-24 17:25:07的发言:

C primer plus 讲数组有一个所谓的 指定初始化项目 例如
int day[MONTHS]={31,28,[4]=31,30,31,[1]=29};//MONTHS=12
不知是不是楼主想要的

对,这就是楼主想要的,谢谢了!

The quieter you become, the more you can hear
2012-09-24 17:36
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
以下是引用ithaibo在2012-9-24 17:08:13的发言:

C语言中对数组的初始化的格式是,以整型数组为例:
int arry[5]={1,2,3,4,5};
注意,其中不能加“[]”!

好的,谢谢

The quieter you become, the more you can hear
2012-09-24 17:38
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
以下是引用zklhp在2012-9-24 18:37:34的发言:


那 "..." 呢

加了点点点就是按顺序来了,
看过数组里的那三个点点点,
不过ldxy那位仁兄说得我是第一次见,
回头还得调试看一下了

The quieter you become, the more you can hear
2012-09-24 17:43
madfrogme
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
以下是引用信箱有效在2012-9-24 20:00:52的发言:

C99支持指定初始化项目
int a[6]={[5]=168}  a[5]初始化成168

如果多次对一个元素初始化,最后一个有效.

指定初始化项目有顺序性,如有 [3]=168,123,218 ,
相当于[4]=123 [5]=218

非常感谢

The quieter you become, the more you can hear
2012-09-24 19:17
快速回复:想请问一下 C 里面就没有 int arr[10] = { [ 0 ... 9 ] }; 的这样一种 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017385 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved