【问题标题】:2 Dim Array Assignment2 暗淡数组分配
【发布时间】:2013-09-06 16:57:27
【问题描述】:

我正在尝试分配 2 dim 数组的某些成员。无法使以下代码正常工作。非常感谢您的帮助。

int myArray[5][5] = {[1][1]{1},[2][2]{2},[3][3]{3},[4][4]{4}};

main()
{
  printf("%d %d\n", myArray[1][1], myArray[4][4]);
} 

【问题讨论】:

  • 代码在什么情况下不起作用?是否编译失败、崩溃或给出意外结果?
  • 我收到以下编译错误 array.c:3: error: expected '=' before '{' token array.c:3: error: expected '}' before '[' token跨度>
  • hacks 答案仅在 c99 中有效:阅读:Strange initializer expression?

标签: c multidimensional-array


【解决方案1】:

你初始化数组的方式

int myArray[5][5] = {[1][1]{1},[2][2]{2},[3][3]{3},[4][4]{4}};

错了。如果您对指示符感兴趣,请按如下方式对其进行初始化

int myArray[5][5] = {[1][1] = 1,[2][2] = 2,[3][3] = 3,[4][4] = 4};

【讨论】:

  • @simonc;更新了我的答案。谢谢。
猜你喜欢
  • 2017-02-27
  • 2020-12-29
  • 2012-12-15
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2019-06-01
  • 2018-01-16
  • 2021-05-10
相关资源
最近更新 更多