C语言二维数组

首先,要理解一维数组和二维数组其实都是一维数组,在内存中线性存放

提到二维数组如:a[3][4]

很多人的第一印象是这样的:

   这样并没有错,但是只能作为一个印象图来理解

而我们要知道二维数组其实是一个一维数组,只不过一维数组的每个元素又是一个一维数组,就像下面这样:


初始化

对二维数组的赋值:

for (i = 0; i < 3; i++)
{
	int j = 0;
	for (j = 0; j < 4; j++)
	{
		a[i][j] = i * 4 + j;         
	}
}
或者

int i=0,j=0;
int a[3][4]={0};
int *p=&a[0][0];
for(i=0;i<3;i++)
{
         for(j=0;j<4;j++)
         {
                 *(p+i)=i;
         }
}
都是可以的。

猜你喜欢

转载自blog.csdn.net/ironman240/article/details/79941794