01二维数组的定义
1、一般形式
类型说明符 数组名[常量表达式][常量表达式]
2、例子
int a[10][6],b[3][4];
3、用矩阵形式表示二维数组,是逻辑上的概念,能形象地表示出行列关系,而在内存中,各元素是连续存放的,不是二维的,是线性的。
02 二维数组的引用
1、引用形式
数组名[下标][下标]
2、在引用数组元素时,下标值应在已定义的数组大小的范围内。
3、例子
int a[3][4];
定义a为3*4的二维数组
4、按以上定义,数组a课用的下标范围为0~2,“列下标”的范围为0~3,。用a[3][4]表示元素显然超过了数组的范围。
5、读者要严格区分在定义数组时用的a[3][4]和引用元素时的a[3][4]的区别。前者用来定义数组的维数和各维的大小,后者中的3和4是数组元素的下标值。
6、a[3][4]代表行序号为3、列序号为4的元素(行序号和列序号均从0起算)。
03 二维数组的初始化
1、为了使程序简洁,常在定义数组的同时,给各数组元素赋值,这称为数组的初始化。
2、分行给二维数组赋初值。
例子:
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
3、可以将所有数据写在一个花括号内,按数组元素在内存中的排列顺序对各元素赋初值。
例子:
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
4、可以对部分元素赋初值。
例子:
int a[3][4]={{1},{2},{3}};
5、如果对全部元素都赋值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省略。
例子:
int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
和int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};等价的。
更多案例可以go公众号:C语言入门到精通