我一直在研究 C 中的指针,从我的读数来看,矩阵的内存地址分配遵循线性模式,即使矩阵是二维的。我用一个简单的算法做了一个实验来打印每个矩阵元素的地址,我试图理解它的结果。它遵循 4 x 4 模式,即使矩阵是 5x5。这是为什么?它不应该遵循像“1、2、3 ...”这样的1 x 1模式吗?
int main()
{
int size = 5;
int matriz[size][size];
int i, j;
for(i=0;i<size;i++) {
for(j=0;j<size;j++) {
matriz[i][j] = rand();
printf("Address %d\n", &matriz[i][j]);
}
}
return 0;
}
