`int a [6] [(2,2)]`数组是什么意思?

Shi*_*wal 3 c arrays

阵列的第二个维度尚不清楚.这个数组的大小是48,其中int2个字节但是int a[6][4]int a[6][(2,2)]?之间的确切区别是什么?

jua*_*nza 14

int a[6][4]和int 的确切区别是什么a[6][(2,2)]

有一个很大的不同.int a[6][(2,2)]在很大程度上相当于int a[6][2].的(2,2)表达涉及逗号运算和计算结果为2.

细微差别(参见@Virgile的评论)是(2,2)不是C中的常量表达式.所以int a[6][(2,2)]实际上是一个大小为2的可变长度数组的大小为6的数组.从技术上讲,它确实相当于

int n = 2;
int a[6][n];
Run Code Online (Sandbox Code Playgroud)