- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
链表的典型实现 C语言代码 data = A node data = B node data = C ∧ node head 空指针NULL表示链表结尾 struct Link { int data; struct Link *next; }; 链表的头指针:便于操作 链表的插入操作 在x后插入新节点 t = malloc(sizeof(struct Node)); t-next = x-next; x-next = t; B x A t C 链表的删除操作 删除节点 x - next t = x-next; x-next = t-next; free(t); B C x A t 共用体,或称为联合(UNION) struct number { short i; char ch; float f; }; 0x0037b00 union number { short i; char ch; float f; }; printf(%d\n, sizeof(struct number)); i ch f i ch f printf(%d\n, sizeof(union number)); 共用体,或称为联合(UNION) sizeof(union number)取决于占空间最多的那个成员变量 0x0037b00 同一内存单元在每一瞬时只能存放其中一种类型的成员; 起作用的成员是最后一次存放的成员不能作为函数参数 不能进行比较操作,只能对第一个成员初始化 f struct person { char name[20]; char sex; int age; union { int single; struct { char spouseName[20]; int child; }married; struct date divorcedDay; }marital; int marryFlag; }; 共用体的应用 姓名name 性别 sex 年龄 age 婚姻状况 婚姻状况 标记 未婚 已婚 离婚 配 偶 子 女 年 月 日 union { int single; struct { char spouseName[20]; int child; }married; struct date divorcedDay; }marital; struct { char spouseName[20]; int child; }married; 这一章我们学习了 两种新的数据类型 结构体和共用体 几种重要的应用 结构体变量 结构体数组 结构体指针 用结构体数组或者结构体指针做函数参数 用结构体指针实现动态数据结构 【成绩管理V3.0】修改成绩管理系统,定义如下结构的结构体。 struct date { int year; int month; int day; }; struct STUDENT { long studentID; char studentName[10]; char studentSex[4]; struct date timeOfEnter; float scoreC; float scoreTheory; float scoreEnglish; float scoreMath; }; typedef struct STUDENT STU; 采用动态数组完成输入、查找、排序、统计、输出等功能。 C语言通过指针和类型强转,使我们可以对一块内存进行“你希望它代表什么,它就代表什么的操作”,从而更深地控制计算机 C语言通过指针和类型强转,使我们可以对一块内存进行“你希望它代表什么,它就代表什么的操作”,从而更深地控制计算机 #include stdio.h #include string.h #include time.h #include stdlib.h void FillCard(struct CARD wCard[],char *wSuit[], char *wFace[]); void Deal(struct CARD *wCard); struct CARD { char suit[10]; char face[10]; }; main() { char *suit[] =
文档评论(0)