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

C语言9-结构体与共用体.pptVIP

  1. 1、本文档共44页,可阅读全部内容。
  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文档。上传文档
查看更多
* 中科大信息学院 * 对链表的综合操作 main() { struct student *head,stu; long del_num; printf(input record:\n); head=creat(); //调用链表创建 print(head); //调用链表遍历 printf(\ninput the delete number:); scanf(%ld,del_num); head=del(head,del_num); //调用删除链表中节点 scanf(%ld,%f,stu.num,stu.score); head=insert(head,stu); //调用插入新节点 } * 中科大信息学院 * 9.5 共用体 将不同类型的变量存放在同一段内存单元,以节省存储空间。但是,要保证在程序的某一阶段仅使用这些变量其中之一。 共用体类型定义形式: union 共用体名 { 成员表列; } 变量表列; union data { int i; char ch; float f; }a; 定义数据类型data,并定义变量a,系统为a分配4个字节内存单元。 * 中科大信息学院 * 例9.11 存储学生和教师记录的数组 struct { int num; char name[10]; char sex; char job; union { int class; char position[10]; }category; }person[2]; //定义结构数组person * 中科大信息学院 * main() { int n,i; for(i=0;i2;i++) { scanf(%d %s %c %c,person[i].num, person[i].name,person[i].sex,person[i].job); if(person[i].job= =s) scanf(%d,person[i].category.class); else if (person[i].job= =t) scanf(%s,person[i].category.position); else printf(input error!); } * 中科大信息学院 * 枚举类型 定义数据类型,将取值一一列举,称为枚举。 对枚举变量赋值时,系统会依据数据类型定义检查输入数据的合法性,这样减轻了程序员的负担。 enum weekday{sun,mon,tue,wed,thu,fri,sat}workday; 定义workday是仅取所列7个枚举元素值的枚举变量。 枚举元素是常量,其值由左依序为0,1,... ×sun=0; mon=1; 可以改变枚举元素值 enum weekday {sun=7,mon=1,tue,wed,thu,fri,sat}workday; 一个整数不能直接赋值给枚举变量 ×workday=2; workday=(enum weekday)2; workday=tue; * 中科大信息学院 * 【例】口袋中有红黄蓝白黑5色球若干,每次取3种不同色的球的所有可能取法 main() { enum color {...}i,j,k,pri; int n=0,loop; for(i= 初值~终值 ) for(j=初值~终值 ) if(i ≠j) for(k=初值~终值 ) if(i ≠j ≠k) 输出一种组合 } * 中科大信息学院 * 9.7 用typedef定义新类型标识符 用typedef定义新的类型标识符表示已定义的数据类型,并不产生新类型,目的是增加程序的可读性,使得定义变量时类型标识符字符数少。 如 typedef int COUNT; COUNT i,j; //变量i,j用于计数 typedef struct { int month; int day; int year; }DATE; DATE birthday; //变量birthday用于存放日期 * 中科大信息学院 * 例如 typedef int NUM[100]; NUM n; //n是100个元素组成的整型数组 typedef struct ArcCell { int adj; char *info; }AdjMatrix[10][10]; AdjMatrix arcs; P248,例8.29 * 中科大信息学院 * 如何用typedef定义一个新类型标识 按定义变量的方法写出定义体 将变量名换

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档