第9章结构体共用体与枚举 9.7共用体类型《C语言程序设计》同步教学课件(电子工业出版社)

2023-08-08
| 15页
| 101人阅读
| 1人下载
精品

内容正文:

第9章 结构体、共用体与枚举类型 本章内容 9.1结构体类型的定义 9.2结构体变量 9.3结构体数组 9.4结构体类型指针 9.5结构体与函数 9.6链表 9.7共用体类型 9.8枚举类型 9.9类型定义 9.10综合案例 链表的输出 void output(STUDENT *head) { STUDENT *p; p=head; while(p!=NULL) { printf("%5d,%5.1f ",p->num,p->score); p=p->next; } } 链表的查找 STUDENT *search(STUDENT *head,int num) /*head链表头结点,num要查找的学号*/ { STUDENT *p; p=head; while(p!=NULL) { if(p->num==num) return p; else p=p->next; } return NULL; } 链表的插入 图9.3 链表节点插入操作 STUDENT *insert(STUDENT *head,STUDENT *p) { STUDENT *p1,*p2; p2=head; if(head==NULL) /*没有插入点*/ { p->next=NULL; head=p; } else /*有插入点*/ { while((p->num > p2->num) && p2!=NULL) /*查找插入点*/ { p1=p2; p2=p2->next; } if(p1==head) /*插入位置为第1个结点的前面*/ { p->next=head; head=p; } else /*插入点位于中间或末尾*/ { p->next=p2; p1->next=p; } } return head; } 链表的删除 图9.4(a) 删除链表第1个节点 图9.4(b) 删除链表其它节点 STUDENT *delete(STUDENT * head,int num) { STUDENT *p1,*p2; p2=head; if(head==NULL) /*如果链表为空*/ { printf(" List is null "); return head; } p2=head; while(num!=p2->num && p2->next!=NULL)/*查找删除节点*/ { p1=p2; p2=p2->next; } if(p2->next!=NULL) /*如果不是链表的末尾,即找到了删除结点p2*/ { if(p2==head) /*如果要删除的是第1个结点*/ head=p2->next; else p1->next=p2->next; free(p2); printf(" delete %d successfully",num); } else /*没有找到删除结点*/ printf("%d not be found!",num); return head; } 9.7共用体类型 共用体类型与共用体变量 指将不同的数据项组织成一个整体,它们在内存中占用同一段存储单元 共用体类型定义 union 共用体名 { 成员说明列表 }; 例如: union data { int a ; float b; char c; double d; }; 共用体变量的说明 先定义共用体类型,再定义共用体变量。 例如: union data { int a ; float b; char c; double d; }; union data d1,d2; 共用体变量的说明 在定义共用体类型的同时定义共用体变量。 例如: union data { int a ; float b; char c; double d; }d1,d2; 共用体变量的说明 定义共用体类型时,省略共用体类型名,同时定义共用体类型变量。 union { int a ; float b; char c; double d; }d1,d2; 9.7.2共用体变量的使用 共用体变量不能同时存放多个成员的值,而只能存放其中的一个值,这就是最后赋给它的值。 例如: d1.a=50; d1.c=’M’; d1.d=20.5; 共用体变量d1的最后的值为: 20.5; 指针变量引用共用体成员 例如: union data *pt,x; pt=&x; pt->a=120; pt->b=123.5; pt->c=’M

资源预览图

第9章结构体共用体与枚举 9.7共用体类型《C语言程序设计》同步教学课件(电子工业出版社)
1
第9章结构体共用体与枚举 9.7共用体类型《C语言程序设计》同步教学课件(电子工业出版社)
2
第9章结构体共用体与枚举 9.7共用体类型《C语言程序设计》同步教学课件(电子工业出版社)
3
第9章结构体共用体与枚举 9.7共用体类型《C语言程序设计》同步教学课件(电子工业出版社)
4
第9章结构体共用体与枚举 9.7共用体类型《C语言程序设计》同步教学课件(电子工业出版社)
5
第9章结构体共用体与枚举 9.7共用体类型《C语言程序设计》同步教学课件(电子工业出版社)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。