欢迎来到天天文库
浏览记录
ID:45034874
大小:925.50 KB
页数:93页
时间:2019-11-08
《C高级语言程序设计第4章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++高级语言程序设计第4章数组及其他自定义类型北京邮电大学信息与通信工程学院2021/7/16北京邮电大学信息与通信工程学院1第4章数组及其他自定义类型4.1数组数组基本概念、数组初始化、访问数组元素、字符型数组、多维数组4.2枚举类型枚举类型的定义、枚举型变量的定义及使用4.3结构类型结构类型的定义、结构变量的定义及初始化、结构变量的使用4.4联合类型联合类型的定义、联合型变量的定义及使用2021/7/16北京邮电大学信息与通信工程学院-2-4.1数组数组是具有一定顺序关系的若干相同类型变量的集合,组成数组的变量称为该数组的元素。数组属于构造类型。数组是实际编程中经常使用的一种数据结构
2、。2021/7/16北京邮电大学信息与通信工程学院-3-4.1.1数组定义及初始化1.一维数组的定义一维数组定义的语法形式类型标识符数组名[常量表达式];说明类型标识符:任何合法的类型标识符,用于说明数组元素的类型;数组名:程序员对该数组的命名,数组的命名规则同变量命名;方括号及常量表达式:用于说明该数组中元素的个数。2021/7/16北京邮电大学信息与通信工程学院-4-4.1.1数组定义及初始化例:10级119班30名同学“C++程序设计”课程的成绩intCscore[30];实验,测得一组电阻R随温度T变化的值floatRi[30];shortTc[30];2021/7/16北京邮电大
3、学信息与通信工程学院-5-4.1.1数组定义及初始化一维数组在内存中存储映射intscore[5];2021/7/16北京邮电大学信息与通信工程学院-6-4.1.1数组定义及初始化注意定义一个数组,系统为这个数组保留一定数量的连续内存单元,数组元素依次占用这一连续内存空间,这段内存空间起始地址的外部标识就是数组名;数组名是一个地址常量,禁止给数组名赋值;数组各元素用数组名及下标(或称索引值)来标识,score[0],score[1],…,score[4]分别表示数组的第1~5个元素;C语言和C++语言中,元素的下标从0开始计,数组元素的最大下标比元素个数少1,数组score最大下标对应的元
4、素是score[4],而不是score[5](访问越界);2021/7/16北京邮电大学信息与通信工程学院-7-4.1.1数组定义及初始化注意数组名表示数组在内存中的起始地址,可以将元素的下标理解为元素存放位置相对于数组名的偏移量,第i个元素score[i]的起始地址相对于数组的起始地址偏移了i个int型变量所占空间;每个元素可以视为一个同类型的变量,如score[i]可以视为一个整型变量;数组的每个元素占用空间大小与同类型变量占用的内存大小一样;数组占用的内存空间是其全部元素所占空间的总和,如果数组有N个元素,它所占的字节数可以通过以下方式得到:sizeof(数组名)或N*sizeof(
5、数组类型)。2021/7/16北京邮电大学信息与通信工程学院-8-4.1.1数组定义及初始化2.数组初始化在定义数组时,直接给出赋给数组元素的值,称为数组初始化。数组初始化语法形式类型标识符数组名[常量表达式]={以逗号隔开的初始化值};2021/7/16北京邮电大学信息与通信工程学院-9-4.1.1数组定义及初始化例:定义并初始化整型数组score[5]的语句为:intscore[5]={80,70,90,95,60};初始化列表中的数据依次赋给元素score[0]、score[1]、score[2]、score[3]、score[4]。注意不要丢掉语句最后的分号。2021/7/16北京
6、邮电大学信息与通信工程学院-10-4.1.1数组定义及初始化注意初始化数组时,给定的初始化数值不能比数组元素多,但可以比数组元素少;如果少,初始化列表中的初始值将从下标0开始依次分配给各元素,后面没有得到初始值的元素被初始化为0。doubled[10]={1.0,2.0};如果使用初始化列表,则表内至少包含一个初始值,否则编译将出现错误。如果没有初始化列表,即只定义不做初始化,一般在函数内部定义的自动局部数组,其各元素的值是随机值,使用时需要重新给数组元素赋值。2021/7/16北京邮电大学信息与通信工程学院-11-4.1.1数组定义及初始化如果在初始化列表中给定数组元素的全部值,可以省略
7、中括号中元素个数常量表示式。上述score数组的初始化也可以写成:intscore[]={80,70,90,95,60};此时,编译器自动计算出数组元素的个数为5,给score数组分配能够存放5个int型数据的连续空间。思考题:如何将一个在某函数内部定义的自动局部数组的所有元素都初始化为0?最简单的方法是什么?2021/7/16北京邮电大学信息与通信工程学院-12-4.1.1数组定义及初始化例4-1定义各种基本类型的数组
此文档下载收益归作者所有