c - 在 C 中初始化 2D/3D 数组的简写方法?

标签 c arrays gcc initialization

我想知道是否有一种类似于以下语法的 C 中初始化 2D 或 3D 数组的简写方法:

int array[1024] = {[0 ... 1023] = 5};

最佳答案

您使用的初始化不是标准 C,它是 GCC extension (Designated Initializers) .

要初始化 3d 数组,请使用:

int array[10][10][10] = {[0 ... 9] [0 ... 9] [0 ... 9] = 42};

Demo .

关于c - 在 C 中初始化 2D/3D 数组的简写方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27314427/

相关文章:

c - 指针问题

内核函数可以有不同的虚拟地址吗

c - C中嵌套宏的宏等价

javascript - 如何正确排序整数数组

c - 遇到文件 I/O 和字符串数组的问题

c - "+&r"与 "+r"有何不同?

javascript - 将数组拆分为 N 长度的 block

c - GCC 在编译时抛出错误 : error: unknown type name ‘FILE’

ios - 如何使用 fvisibility=hidden 标志为 iOS 编译 openssl

c - 为什么同一个结构体的大小在x86和arm同版本gcc中计算出来的不一样?