C语言入门五

二维数组

二维数组的定义
int arr[2][2]={{1,2},{3,4}}; 行 列
int brr[2][2]={1,2,3,4};
int crr[][2]={1,2,3,4,5,6};//列不能省略

注意:二维数组的内存是连续的 第二行的0号下标和第一行的最后一个下标在内存中是相连的。
二维数组在函数传参时的使用
可以直接传一个二维数组
void Func(int array[][]);
也可以使用数组指针
void Func(int (*array)[10]);

*(brr)[3] 数组指针
*brr[3] 指针数组

下图可帮助了解指针与二维数组

C语言入门五
二维数组 与二级指针
我们知道[]自带解引用
则由上图可知二维数组需要解引用两次才能得到具体的值 而非地址

二维数组不能直接打印 需借助打印函数方可实现

void Show(int *brr,int row,int col)
{
	for(int i = 0;i < row;i++)
	{
		for(int j = 0;j < col;j++)
		{
			printf("%3d ",brr[i*col+j]);
		}
		printf("\n");
	}
}