C++ 二维数组
学习目标
- 二维数组的定义和初始化
- 二维数组的使用
士兵的身高
一队士兵的身高可以用一维数组保存,一个方阵的士兵如何表示?
int a[8];
| a[0] | a[1] | a[2] | a[3] | a[4] | a[5] | a[6] | a[7] |
|---|---|---|---|---|---|---|---|
| 174 | 176 | 175 | 177 | 178 | 176 | 175 | 180 |
4 行 8 列的方阵
使用多个一维数组保存多队士兵的数据:
int a1[8] = {174, 176, 175, 177, 178, 176, 175, 180};
int a2[8] = {173, 176, 177, 177, 173, 176, 175, 180};
int a3[8] = {174, 176, 175, 176, 178, 178, 181, 176};
int a4[8] = {177, 174, 175, 175, 179, 182, 175, 180};
二维数组概念
- 二维数组可以看作是'数组的数组'
- 定义二维数组时,数组名后跟两个方括号,分别指定行数和列数
- 数据类型 数组名 [行数][列数]; 行数在前,列数在后
- 行数和列数可以用整型常量,或常量表达式指定
int a[4][8]; // 4 行 8 列的二维数组
语法说明:
- 行数表示:有几行(有几个一维数组)
- 列数表示:有几列(每个一维数组包含几个元素)
示例:
int ar[2][3] = {{1, 2, 3}, {1, 1, 1}};
| 1 | 2 | 3 |
|---|---|---|
| 1 | 1 | 1 |
有 2 行,有两个一维数组;有 3 列,每个一维数组包含 3 个元素。
定义二维数组
定义一个 int 整数类型的二维数组 a1,包含 4 个一维数组,每个一维数组长度为 5:
int a1[4][5];
定义一个 float 浮点数类型的二维数组 a2,包含 3 行 10 列数据:
float a2[3][10];
初始化二维数组
声明的同时进行初始化
1、全部初始化 - 方式 1:列出全部的初始值,数值之间用逗号隔开。先按顺序存放第 1 行,再存放第 2 行,依次类推。
int a[2][3] = {1, 2, 3, 1, 1, 1};
2、全部初始化 - 方式 2:逐行列出初始值,每行用大括号标注,行之间用逗号隔开。
更推荐写法:
int a[2][3] = {{1, 2, 3}, {1, 1, 1}};

