二维数组的定义
- 类型 数组名 [常量表达式][常量表达式]
例: int a[6][6]; //6*6,6行6列
二维数组的访问
- 数组名[下标][下标]
例:a[0][0]; //访问a数组中第一行第一列的元素
- 需要注意下标的取值范围,以防止数组的越界访问。
二维数组的初始化
- 由于二维数组的在内存中是线性存放的,因此可以将所有的数据写在一个花括号内:
例:int a[3][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}}; - 二维数组也可以仅对部分数据赋初值:
例:int a[3][4]={ {1},{5},{9}}; - 如果希望整个二维数组初始化为0,那么直接在大括号里写一个0即可:
例:int a[3][4]={0}; - C99增加了一种新特性,可以指定初始化的元素。这样就可以只对数组中的某些指定元素进行初始化赋值,而未被赋值的元素自动初始化为0:
例:int a[3][4]={[0][0]=1,[1][1]=2,[2][2]=3}; - 二维数组的初始化也可以偷懒不写第一维的数由编译器自动计算,但第二维必须要写。
例:int a[][4]={1,2,3,4,5,6,7,8,