欢迎来到天天文库
浏览记录
ID:52372176
大小:264.56 KB
页数:35页
时间:2020-04-05
《《结构体和共用体》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第10章结构体与共用体主要内容结构体的定义结构体变量的定义结构体成员项的引用共用体类型和变量的定义共用体变量的引用7/22/20212背景不同类型的数据相互联系,需要统一处理基本数据类型和数组难以解决这类问题。如,某部门工作人员的基本情况表就是由若干不同属性的数据项组成的一个整体,每个工作人员的基本情况可以由这样一些数据项组成:编号(num)、姓名(name)、住址(address)、部门(department)、工资(salary)等如果使用大量的二维数组。数据结构的复杂化带来了程序结构的复杂化,使程序难于
2、设计,可读性降低,调试困难7/22/2021310.1结构体类型的定义结构体类型定义的一般形式为struct结构体类型名{数据类型成员名;数据类型成员名;...};7/22/20214某部门工作人员信息numnameaddressdepartmentsalary1001zhangDaXueRoad75accout2130.01002wangDaXueRoad75market1550.0…………………………7/22/20215结构体描述某部门工作人员信息structemployee{intnum;charnam
3、e[8];charaddress[200];chardepartment[20];floatsalary;};7/22/20216结构体描述个人通讯录姓名电话通讯地址E-mail出生日期年月日structcomm{charname[20];unsignedlongtel;charaddr[80];charemail[50];structbirthday{intyear;intmonth;intday;}bd1;};7/22/20217学生成绩表Numnamemathenglishpoliticscompute
4、rc200501zhang907080.58995……………………………………7/22/20218结构体描述学生成绩表structstu_info{longno;charname[8];floatmath,english,politics,computer,c;};7/22/20219注意类型与变量是不同的概念,不要混同char,float是类型,上面定义的结构体structemployee,structcomm也是类型只能对变量进行赋值、存取、运算,而对类型不能进行操作类型决定变量占用存储空间大小、变量的处
5、理方法7/22/20211010.2结构体变量的定义定义结构类型变量可以有下面三种方法(1)先定义结构类型再定义结构变量。一般定义形式为struct结构体名变量名1,…,变量名n;其中,结构体名是已经定义过的结构体标识符structemployeeemp1,emp2,emp3;structcommmycomm;定义了3个结构变量emp1,emp2和emp3,它们是structemployee类型的变量7/22/202111(2)定义结构类型时定义结构变量struct结构体名{数据类型成员名;数据类型成员名;.
6、..}变量名1,变量名2,…,变量名n;structemployee{intnum;charname[8];charaddress[200];chardepartment[20];floatsalary;}emp1,emp2,emp3;7/22/202112(3)直接定义结构类型变量struct{数据类型成员名;数据类型成员名;...}变量名1,变量名2,…,变量名n;struct{intnum;charname[8];charaddress[200];chardepartment[20];floatsala
7、ry;}emp1,emp2,emp3;7/22/202113结构体变量的存储每个结构体变量在内存中存放时,要占用连续的一段存储空间,其成员变量按结构类型说明的次序依次存放三个结构体变量emp1,emp2,emp3在内存中的存放形式7/22/20211410.3结构体变量的引用结构体变量成员的一般引用方法结构体变量名.成员变量名对在结构体变量中又嵌套了结构体引用的一般方法是结构体变量名.成员结构体变量名.成员变量名如:emp1.num,mycomm.tel,mycomm.birthday.year7/22/20
8、2115“.”运算符“.”是c语言成员运算符在所有运算符中,它的优先级最高mycomm.birthday.year是一个整体访问结构体变量的成员与访问同一个相应类型的变量一样,对结构体成员能进行什么操作完全取决于成员本身的类型7/22/202116【例10.4】设计表示复数的结构体类型,并求2个复数的和与积。#includestructcomplex{floatRealPart,I
此文档下载收益归作者所有