资源描述:
《C语言程序设计 教学课件 作者 王玉 第九章结构体与共用体.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章---结构体与共用体1C语言程序设计结构体类型与结构体变量structstudent{intnum;charname[20];charsex;intage;floatscore;charaddr[30];};structstudentstu1,stu2;struct结构体名{类型标识符成员名;类型标识符成员名;…………….};struct结构体名变量名表列;2C语言程序设计结构体变量的引用和初始化结构体变量不能整体引用,只能引用变量成员引用方式:结构体变量名.成员名可以将一个结构体变量赋值给另一个结构体
2、变量结构体嵌套时逐级引用3C语言程序设计例structstudent{intnum;charname[20];structdate{intmonth;intday;intyear;}birthday;}stu1,stu2;numnamebirthdaymonthdayyearstu1.birthday.month=12;4C语言程序设计结构体数组structstudent{intnum;charname[20];charsex;intage;}stu[2];numnamesexagenumnamesexage
3、stu[0]stu[1]25B5C语言程序设计例:统计后选人选票structperson{charname[20];intcount;}leader[3]={“Li”,0,“Zhang”,0,”Wang“,0};main(){inti,j;charleader_name[20];for(i=1;i<=10;i++){scanf("%s",leader_name);for(j=0;j<3;j++)if(strcmp(leader_name,leader[j].name)==0)leader[j].count++
4、;}for(i=0;i<3;i++)printf("%5s:%d",leader[i].name,leader[i].count);}namecountLiZhangWang0006C语言程序设计指向结构体数据类型的指针定义形式:struct结构体名*结构体指针名;引用方式:1、结构体名.成员名2、(*p).成员名3、p->成员名几种运算:1、p->n得到p指向的结构体变量中的成员n的值2、p->n++得到p指向的结构体变量中的成员n的值,用完后使之加13、++p->n得到p指向的结构体变量中的成员n的值
5、使之加17C语言程序设计指向结构体变量的指针main(){structstudent{longintnum;charname[20];charsex;floatscore;}stu_1,*p;p=&stu_1;stu_1.num=89101;strcpy(stu_1.name,"LiLin");p->sex='M';p->score=89.5;printf("No:%ldname:%ssex:%cscore:%f",(*p).num,p->name,stu_1.sex,p->score);
6、}8C语言程序设计指向结构体数组的指针numnamesexagestu[0]pstu[1]stu[2]p+1P加1指p所增加的值为结构体数组的一个元素所占的字节structstudent{intnum;charname[20];}stu[2]={{10101,"LiLin",'M',18},{10102,"Zhangli",'M',19}};p=stu;p++;9C语言程序设计structstudent{intnum;charname[20];charsex;intage;}stu[3]={{10101,"L
7、iLin",'M',18},{10102,"Zhangli",'M',19},{10104,"WangMin",'F',20}};main(){structstudent*p;for(p=stu;pnum,p->name,p->sex,p->age);}10C语言程序设计structstudent{intnum;charname[20];charsex;intage;}stu={10104,"WangMin",'F',20};voidprin
8、t(structstudentstu){printf(“%d%s%c%d”,stu.num,stu.name,stu.sex,stu.age)}main(){print(stu);}用结构体变量作函数参数11C语言程序设计用结构体指针变量作函数参数structstudent{intnum;charname[20];charsex;intage;}stu={10104,"WangMin",'F',20