原来GCC的方言这么多,还可以这样初始化!!!
时间:2010-08-26
来源:互联网
啥也不说。真接上代码
复制代码
- #include <stdio.h>
- #define MAKE_POINT(x,y) {x, y}
- #define COLOR_B 0
- #define COLOR_W 1
- #define COLOR_R 2
- struct point_t
- {
- unsigned X,Y;
- };
- int main()
- {
- static const struct point_t point[] = {
- [COLOR_B] = MAKE_POINT(12,12),
- [COLOR_R] = MAKE_POINT(1000,300),
- [COLOR_W] = MAKE_POINT(300,300),
- };
- printf("%d\n",point[COLOR_R].X);
- return 0;
- }
作者: zhangsuozhu 发布时间: 2010-08-26
这是C99吧?
作者: liwangli1983 发布时间: 2010-08-26
看内核里看到这样的用法。
作者: zhangsuozhu 发布时间: 2010-08-26
翻了下书,确实是C99的新特性“指定初始化”,再配合上宏,这样初始化意义比较明确
作者: liwangli1983 发布时间: 2010-08-26
这货要在下标大的时候才比较给力吧

作者: daybreakcx 发布时间: 2010-08-26

作者: zhangsuozhu 发布时间: 2010-08-26
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28