开发者社区> 问答> 正文

方括号在C中的数组初始化中意味着什么?

static uint8_t togglecode[256] = { [0x3A] CAPSLOCK, [0x45] NUMLOCK, [0x46] SCROLLLOCK }; 有什么意义[0x3A]吗?我只学过像int a[2] = {1, 2}; 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 14:16:41 333 0
1 条回答
写回答
取消 提交回答
  • 这意味着初始化数组的第n个元素。您给出的示例将意味着:

    togglecode[0x3A] == CAPSLOCK togglecode[0x45] == NUMLOCK togglecode[0x46] == SCROLLLOCK 这些称为“指定的初始化程序”,实际上是C99标准的一部分。但是,没有的语法=不是。从该页面:

    自GCC 2.5起,已经过时但GCC仍然接受的替代语法是[index]在元素值之前写入no =。

    2020-02-08 14:16:50
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载