欢迎来到天天文库
浏览记录
ID:59195314
大小:274.00 KB
页数:46页
时间:2020-09-26
《第08章 结构体、共用体和枚举类型ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章结构体、共用体和枚举类型本章要点了解结构了解关于结构的各种操作理解怎样使用结构操作数据理解结构和函数之间的关系、掌握结构作为参数传递与返回结构的函数方法理解结构中数组的用法理解怎样创建结构数组了解共用体的特点了解枚举类型问题的提出学号姓名年龄性别成绩1成绩2平均成绩1AA19M8090902BB18F7870733CC17M8175794DD18F8060755EE19M768383每行的数据类型不相同,如何表示此二维数据?如何交换两行值?能否将一行看成一个整体?定义一种类型,把不同的数据作为一个整体来处理——结构体数据类型数组------有相同类型的数据集合结构体------不
2、同类型的数据集合构造数据类型:由简单数据类型(int、float、char)组合而成的(有机整体)数据类型。基本类型:整型、实型、字符型.......主要内容结构体类型的定义结构体类型的变量和结构体类型数组共用体枚举类型结构体类型的定义定义了一种新的数据类型struct结构体名或结构体名struct结构体名{数据类型成员名1数据类型成员名2.............................数据类型成员名n};可为简单类型也可为构造类型关键字不能少成员列表例以学生档案为例,假设包括如下数据项学号(num):整型姓名(name):字符串性别(sex):字符型出生日期(birthday
3、):date结构体四门课成绩(sc):一维实型数组例依此格式定义上例structdate{intyear,month,day;};structstudent{intnum;charname[12];charsex;datebirthday;floatsc[4];};如structdate没事先说明可写成:structstudent{intnum;charname[12];charsex;struct{intyear;intmonth;intday;}birthday;floatsc[4];};例例1:一组相关变量定义结构体类型新数据类型结构体成员intmonth;intday;intye
4、ar;structdate{intyear;intmonth;intday;};charname[30];structwagefloatsalary;{charname[30];floatsalary;};不同数据类型的成员例2:一组相关变量定义结构体类型说明(1)结构体类型是一种构造数据类型,它与int,char,float等系统定义的基本数据类型具有同等地位,是由用户自行定义的。(2)结构体类型不分配任何存储空间。相应结构体类型的变量、数组及动态开辟的存储单元占存储空间。构造的数据类型可以用来定义变量结构体类型的变量和数组的定义方法先定义结构体类型,再单独进行定义在定义类型的同时定义
5、结构体变量在定义一个无名结构体类型的同时,直接进行定义方法一先声明结构体类型再定义结构体变量struct结构体名{成员列表};struct结构体名变量名列表;或结构体名变量名列表例structstudent{intnum;charname[12];charsex;datebirthday;floatsc[4];};structstudentstd,pers[3];或studentstd,pers[3];std:结构体变量pers:结构体数组,(三个元素均为结构体类型变量)变量std的结构numnamesexyearmonthdaysc[0]sc[1]sc[2]sc[3]birthday注
6、意:各成员按顺序排列方法二在声明类型的同时定义结构体变量structstudent{intnum;charname[12];charsex;structdatebirthday;floatsc[4];}std,pers[3];struct结构体名{成员列表}变量名列表;struct{intnum;charname[12];charsex;datebirthday;floatsc[4];}std,pers[3];方法三直接定义结构体变量struct{成员列表}变量名列表;无结构体名结构体类型的几点说明结构体中的成员可以象变量一样使用。成员名可以与程序中的变量同名结构体中的成员也可为结构体变
7、量类型与变量是完全不同的概念。先定义结构类型,再定义变量为该类型。类型:不可赋值、存贮、运算;系统不分配空间。变量:可赋值、存贮、运算;系统要分配空间。结构体类型变量初值structstudent{intnum;charname[12];charsex;datebirthday;floatsc[4];}std={10101,"LiMing",'M',1962,5,10,88,76,85.5,90};注意:一一对应赋初值,不允许跳跃赋
此文档下载收益归作者所有