数组与指针优秀课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
if(arr[i]<low) low=arr[i]; } cout<<"highest value is "<<high<<endl; cout<<"lowest value is "<<low<<endl; return 0;}
2020/11/13
计算机基础教研室
11
数组与数组元素及其存储方式
结构数组定义:
2020/11/13
计算机基础教研室
7
数组元素的初始化 在定义数组的同时赋以初始值称为初始化
【 存储类别 】 元素类型 数组名[【长度】]【 [ 长度 ]】……={ 初始数据表 };
此时第一维的长度可以省略,但[ ]不能省! 初始数据表可以是:数据【,数据】……
还可以适当加{ } 如:int a[5]={1,2,3,4,5};
8
数组与数组元素及其存储方式
数组元素的访问方式:
通过下标操作符(subscript),按元素 在数组中的位置进行访问,称为索引访 问(indexing)或下标访问 (subscripting)。参见图5.1 。
fibon[0] 0 fibon[1] 1 fibon[2] 2 fibon[3] 3
fibon[8] 21 fibon[9] 34
长度 必须是正整型常数或整型常量表达式
只有一个 [长度] 的数组为一维数组,有两个 [长度] 的 数组为二维数组,……,有n个 [长度] 的数组为n维数组。
存储类别可以是auto、static、extern,缺省时为auto
2020/11/13
计算机基础教研室
5
例如:
int a[10]; float b[3][4]; int c[10],d[10][20],e[3][4][5];
……}; 当提供了数组中所有结构值时,不必用这种括号的形式。 keyword keytab[]={"auto", 0,"break", 0,"case", 0,"char", 0,
……"unsigned", 0,"volatile", 0,"while", 0,};
2020/11/13
计算机基础教研室
int a[5]={1,2,3};
int b[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int b[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int b[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
in2t02b0/1[13/1]3[4]={{1,2,3},计{5算,6机},基{9础,10教,1研1室,12}};
图5.1 数组在内存中的存储
2020/11/13
计算机基础教研室
9
数组与数组元素及其存储方式
注意: 1: 数组是一种组合类型,是不能作为一个整体进行访问和
处理的,只能按元素进行个别的访问和处理。 2: C++数组第一个元素的下标为0,而不是1,且下标表
达方式是固定的。 3:数组元素在内存中是从低地址开始顺序排列,各元素的
数组与指针优秀课件
本章重点
本章将深入学习数组包括多维数组的知识和 应用,以及它们与指针的关系。
C++语言拥有在运行时获得变量地址和操纵地 址的能力,这种可用来操纵地址的变量类型就是 指针。指针可以用于数组,用于内存访问,还可 作为函数的参数。
2020/11/13
计算机基础教研室
2
数组
5.1.1 数组、数组元素及其存储方式 5.1.2 数组名作为函数参数
12
数组与数组元素及其存储方式
对象数组定义:
CGoods goods[3]; 该商品类对象数组包含3个商品对象数组元素,系统调用3次默认的
则:a数组的下标在0~9之间
B数组的第一维(行)下标在0~2之间,第二维(列)下标在 0~3之间
其他以次类推。
2020/11/13
计算机基础教研室
6
数组元素的引用 数组名[ 下标 ]【 [ 下标 ] 】……
~ 下标 必须介于 0 长度-1 之间,可以是整型表达式
如:a[3] b[2][2]
一个数组元素等价于一个简单变量
下标变量
下标变量名相同、下标个数也相同、类型也相同的一组下
标变量的集合称为数组。含有一个下标的数组为一维数组,含 有两个下标的数组为二维数组,…………
2020/11/13
计算机基础教研室
4
数值型数组
数组的定义
【 存储类别 】 元素类型 数组名[ 长度 ]【 [ 长度 ] 】……;
【 】表示【 】中的内容可省略 【 】…… 表示【 】中的内容可重复0~n次
<<" random numbers :"<<endl; for (i=0;i<SIZE;i++) cout<<arr[i]<<'\t'; cout<<endl; high=arr[0]; //初始化时最大和最小值均为数组首元素 low=arr[0]; for(i=1;i<SIZE;i++){if(arr[i]>high) high=arr[i];
存储单元占用内存大小相同,各元素的存储单元之间没有空隙, 可以从数组第一个元素存储单元的起始地址计算出任意一个元 素存储单元的起始地址。
2020/11/13
计算机基础教研室
10
【例 5.1】找最大数和最小数
const int SIZE=15; int main(){
int arr[SIZE], i,high,low; for (i=0;i<SIZE;i++) arr[i]=rand()%100; cout << "Here are the " <<SIZE
struct keyword { char word[16]; //关键字 int count; //该关键字将在源程序中出现的次数 };
初始化:
结构数组初始化时可以用括号来区分每一个结构,例如: keyword keytab[]={{"auto", 0},{"break", 0},{"case", 0},
2020/11/13
计算机基础教研室
3
数组的概念
数组的引入:
数组(array)是一种顺序容器(sequence container),是
由单一类型元素组成的一个有序集合:
int fibon[10]={0,1,1,2,3,5,8,13,21,34};
来自百度文库
a a1,a2,a3,…………,an
下标变量名
i
脚标(下标)
相关文档
最新文档