网站大量收购独家精品文档,联系QQ:2885784924

结构体、共用体和用户定义类型.pptVIP

  1. 1、本文档共49页,可阅读全部内容。
  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文档。上传文档
查看更多
#include stdio.h typedef struct { int a; char b; } ST; ST fun ( ST x) /*函数的返回值类型是结构体类型ST */ { x.a =99; x.b = S ; return x; } main() { ST y; y.a=0; y.b=A ; printf("y.a =%d y.b =%c\n", y.a, y.b ); y=fun ( y); printf("y.a =%d y.b =%c\n", y.a, y.b ); } 例14 .3 通过函数返回结构体类型的值? y.a=0 y.b=A y.a=99 y.b=S 结果 5 .函数的返回值是结构体类型 #include stdio.h typedef struct { int a; char b; } ST; ST *fun ( ST x) /*函数的返回值是ST *类型*/ { ST *px; x.a =100; x.b = C ; px =x; return px; } main() { ST y, * p; y.a =999; y.b = X ; printf("y.a =%d y.b =%c\n", y.a, y.b ); p =fun ( y ); printf("(* p).a =%d (* p).b =%c\n", (* p).a, p-b ); } 例14 .4 通过函数的返回值返回指向结构体变量的指针? y.a =999 y.b =X (* p).a =100 (* p).b =C 结果 6 .函数的返回值可以是指向结构体变量的指针类型 #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 ); } 例14 .5 读入五位用户的姓名和电话号码,按姓名的字典顺序排列后,输出用户的姓名和电话号码? 第一页 6 .函数的返回值可以是指向结构体变量的指针类型 void getdata ( USER *sp ) { int i; printf ("Enter name phone number :\n"); for ( i =0; i N; i++){ gets( sp[ i].name ); gets( sp[ i].num ); } } void outdata ( USER *sp ) { int i; printf ("after sorted :\n"); for ( i =0; i N; i++) printf ("% s, % s\n", sp[ i].name, sp[ i].num ); } 例14 .5 读入五位用户的姓名和电话号码,按姓名的字典顺序排列后,输出用户的姓名和电话号码? 第二页 6 .函数的返回值可以是指向结构体变量的指针类型 void getsort ( USER *sp ) { int i, j, k; USER temp; for ( i =0; i N-1; i++) /*按成员name的大小重新排列sp数组的元素*/ { k =i; for ( j =i +1; j N; j++) if ( strcmp ( sp[ k].name, sp[ j].name) 0) k =j; temp =sp[ k]; sp[ k] = sp[ i]; sp[ i] = temp; /*结构体整体赋值*/ } } 例14 .5 读入五位用户的姓名和电话号码,按姓名的字典顺序排列后,输出用户的姓名和电话号码? 第三页 6 .函数的返回值可以是指向结构体变量的指针类型 当一个结构体中有一个或多个成员的基类型就是本结构体类型时,把这种结构体称为可以“引用自身的结构体”? 例如: struct link { char ch; struct link *p; } a; 在这里, p是一个可以指向struct link类型变量的指针成员,因此, a.p =a是合法的表达式,由此构成的存储结构如

文档评论(0)

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

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

1亿VIP精品文档

相关文档