今天我水的文章是二维数组的存放
二维数组的存放方式其实和一维数组没有区别,但如果想要更直观的了解,我们可以把它们的地址打印出来。
代码如下:
#include <stdio.h>
int main()
{
int arr[3][3];//二维数组,int数组类型,arr数组名,[]放常量值限制元素个数,第一个[]代表行,第二个代表列
int i=0;//
int j=0;//变量
for(i=0;i<3;i++)//产生行的下标
{
for(j=0;j<3;j++)//产生列的下标
{
scanf("%d",&arr[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("arr[%d][%d]=%p\n",i,j,&arr[i][j]);//打印地址,
}
}
return 0;
}
运行结果:
从代码的运行结果来看,他们都相差了四位字节,或者说在存储空间中每个元素都占据四个字节,他们在内存中的存放是连续的。
重点:二维数组的元素在内存中的存放是连续的,一个接着一个的满足一行后会直接接上下一行的代码。和一维数组并没有区别。
完