第十四章_结构体 共用体和用户定义的类型.pptVIP

第十四章_结构体 共用体和用户定义的类型.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十四章_结构体 共用体和用户定义的类型

结构体:是一种自定义 的 构造数据类型。 用途:把不同类型的数据组合成一个整体。 14.1.2 结构体变量 1、结构体变量的定义 (1)、先定义结构体类型,再定义结构体变量 一般形式: (2)、定义结构体类型的同时定义结构体变量 一般形式: 2、结构体变量的初始化 和其他类型的变量相同,在定义结构体变量时赋初值 形式一: 3 结构体变量的引用 引用规则 结构体变量不能整体引用,只能引用变量成员 指针引用结构体变量中数据 指针变量名-成员名 (*指针变量名).成员名 struct student { char name[12]; char sex; struct date birthday; float sc[4]; }std,arr[5],*ps; ps=std; 引用结构体变量std中的sex成员,可写作: std.sex ps-sex (*ps).sex 14.1.3 结构体数组 1、结构体数组的定义和初始化 定义:三种形式: 初始化:与其他类型的数组赋初值的方法相同 14.2 向函数传递结构体型数据 1.向函数传递结构体变量的成员 普通变量作函数的实参的用法相同,形参与实参之间仍然是“值传递”的方式。 2.向函数传递结构体变量 ANSI C允许函数之间传递结构体变量。若实参是结构体变量,那么形参也应是同类型的结构体变量。 3.向函数传递结构体数组名 若实参是结构体数组名,那么形参也应是同类型的结构体变量。 #include stdio.h typedef stuct { int num; double mark; }REC; void sub1(REC x){x.num=23;x.mark=81.5;} void sub2(REC y[]){y[0].num=12;y[0].mark=77.5;} main() { REC a={16,90.0}, b[]=16,90.0}; sub1(a); printf(“A)%d,%5.1lf\n”,a.num,a.mark); sub2(b); printf(“B)%d,%5.1lf\n”,b[0].num,b[0].mark); } 结果: 16, 90.0 12,77.5 读入五位用户的姓名和电话号码,按姓名字典顺序排序后,输出用户的姓名和电话号码. #include stdio.h #include string.h #define N 5 typedef struct { char name[20]; char num[10]; }USER; void getdata(USER *sp); void getsort(USER *sp); void outdata(USER *sp); main() { USER sp[N]; getdata(sp); getsort(sp); outdata(sp); } void getdata(USER *sp) { int i; printf(“Enter name phone number:\n”); for(i=0;iN;i++) { gets(sp[i].name); gets(sp[i].num);} } void getsort(USER *sp) { int i,j,k; USER temp; for(i=0;iN-1;i++) {k=i; for(j=i+1;jN;j++) if(strcmp(sp[k].name,sp[j].name)0) k=j; temp=sp[k]; sp[k]=sp[i];sp[i]=temp; } } void outdata(USER *sp) { int i; printf(“after sort:\n”); for(i=0;iN;i++) printf(“%s,%s\n”,sp[i].name,sp[i].num); } 14.3 共用体 有时需要将几个不同时出现的变量共享一个内存单元.如:将一个整型变量、实型变量、字符型变量共同放入同一个地址空间(当然这几个变量不能同时用),怎么办?C提供了共用体(联合体)类型支持。 14.3.1 共用体类型 14.5、结构体指针的使用 1.链表。 链表的建立、遍历、查找、插入、删除操作 链表 什么是链表?

文档评论(0)

l215322 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档