当前课程知识点:C语言程序设计基础 > 4.数组 > 4.2 二维数组的定义及引用 > html
二维数组的定义和引用
二维数组的定义
数组只有一个下标,称为一维数组,其数组元素也称为单下标变量。在实际问题中有很多量是二维的或多维的,因此C语言允许构造多维数组。多维数组元素有多个下标,以标识它在数组中的位置,所以也称为多下标变量。
二维数组定义的一般形式是:
类型说明符 数组名[常量表达式1][常量表达式2]
其中常量表达式1表示第一维下标的长度,常量表达式2 表示第二维下标的长度。
在C语言中,二维数组是按行排列的。
二维数组元素的引用
二维数组的元素也称为双下标变量,其表示的形式为:
数组名[下标][下标]
其中下标应为整型常量或整型表达式。
数组说明的方括号中给出的是某一维的长度,即可取下标的最大值;而数组元素中的下标是该元素在数组中的位置标识。前者只能是常量,后者可以是常量,常量或表达式。
二维数组的初始化
二维数组初始化也是在类型说明时给各下标变量赋以初值。二维数组可按行分段赋值,也可按行连续赋值。
1) 按行分段赋值可写为:
int a[5][3]={ {80,75,92},{61,65,71},{59,63,70},{85,87,90},{76,77,85} };
2) 按行连续赋值可写为:
int a[5][3]={ 80,75,92,61,65,71,59,63,70,85,87,90,76,77,85};
这两种赋初值的结果是完全相同的。
对于二维数组初始化赋值还有以下说明:
1) 可以只对部分元素赋初值,未赋初值的元素自动取0值。
例如:
int a[3][3]={{1},{2},{3}};
是对每一行的第一列元素赋值,未赋值的元素取0值。 赋值后各元素的值为:
1 0 0
2 0 0
3 0 0
2) 如对全部元素赋初值,则第一维的长度可以不给出。
例如:
int a[3][3]={1,2,3,4,5,6,7,8,9};
可以写为:
int a[][3]={1,2,3,4,5,6,7,8,9};
3) 数组是一种构造类型的数据。二维数组可以看作是由一维数组的嵌套而构成的。设一维数组的每个元素都又是一个数组,就组成了二维数组。当然,前提是各元素类型必须相同。根据这样的分析,一个二维数组也可以分解为多个一维数组。C语言允许这种分解。
-1.1 C语言概述
--html
-1.顺序结构程序设计--1.1 C语言概述
-1.2 C语言中的数据类型
--html
-1.2 C语言中的数据类型--作业
-1.3 运算符和表达式
--html
--html
-1.3 运算符和表达式--作业
-1.4键盘输入和屏幕输出
--html
-1.4键盘输入和屏幕输出--作业
-2.1 算法
--2.1 算法
--html
-2.1 算法--作业
-2.2 关系运算符与逻辑运算符
--html
-2.2 关系运算符与逻辑运算符--作业
-2.3 实现分支结构的语句
--html
-2.3 实现分支结构的语句--作业
-随堂测验--作业
-3.1 循环控制结构
--html
-3.循环结构程序设计--3.1 循环控制结构
-3.2 流程的转移以及循环嵌套
--html
-3.循环结构程序设计--3.2 流程的转移以及循环嵌套
-3.3 计数、条件控制的循环
-3.循环结构程序设计--3.3 计数、条件控制的循环
-本章测试--作业
-4.1 一维数组的定义及引用
-- 一维数组的定义及引用
--html
-4.1 一维数组的定义及引用--作业
-4.2 二维数组的定义及引用
--Video
--html
-4.2 二维数组的定义及引用--作业
-4.3 字符数组
--Video
--html
-4.3 字符数组--作业
-本章测试--作业
-5.1 函数的定义、调用
--Video
--html
-5.1 函数的定义、调用--作业
-5.2 函数嵌套调用和递归调用
--html
-5.2 函数嵌套调用和递归调用--作业
-5.3 变量的时间空间
--html
-5.3 变量的时间空间--作业
-期中考试--作业
-本章测试--作业
-6.1 指针的概念
--指针的概念
--html
-6.1 指针的概念--作业
-6.2 指针的应用
--html
-6.2 指针的应用--作业
-本章测试--作业
-7.1 结构体
--Video
--html
-7.1 结构体--作业
-7.2 共用体
--7.2 共用体
-7.2 共用体--作业
-8.1 文件的指针
-8.1 文件的指针--作业
-8.2 文件的读写
-8.2 文件的读写--作业
-9..1综合实例
--综合实例
-9..1综合实例--作业