c - 如何在不使用循环的情况下在 C 中初始化 N 维数组

标签 c arrays matrix initialization

我想初始化一个 3 x 3 矩阵,前两行为 0,最后一行为 1。我已经声明了一个二维数组 int matrix[3][3]

我想在不使用循环的情况下初始化它,如下所示

0 0 0
0 0 0
1 1 1

我也想要一个N维数组的解法

最佳答案

int matrix[3][3] = {
    { 0, 0, 0 },
    { 0, 0, 0 },
    { 1, 1, 1 }
};

或者,更紧凑的:

int matrix[3][3] = {
    [2] = { 1, 1, 1 }
};

只要 N 是固定的,该解决方案就可以推广到 N。如果 N 很大,您可以使用 mouviciel 对 this question 的回答.

关于c - 如何在不使用循环的情况下在 C 中初始化 N 维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11429786/

相关文章:

java - 确定从给定位置到网格边缘的最短距离

c - 在 C 上返回一个字符串

c - 给定一个位掩码,如何计算位移计数

c - 如何使用 execl() 函数通过 cut 命令运行我的标准输入?

c# - 从包含 m 个项目的集合 S 中选择到长度为 N (N>m) 的另一个列表中的排列

javascript - Jquery 在解析时将巨大的数组拆分为许多新的回调

c - 从 txt 文件读取到动态分配

ruby - 嵌套数组删除 nil

matrix - LAPACK 给我错误的特征值

android - 如何使用矩阵控制 IMAGEVIEW 的拖动