C语言二维数组大闯关

00:00.00

📚 二维数组定义 & 初始化大揭秘

二维数组就像「一张几行几列的表格」或「教室的座位排布」,需要用「行号+列号」才能准确定位一个元素!

二维数组的正确定义

数据类型 数组名[行长度][列长度]; // 定义格式

// 示例1:定义一个3行4列的整型二维数组(存放12个整数)
int score[3][4];

// 示例2:定义一个2行3列的字符型二维数组
char ch[2][3];

📌 数据类型

数组中所有元素的统一类型(int/char/float等)

📌 行/列长度

必须是常量,分别表示表格的「行数」和「列数」

📌 数组名

遵循C语言标识符规则,不能以数字开头

核心易错点:二维数组的列长度不能省略!行长度仅在初始化时可省略!

二维数组的四种初始化方式

✅ 完全初始化(按行赋值)

int arr[2][3] = {{1,2,3}, {4,5,6}};
// 外层大括号包行,内层大括号包列
123
456

🔸 部分初始化(未赋值补0)

int arr[2][3] = {{1,2}, {4}};
// 未赋值的元素默认是0
120
400

✨ 省略行长度(列不能省)

int arr[][3] = {{1,2}, {4,5}, {7}};
// 行长度由内层大括号个数决定(3行)
120
450
700

🔹 按元素顺序赋值

int arr[2][3] = {1,2,3,4,5,6};
// 按行优先顺序填充,不直观
123
456
实用技巧:按行赋值(加内层大括号)更直观,便于阅读和调试,推荐优先使用!

🔄 二维数组完整流程动画

📝

1. 定义数组

指定类型、行长度、列长度

📊

2. 分配二维空间

开辟行×列的连续内存表格

✏️

3. 初始化赋值

按行按列给元素赋初始值

🔍

4. 访问元素

通过行下标+列下标访问

123
456

💡 核心知识点 & 易错点总结

  • 二维数组定义格式:数据类型 数组名[行常量][列常量];(列长度不可省略)
  • 下标规则:行下标、列下标均从0开始,最大行下标=行长度-1,最大列下标=列长度-1
  • 初始化时,省略行长度的条件:必须按行赋值(带内层大括号),行长度由内层大括号个数决定
  • 部分初始化时,未赋值的元素默认是0(int数组)、'\0'(char数组)
  • 二维数组本质:数组的数组(每一行都是一个一维数组)
  • 常见错误:省略列长度、下标从1开始、行长度用变量定义

🎮 闯关小游戏(10关·每题10分)

🎮

准备好了吗?开始挑战二维数组10关,看看你能得多少分!