第九讲 结构体共用体链表.ppt
《第九讲 结构体共用体链表.ppt》由会员分享,可在线阅读,更多相关《第九讲 结构体共用体链表.ppt(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、6.4.1 结构体结构体 结构体概述结构体概述 定义结构体类型和变量定义结构体类型和变量结构体变量的引用结构体变量的引用 结构体数组结构体数组结构体类的指针结构体类的指针6.4.1 6.4.1 结构体概述结构体概述结构体概述结构体概述 一组相关的不同数据类型的数据项,可作一个整体来一组相关的不同数据类型的数据项,可作一个整体来一组相关的不同数据类型的数据项,可作一个整体来一组相关的不同数据类型的数据项,可作一个整体来处理。处理。处理。处理。C C中称结构体类型数据中称结构体类型数据中称结构体类型数据中称结构体类型数据。uu下例中定义了结构体类型下例中定义了结构体类型下例中定义了结构体类型下例中
2、定义了结构体类型studentstudent和结构体变量和结构体变量和结构体变量和结构体变量stu1,stu2stu1,stu2。uu前者是数据类型,后者是变量。前者是数据类型,后者是变量。前者是数据类型,后者是变量。前者是数据类型,后者是变量。结构体类型结构体类型结构体类型结构体类型studentstudent结构体变量结构体变量结构体变量结构体变量st1st1结构体变量结构体变量结构体变量结构体变量st2st2定义结构体的类型定义结构体的类型定义结构体类型定义结构体类型一般形式一般形式:struct 结构体类型名结构体类型名 变量类型变量类型 变量名;变量名;变量类型变量类型 变量名;变量
3、名;变量类型变量类型 变量名;变量名;结构变量名表结构变量名表;注意:注意:“结构类型名结构类型名”和和“结构变量名表结构变量名表”,可省略一个。可省略一个。关键字关键字关键字关键字structstruct和它后面和它后面和它后面和它后面的结构体类型名一起组的结构体类型名一起组的结构体类型名一起组的结构体类型名一起组成一个新的数据类型名成一个新的数据类型名成一个新的数据类型名成一个新的数据类型名 例例例例 structstruct student student intint num;num;char name20;char name20;char sex;char sex;intint ag
4、e;age;float score;float score;namenumsexagescore2字节字节2字节字节20字节字节1字节字节4字节字节结构体类型定义描述结构结构体类型定义描述结构的组织形式的组织形式,不分配内存不分配内存例子图解例子图解定义结构体的变量定义结构体的变量定义结构体变量定义结构体变量1.定义结构体的同时定义定义结构体的同时定义struct student .st1,st2;2.先定义结构体,后定义结构体变量先定义结构体,后定义结构体变量 例:例:struct student .;struct student st1,st2;3.直接定义直接定义 例:例:struct
5、.st1,st2;在在struct 后不出现结构体类型名后不出现结构体类型名例例例例 structstruct student student intint num;num;char name20;char name20;char sex;char sex;intint age;age;char addr30;char addr30;structstruct student stu1=112,“Wang Lin”,M,19,“200 Beijing Road”;student stu1=112,“Wang Lin”,M,19,“200 Beijing Road”;结构体变量的初始化结构体变量的
6、初始化例例例例 structstruct student student intint num;num;char name20;char name20;char sex;char sex;intint age;age;char addr30;char addr30;stu1=112,“Wang Lin”,M,19,“200 Beijing Road”;stu1=112,“Wang Lin”,M,19,“200 Beijing Road”;例例 struct int num;char name20;char sex;int age;char addr30;stu1=112,“Wang Lin”,
7、M,19,“200 Beijing Road”;引用规则引用规则引用规则引用规则 结构体变量不能整体引用结构体变量不能整体引用结构体变量不能整体引用结构体变量不能整体引用,只能引用变量成员只能引用变量成员只能引用变量成员只能引用变量成员可以将一个结构体变量赋值给另一个结构体变量可以将一个结构体变量赋值给另一个结构体变量 例如:例如:tomorrw=today;引用方式:引用方式:引用方式:引用方式:结构体变量名结构体变量名结构体变量名结构体变量名.成员名成员名成员名成员名6.4.2 结构体变量的引用结构体变量的引用输入今天的日期,然后输出该日期。输入今天的日期,然后输出该日期。输入今天的日期,
8、然后输出该日期。输入今天的日期,然后输出该日期。main()main()struct date struct date /*/*定义结构类型定义结构类型定义结构类型定义结构类型date*/date*/int year int year;intint monthmonth;intint day;day;struct date todaystruct date today,tomorrowtomorrow;/*/*说明结构变量说明结构变量说明结构变量说明结构变量today*/today*/scanf(%d%d%d,&today.year,&today.month,&today.day);scanf
9、(%d%d%d,&today.year,&today.month,&today.day);printf(%d.%d.%dn,today.year,today.month,today.day);printf(%d.%d.%dn,today.year,today.month,today.day);struct student int num;char name20;char sex;struct date birthday;float score;stu1,stu2;struct date int month;int day;int year;结构体嵌套时逐级引用结构体嵌套时逐级引用对上面定义的结
10、构变量对上面定义的结构变量对上面定义的结构变量对上面定义的结构变量stu1stu1,可以这样访问各个成员:可以这样访问各个成员:可以这样访问各个成员:可以这样访问各个成员:stu1.numstu1.numstu1.namestu1.namestu1.sexstu1.sexstu1.birthday.monthstu1.birthday.monthstu1.birthday.daystu1.birthday.daystu1.birthday.yearstu1.birthday.year6.4.3 结构体类的指针结构体类的指针指向结构体类变量的指针指向结构体类变量的指针 指向结构体类变量的指针就是
11、该变量所占用的指向结构体类变量的指针就是该变量所占用的内存区段的首址。内存区段的首址。例例:struct student int num;char name3;char sex;float score;st1,st2,st3;struct student *p=&st1;printf(“%d,%s”,st1.num,st1.name);printf(“%d,%s”,(*p).num,(*p).name);printf(“%d,%s”,p-num,p-name);numnumnamenamesexsexscorescore:2 2A00HA00Hst1st16.4.32.结构体数组与结构体数组与
12、指向结构体类数组的指针指向结构体类数组的指针结构体类型也可以定义数组结构体类型也可以定义数组每个下标变量每个下标变量stui 都有结构体类型都有结构体类型student 的各个分量;的各个分量;指向结构体类数组的指针就是该数组所占用的内存区段的指向结构体类数组的指针就是该数组所占用的内存区段的指向结构体类数组的指针就是该数组所占用的内存区段的指向结构体类数组的指针就是该数组所占用的内存区段的首址。首址。首址。首址。例例:struct student int num;char name3;char sex;float score;st30=;struct student *p;for(p=st;
13、pnum,p-name);:st0st1st2st3:6.4.4 6.4.4 结构指针作为函数的参数结构指针作为函数的参数结构指针作为函数的参数结构指针作为函数的参数 结构类型指针作为函数的参数可以实现从函数返回多个值。结构类型指针作为函数的参数可以实现从函数返回多个值。struct person char *name;/*pp子函数给结构的各成员赋值子函数给结构的各成员赋值*/int nq;void void pp(structpp(struct person*y)person*y)float s;y-name=“y-name=“gongdagongda”;”;y-y-nqnq=100;=1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第九讲 结构体共用体链表 第九 结构 共用 体链表
限制150内