什么是二维数组?
二维数组可以理解为「数组的数组」,本质上是一个一维数组,但其每个元素又是一个一维数组。常用于表示表格、矩阵、棋盘等二维结构,是编程中最常用的多维数组形式
一、二维数组的定义
语法格式:
数据类型 数组名[行数][列数];
行数:表示二维数组包含多少个一维数组(行)。列数:表示每个一维数组包含多少个元素(列)。- 注意:C 语言中,二维数组的列数不能省略(行数可省略,需配合初始化)。
示例:
// 定义一个3行4列的整型二维数组(3个一维数组,每个含4个int元素)
int arr[3][4];
// 定义一个2行3列的字符型二维数组
char ch[2][3];
// 定义一个4行5列的浮点型二维数组
float f[4][5];
打出代码
#include
int main(){
// 二维数组: 方阵,有行有列
// 一种特殊的一维数组:每个元素都是一个一维数组
int arr[2][3] = {
{1,2,3},
{4,5,6}
};
// 访问元素 4
printf("%d", arr[1][0]);
// 打印3
printf("%d", arr[0][2]);
int i = 0;
printf("%d", arr[i][i] + arr[i+1][i+1]); //
}
运行结果
打印二维数组
#include
int main() {
// 定义2行3列的二维数组
int arr[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
// 外层循环:遍历行(共2行,下标0~1)
for (int i = 0; i < 2; i++) {
// 内层循环:遍历列(共3列,下标0~2)
for (int j = 0; j < 3; j++) {
// 打印当前元素,加空格分隔列
printf("%d ", arr[i][j]);
}
// 一行打印完,换行
printf("\n");
}
return 0;
}
运行结果