ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

C语言二维数组详解:定义与初始化

2026/8/5 12:30:27 拓冰建站 浏览量
C语言二维数组详解:定义与初始化

二维数组的定义

在C语言中,二维数组是通过行和列组织的数组,本质上是“数组的数组”。定义语法如下:

数据类型 数组名[行数][列数];

例如,定义一个3行4列的整型数组:

intmatrix[3][4];

二维数组的初始化

二维数组可以通过以下方式初始化:

1. 完全初始化
直接为所有元素赋初值,按行分组:

intmatrix[2][3]={{1,2,3},// 第一行{4,5,6}// 第二行};

2. 部分初始化
未显式初始化的元素自动赋值为0:

intmatrix[2][3]={{1},// 第一行:1, 0, 0{4,5}// 第二行:4, 5, 0};

3. 连续初始化
省略内层花括号,按内存顺序赋值:

intmatrix[2][3]={1,2,3,4,5,6};

4. 自动推断行数
若初始化数据完整,可省略行数(列数必须指定):

intmatrix[][3]={{1,2,3},{4,5,6}};

二维数组的内存布局

二维数组在内存中按行优先连续存储。例如int arr[2][3]的存储顺序为:

arr[0][0] → arr[0][1] → arr[0][2] → arr[1][0] → arr[1][1] → arr[1][2]

访问二维数组元素

通过双重索引访问元素,行和列下标从0开始:

intvalue=matrix[1][2];// 访问第二行第三列

注意事项

  • 初始化时列数必须显式指定,行数可省略。
  • 越界访问会导致未定义行为。
  • 动态二维数组需通过指针或动态内存分配实现。