C 2维阵列分配

C 2维阵列分配,c,multidimensional-array,C,Multidimensional Array,我正在尝试分配2维数组的某些成员。无法使以下代码正常工作。非常感谢您的帮助 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]); } 初始化数组的方式 int myArray[5][5] = {[1][1]{1},[2][2]{2},[3][3]{3},[4][4]{4}}; 这是错误的。如果您对指

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

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]);
} 

初始化数组的方式

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};

代码以什么方式不起作用?它是否无法编译、崩溃或给出意外的结果?我得到了以下编译错误数组。c:3:错误:在“{”令牌数组之前应为“=”。c:3:错误:在“[”令牌数组之前应为“}”。该答案仅在c99中有效:read:@simonc;更新了我的答案。谢谢。