我在 c 中编写了以下代码只是为了检查代码是否会中断:
int main(void)
{
int A [5] [2] [3];
printf("%d\n\n", A[6]);
printf("%d\n\n", &A[6][0][0]);
system("pause");
}
现在,代码没有中断,这是我没想到的。当我们声明一个多维数组:int A [5][2][3]
时,这在概念上是否意味着 A 在其第一级是一个由 5 个元素 ( 0 - 4 ) 组成的一维数组,并且该数组的每个元素本身就是一个由 2 个元素组成的一维数组并且该数组的每个元素都是 3 个元素的一维数组?如果这个概念是正确的,那怎么可能
A[6][0][0]
存在——因为在第一级我们只有 5 个元素(从 0 开始)。
任何帮助将不胜感激。