c - 如何在 C 中声明二维结构中的值

标签 c arrays

我正在尝试创建一个二维结构数组,尽管不是以最漂亮的方式,并且遇到了一些语法错误。我的代码如下:

struct Page
{
  char Column[4];
  int variable;
};

。 。 .

int main()
{
 struct Page Test[2][2];
 Test[0][0].Column = "ABC";
 Test[0][0].variable = 124;
 Test[0][1].Column = "DEF";
 Test[0][1].variable = 368;
 Test[1][0].Column = "GHI";
 Test[1][1].variable = 763;
}

编译时出现此错误: “.”之前的语法错误token <-- 这适用于 Test[x][x].whatever 的每个声明。

我到底声明了什么不正确?

最佳答案

赋值运算符不能与 C 中的数组一起使用。

您可以改为使用初始化(尽管使用 = 符号,但这不是赋值):

struct Page Test[2][2] = {
    { "ABC", 124 }, { "DEF", 368 }, { "GHI", 763 }
};

关于c - 如何在 C 中声明二维结构中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33159417/

相关文章:

c# - C++/C#数组内存异常

arrays - 尝试处理图像时应用程序崩溃

c++ - C 或 C++ 编写编译器?

c - 通过void修改任何数据指针是否合法**

javascript - 查找多维数组中两个相关数字最接近的组合

java - 二维多维数组是如何填充的?

c - 当调用 dlclose 时共享库中的全局变量会发生什么?

c - C语言中如何使用If语句作为循环?

c++ - 从 C 到 C++

javascript - 在 Highcharts 的工具提示中显示数组中的数组