欢迎来到天天文库
浏览记录
ID:45062188
大小:2.06 MB
页数:59页
时间:2019-11-08
《c语言教学第十章结构体与共用体》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第十章结构体与共用体天津工业大学计算机科学与软件学院主讲:孙连坤slk300@126.com结构体与共用体学习的意义C数据类型构造类型指针类型空类型void定义类型typedef枚举类型enum数组结构体struct共用体union基本类型字符类型char浮点型单精度型float双精度型double整型短整型short长整型long整型int只能定义单一的数据类型,反映事物单一属性能定义复杂的数据类型,反映事物多个属性复杂数据类型丰富了C语言对数据信息的处理能力。离开了复杂数据类型,很多信息的描述是无法进行定义,更无法进行处
2、理的。计算机中的信息表示更多是由复杂数据类型来定义的,象《数据结构》课程中的链表、树、图等。可以更好地理解数据库中的记录的含义。为C++语言中类的概念的理解提供了帮助。学习目标结构体与共用体熟练掌握结构体、共用体和枚举数据类型的定义方法;熟练掌握结构体、共用体和枚举变量的定义和引用方法;掌握结构数组的定义及其应用;了解线性链表的创建、插入节点、删除节点和撤销节点的算法;结构体和共用体学习内容结构体01线性链表02枚举类型04共用体03结构体结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体-------自定义数据类
3、型引入结构体的好处:加强数据项之间的联系如学生的基本信息,包括学号、姓名、性别、年龄、班级、成绩等数据项。这些数据项描述了一个学生的几个不同侧面。nonamesexageclassnograde独立的变量表示:数据项之间无关联nonamesexageclassnograde结构体变量表示:数据项为一个整体charno[9];//学号charname[20];//姓名charsex;//性别unsignedintage;//年龄unsignedintclassno;//班级floatgrade;//成绩结构体1、结构体类型的定
4、义struct[结构体类型名]{数据类型名1成员名1;数据类型名2成员名2;……数据类型名n成员名n;};struct是关键字,不能省略合法标识符可省:无名结构体成员类型可以是基本型或构造型以分号;结尾structStudent_Info{charno[9];//学号charname[20];//姓名charsex;//性别unsignedintage;//年龄unsignedintclassno;//班级floatgrade;//成绩};structDate{intyear;//年intmonth;//月intday;//
5、日};结构体在结构体中数据类型相同的成员,既可逐个、逐行分别定义,也可合并成一行定义,就象一次定义多个变量一样。structStudent_Info{charno[9];//学号charname[20];//姓名charsex;//性别unsignedintage;//年龄unsignedintclassno;//班级floatgrade;//成绩};structStudent_Info{charno[9],name[20],sex;unsignedintage,classno;floatgrade;};structDate
6、{intyear;//年intmonth;//月intday;//日};structDate{intyear,month,day;};注意:结构类型只是用户自定义的一种数据类型,用来定义描述结构的组织形式,不分配内存,只有用它来定义某个变量时,才会为该变量分配结构类型所需要大小的内存单元。所占内存的大小是它所包含的成员所占内存大小之和。结构体structStudent_Info{charno[9],name[20],sex;unsignedintage,classno;floatgrade;};structStudent_I
7、nfostudent;2、结构体变量的定义和引用struct结构体类型名{数据类型名1成员名1;……数据类型名n成员名n;};struct结构体类型名变量名列表;结构体变量的定义间接定义法:先定义结构类型,再定义结构变量……9字节20字节1字节2字节2字节4字节nonamesexageclassnograde内存映像结构体structstudent;structStudent_Infostudent1,student2;一次定义多个结构体类型变量定义指向结构体类型的指针变量structStudent_Info*pstu;间接
8、定义法中几种错误的结构体变量的定义方法没有结构体类型名Student_Infostudent;缺省struct关键字structPointp;structPoint{intx,y;};结构类型Point定义在后结构体2、结构体变量的定义和引用struct[结构体类型名]{数据类型名1成员名
此文档下载收益归作者所有