#include <stdio.h>
int main ()
{
int a[3][4]={{1,2,3,4},{1,2,3,4},{1,2,3,4}};
int b=0;
for (b=0;b<3;b+=1)
{
int c=0;
for (c=0;c<4;c+=1)
{
printf("%p||",&a[b][c]);
}
printf("\n");
}
getchar ();
return 0;
}
- 关于二维数组,其变量a之后跟着两个“[]”。前面一个代表创建的数组是是几行,后者则是几列。
- 关于二维数组中"[]"内下标数能否与一维数组一样能够省略?
- 也是可以的,但二维数组的“列”这一下标是不能够省略的,不然编译器会报错。
探求二维数组的内存地址
- 在之前的的一维数组的内存地址以图表示以下
- 可以看出元素的内存存放是相邻的
- 那二维数组的内存又是如何存放的?
- 这是上面代码的运行结果,可以看出每一行的每一个元素也相隔递增,并且都以整数大小相差4字节
- 若看不出来,接下来一张图也许能更好理解
- 通过以上的数据,也就可以得出二维数组的存放规律
- 并不是如真正的行与列的排列方式,而是上一条直线由许多一维数组所组成。