《C语言程序设计教程》电子教案-李淑华 第16讲 结构体与共用体

上传人:E**** 文档编号:89400389 上传时间:2019-05-24 格式:PPT 页数:9 大小:43KB
返回 下载 相关 举报
《C语言程序设计教程》电子教案-李淑华 第16讲   结构体与共用体_第1页
第1页 / 共9页
《C语言程序设计教程》电子教案-李淑华 第16讲   结构体与共用体_第2页
第2页 / 共9页
《C语言程序设计教程》电子教案-李淑华 第16讲   结构体与共用体_第3页
第3页 / 共9页
《C语言程序设计教程》电子教案-李淑华 第16讲   结构体与共用体_第4页
第4页 / 共9页
《C语言程序设计教程》电子教案-李淑华 第16讲   结构体与共用体_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《《C语言程序设计教程》电子教案-李淑华 第16讲 结构体与共用体》由会员分享,可在线阅读,更多相关《《C语言程序设计教程》电子教案-李淑华 第16讲 结构体与共用体(9页珍藏版)》请在金锄头文库上搜索。

1、10.5 结构体数组,10.5.1结构体数组的定义,(1)先定义结构体类型再定义结构体数组。 如: struct student int num; char name20; char sex; int age; float score; char addr30; ; struct student stu3;,(2)直接定义一个结构体数组。 如: struct student int num; stu3; 或: struct int num; stu3;,Stu0,Stu1,Stu2,10.5.2 结构体数组的初始化,结构体数组初始化的一般形式是在定义数组的后面加上=初值列表; 如: struc

2、t student int num; struct student stu =-,-,-,-;,注意:此处有“;”号和无“;”号的区别。,10.5.3 举例,例10.3 对选举人得票的统计程序。设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出每人得票结果。程序如下: struct person char name20; int count; leader3=“Li”,0,”Zhang”,0,”Wang”,0; main() int I,j; char name20; for(i=1;i=10;i+) scanf(“%s”,name); for(j=0;j3;j+) if(strcm

3、p(name,leaderj.name)leaderj.count+; printf(“n”); for(i=1;i3;i+) printf(“%5s:%dn”,leaderi.name,leaderi.count);,10.6 指向结构体类型数据的指针,一个结构体变量指针就是该变量所占据的内存起始地址。可以设一个指针变量,用来指向一个结构体变量,此时该指针变量的值是结构体变量的起始地址。指针变量也可以用来指向结构体数组中的元素。,10.6.1 指向结构体变量的指针,例10.4 main() struct student long int num; char name20; char sex;

4、 float score; ; struct student stu1; struct student *p; p= ,在C语言中,为了使用的方便和使之直观,可 以把(*p).num改用p-num来代替,即:p所指向的 结构体变量中的num成员。 以下三种形式等价: (1)结构体变量.成员名; (2)(*p).成员名; (3)p-成员名; 其中p-称为指向运算符。 P-n 得到p指向的结构体变量中的成员n的值。 P-n+1 得到p指向的结构体变量中的成员n的值,用完该值后使它加1。 +P-n 得到p指向的结构体变量中的成员n的值使之加1(先加)。,10.6.2 指向结构体数组的指针,对结构体数

5、组及其元素也可以用指针或指针变量来指向。 例10.5 struct student int num; char name20; char sex; int age; struct student stu3=99001,”Li Lin”,M,18,99002,”Zhang Fan”,M,19,99003,”Wang Min”,F,20; main() struct student *p; printf(“No. Name sex agen”); for(p=stu;pnum,p-name,p-sex,p-age);,注意: (1)如果p的初值为stu,即指向第一个元素,则p +1后指向下一个元素的起始地址。 例如: (+p)-num先使p自加1,然后得到它指向的元素中的num成员值(即99002) (p+)-num 先得到p-num的值(即99001),然后使p自加1,指向stu1。 (2)指针p已定义为指向struct student类型的数据,它只能指向一个结构体数据(也就是p的值是stu数组的一个元素的起始地址);而不能指向一个元素中的某一成员(即p 的地址不能中成员的地址)。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号