文档介绍:7 数组
1
C++程序设计课件设计制作:徐龙琴
掌握数组的基本概念;
熟练掌握一维数组和二维数组的使用方法;
掌握字符数组与字符串的关系
会分析、编写利用数组进行数据存储和处理的简单程序。
本章要点:
2
C++程序设计课件设计制作:徐龙琴
§数组的概述
⒈数组的概念
数组是具有一定顺序关系的若干相同类型变量的集合体,组成数组的变量称为该数组的元素。
数组属于构造类型。
2 是一个数组的所有元素的类型必须是相同的。
1 数组元素的个数必须是确定的,但元素值是可变的;
⒉数组有两个特点:
3
C++程序设计课件设计制作:徐龙琴
⒊数组的分类:
按数组元素类型分:
数值数组:
字符数组:
指针数组:
int a[8],b[4]={2,4,5,9};
char c[ ]=“Thank”;
* d[3];
按维数来分:
一维数组:
二维数组:
多维数组:
int m[2][2]={2,4,5,9};
int a[8],b[4]={2,4,5,9};
int n[2][2][2];
4
C++程序设计课件设计制作:徐龙琴
例: 存储学生成绩用实型数组 mark[100],
存储一行文字用字符数组 str[200],
存储一个4*6的矩阵用二维整型数组 a[4][6]。
其中:①mark、str、a 是数组名。数组名是数组的首
地址,是一个地址常量。
②[ ] 称为下标运算符。
③下标运算符的个数称为数组的维数
④数组的成员称为数组元素:mark[0],mark[1]
⑤数组元素的类型称为该数组的基类型。
5
C++程序设计课件设计制作:徐龙琴
数组元素在内存里顺序存放
一维数组的存放:
⒋数组元素在内存的存放形式
每个数据元
素占用的字节
数,就是基类
型的字节数
mark[0]
mark[1]
mark[2]
mark[3]
.
.
.
mark[99]
.
.
.
低地址
高地址
6
C++程序设计课件设计制作:徐龙琴
b[0][0]
b[0][1]
b[0][2]
b[1][0]
b[1][1]
b[1][2]
1
2
3
4
5
6
3000H
3002H
3004H
3006H
3008H
300AH
例如:整型数组 b
b[2][3]={ {1,2,3},
{4,5,6} };
多维数组的元素按行顺序存放。
二维数组的存放:
地址值数组元素
先存放第 1 行的所有元素,再存放第 2 行的所有元素。
7
C++程序设计课件设计制作:徐龙琴
int a[4]={2,4,5,9};
————————
————————
2
4
9
内存空间
————————
————————
5
————————
:
:
:
:
内存地址
3000
3002
3004
3006
数组a
a[0]
a[1]
a[2]
a[3]
例:
8
C++程序设计课件设计制作:徐龙琴
§一维数组
⒈一维数组定义格式:
数组同变量一样,也必须先定义、后使用
存储类型数据类型数组名[常量表达式]
存储类型:可以是:auto、static、extern,但不能是register,
缺省值为auto 。
数据类型:可以是基本类型、复合类型,但不能是引用。
数组名:是标识符,是数组元素在内存中的起始地址,它是地址常量
常量表达式:指是数组的元素个数(又称数组长度),是一个
整型值,包含常数和符号常量,但不能包含变量
9
C++程序设计课件设计制作:徐龙琴
① float a[0]; /* 数组大小为0没有意义*/
② int b(2)(3); /* 不能使用圆括号*/
③ int k, a[k]; /* 不能用变量说明数组大小*/
④ int n;
scanf (”%d”, &n);
int a[n];
例:数组的定义中常见的错误:
10
C++程序设计课件设计制作:徐龙琴