1. 多维数组语法:

1.1. 定义和调用/引用和连续赋值语法

1.1.1. 用固定长度定义

  1. 左边的方括号为外层, 右边的方括号为里层
    1. 多维数组就是一维数组的嵌套
  2. 其中只有最外层的方括号(第一个方括号)可以省略
  3. 连续赋值的时候是从最里层往外填的 如
char b[][4][4]={"fuck","shit"}; //编译器会根据所需的空间自动取最小的最外层数组长度

该代码定义了一个三维数组, 和二维数组, 和一维数组 如 三维数组b[0][0][0]的值为字符f 二维数组b[0][1]为字符数组shit, 值就等于字符s的地址 一维数组b[0]的值为二维数组b[0][0]的地址

1.1.2. 用动态长度定义并初始化与释放/清理

int b=(int*)calloc(列高,sizeof(int*));
for(int i=0;i<列高;++i){
	b[i]=calloc(行长,sizeof(int));
	for(int j=0;j<行长;++j)
		b[i][j]=0;
}
//pass
for(int i=0;i<列高;++i)
	free(b[i]);
free(b);

1.2. 多维数组分段赋值语法

int a[5][3]={ {80,75,92}, {61,65,71}, {59,63,70}, {85,87,90}, {76,77,85} };

1.3. 作为函数参数/形参的语法

1.3.1. 实例:

void Test(int n,int A[][n]){}
int A[2][6];
Test(6,A);

1.3.2. 语法

void 函数(int 二维长度名字,二维数组类型 二维数组形参名[][二维长度名字]){}