Mob*_*isk 8 c arrays initializer
我正在阅读Bruce Dawson关于将Chromium移植到VC 2015的文章,他遇到了一些我不理解的C代码.
代码是:
char c[2] = { [1] = 7 };
Run Code Online (Sandbox Code Playgroud)
Bruce对它的唯一评论是:"我不熟悉所使用的数组初始化语法 - 我认为它是一些只有C的构造." 那么这个语法究竟意味着什么呢?
Ada*_*m B 12
C99允许您以任何顺序指定数组的元素(如果您正在搜索它,这似乎称为"指定的初始化器").所以这个构造分配7
给了第二个元素c
.
此表达式相当于char c[2] = {0, 7};
不为这样的短初始化程序节省空间,但对于较大的稀疏数组非常有用.
有关详细信息,请参阅此页面:https: //gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html
归档时间: |
|
查看次数: |
189 次 |
最近记录: |