* (1)任何时刻,只有一个成员的值被存储: lin.num=990011; lin.score=83; (2)共用体变量和各成员具有相同的存储地址,即zhang与zhang.num、zhang.name、zhang.score为同一个地址值; (3)不能对共用体变量以整体形式引用,下面语句均错: scanf(“%ld%s%d”,lin); zhang=lin; 共用体变量的所有成员共享一段内存,长度为最长成员的字节数,使用时要注意以下一些问题: * 9.6 枚举类型 9.6.1 枚举类型的定义 形式: enum 枚举名 { 枚举值表列 }; enum为关键字,代表枚举类型 花括号中列出的枚举值均为常量标识符,代表具有该枚举类型的变量可以取的全部值。 * 【例】enum weekday { Sunday,Monday,Tueday,Wedday,Thrday,Friday,Satday}; 【例】enum color { red,green,blue,yellow } col1,col2; 【思考】上面的枚举定义代表什么意思? 【思考】上面的枚举定义又代表什么意思呢? * 9.6.2 枚举类型的使用规则 (1)枚举类型是用户标识符,不是字符串,不能加双引号; 【例】enum sex { “male”, “female” }; (2)枚举值表列中的每一个枚举值对应于一个整数序号,在C语言中,枚举值按自左向右的顺序依次被编号为0,1,2…但能够以初始化方式指定特别值,如: 应改写为enum sex { male,female }; 【例】enum color { red, green, blue=8, yellow }; * 9.7 类型自定义 9.7.1 typedef语句的形式 形式:typedef 现有类型名 新类型名; 为现有的类型取一个新的别名 【问题】为什么要引入类型自定义? * 【例】typedef struct student { long num; char name[10]; int score;}STUD; 9.7.2 typedef语句使用说明(见书P183) typedef int ARR[3][4]; typedef char* STRING; STRING x, y; ARR a, b, c; * 9.4 动态数据结构“链表” 常用的动态数据结构(特点:需之则有,不需则无)有链表、树、图等等。 9.4.1 链表概述 1.什么是链表 顺序存储——将逻辑上相邻的数据分配在物理上相邻的存储单元中,数据之间的逻辑关系通过存储单元的邻接关系来体现; 链接存储——将逻辑上相邻的数据分配在物理上离散的存储单元中,然后在每一个存储单元中粘贴一张标有相邻者存储地址的标签,使数据之间的逻辑关系通过地址的链接关系来体现。 * 2.链表实例 下图表示存放整数11,13,17,19的链表: head 1079 1153 1286 1390 头结点 末结点 头指针 数据域 指针域 1079 1153 1286 1390 NULL 13 17 19 11 * 9.4.2 单链表结点的类型定义 11 1153 数据域:存储数据 指针域:存储后续结点的地址 * 单链表结点的类型定义: struct 结构名 { 数据成员表列; struct 结构名 *指针名; }; head 1079 1153 1286 1390 1079 11 1153 13 1286 17 1390 19 NULL * 【例】定义素数链表的结点类型struct prime。 素数链表: head 11 13 17 19 NULL 要求素数链表结点只包含一个数据成员,因此结点类型可定义为: struct prime { int data; struct prime *next; }; *
您可能关注的文档
最近下载
- 2026年北京市东城区高三语文上学期期末作文《冬藏春生》范文.docx VIP
- 2026年北京市西城区高三语文上学期期末作文《跟进》11篇范文.docx VIP
- 财务会计2(第九版)高霞 薛雨佳课后习题答案.docx VIP
- 2026年惠州中考数学备考全指南(考点+真题+策略)(知识点归纳,必考知识点、真题模拟试卷及解析).docx VIP
- 2026离职与调薪调研报告-总报告-前程无忧.pdf VIP
- 经济林碳计量与监测技术指南.pdf VIP
- 《生态公益林碳汇计量监测技术规程》.pdf VIP
- DB21_T 4242-2025 岫岩翠玉 鉴定.docx VIP
- DB21_T 4239-2025 地理标志产品 九龙川香菇.docx VIP
- 一位董事長的成长之路.doc VIP
原创力文档

文档评论(0)