欢迎来到天天文库
浏览记录
ID:61836587
大小:212.50 KB
页数:52页
时间:2020-02-07
《第10讲结构体和链表.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第10讲结构体和链表10.1结构体类型的定义与变量说明10.2结构体类型变量的引用与初始化10.3结构体类型与数组10.4结构体类型与指针10.5结构体与函数10.6链表10.1结构体类型定义10.1结构体类型的定义与变量说明我们所处理的数据并非总是一个简单的整型、实型或字符型数据。如我们要处理的对象是学生,不可能孤立地考虑学生的成绩,而割裂学生成绩与学生其它属性之间的内在联系。学生的成绩、姓名、学号等是一组逻辑相关的数据,孤立地考虑这些属性,将导致操作的不便或逻辑错误。解决以上问题的方法就是引入结构体类型,将逻辑相关的数据有机
2、组合在一起,称之为结构体。一.结构体类型的定义struct结构体类型名{数据成员列表;};结构体类型的一般定义形式为:定义结构体类型的标识符用户命名的标识符结构体类型定义的结束符10.1结构体类型定义例10-1,一个学生的数据信息包含有学号、姓名、性别、年龄、成绩、住址,可将其定义为一个结构体类型:structstudent{longID;/*学生学号*/charname[10];/*学生姓名*/charsex;/*学生性别*/intage;/*学生年龄*/floatscore;/*学生成绩*/charaddr[30];/*学生
3、住址*/};结构体类型定义仅仅是定义了一个特定的复合数据类型,描述了这一类型数据的公共属性,为了在程序中使用该结构体类型的具体对象,还需要说明这种类型的变量。10.1结构体类型定义二.结构体类型变量的定义结构体类型变量定义的一般形式:struct结构体类型名结构体变量名;1.先定义结构体类型再定义结构体变量structstudentstu1,stu2;ID(4字节)stu1namesex(1字节)age(2字节)score(4字节)addr…………共10个字节共30个字节IDstu2……图10-1结构体变量的存储结构共51个字节
4、10.1结构体类型定义2.定义结构体类型的同时定义变量structstudent{longID;charname[10];charsex;intage;floatscore;charaddr[30];}stu1,stu2;10.1结构体类型定义3.直接定义结构体变量struct{longID;charname[10];charsex;intage;floatscore;charaddr[30];}stu1,stu2;结构体变量的三种形式可以任意选用。但在不同函数中定义说明同一类型的结构体变量时,用第三种方法不太方便,一般用第一种
5、和第二种定义形式。10.1结构体类型定义三.结构体类型的嵌套结构体类型的嵌套是指结构体的成员是一个结构体类型。若定义学生信息为结构体,其成员分别为:学号、姓名、性别、出生年月、成绩。其中出生年月包括出生的年、月、日三个数据,这些数据可以用另一个结构体类型表示。例如,定义student结构体。(1)先定义date结构体:structdate{intyear;intmonth;intday;};(2)再定义student结构体:structstudent{longID;charname[10];charsex;structdateb
6、irthday;floatscore;};10.1结构体类型定义10.2结构体类型变量的引用与初始化一.结构体类型变量的引用对一个结构体类型变量的引用是通过引用它的每一个成员来实现的。引用运算符有两个:.->其中,“->”为结构体指针运算符,引用一个结构体变量的成员有两种方法:结构体变量名、指向结构体的指针变量结构体成员运算符“.”在所有运算符中优先级最高.结构体变量不能作为一个整体进行输入输出,只能对其成员分别输出。10.2结构体变量引用用结构体变量名引用其成员的一般形式:结构体变量名.成员名其中,“.”称为结构体成员运算符,
7、将结构体变量名与成员名连接起来,它具有最高级别的优先级。结构体变量可以单独引用其成员,也可作为一个整体引用,还可以引用结构体变量或成员的地址。1.单独引用结构体变量的成员structclock{inthour,minute,second;};structdate{intyear,month,day;structclocktime;};structdatetoday;today.year=2004;today.month=4;today.day=12;today.time.hour=16;today.time.minute=47;
8、today.time.second=15;10.2结构体变量引用2.结构体变量作为一个整体引用结构体变量不可以作为整体进行输入输出,但可以作为函数的参数或返回值而被整体引用,也可以将一个结构体变量作为一个整体赋给另一个具有相同类型的结构体变量。structdat
此文档下载收益归作者所有