- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一般形式: enum 枚举名 { 枚举值表 } ; 在枚举值表中应罗列出所有可用值,这些值称之为枚 举元素。 例: enum weekday {sun,mon,tue,wed,thu,fri,sat}; 声明了一个枚举类型 enum weekday ,可以用此类型来 定义变量,该变量只能取 7 天中的某一天。 枚举变量的说明 (3 种形式 ) (1)enum weekday 先定义再说明; {sun,mon,tue,wed,thu,fri,sat}; enum weekday a,b,c; (2)enum weekday 定义同时说明; {sun,mon,tue,wed,thu,fri,sat}a,b,c ; (3)enum 直接说明。 {sun,mon,tue,wed,thu,fri,sat}a,b,c ;; 枚举变量的赋值和使用 (1) 在 C 编译中,对 枚举元素按常量处理 ,故称枚举 常量。它们不是变量,不能对它们赋值。 例: sun=5; mon=2; sun=mon; 是错误的。 枚举变量的赋值和使用 (2) 枚举元素本身由系统定义为有序号的数值, 从 0 开始顺序定义为 0,1,2,… 例如在 weekday 中, sun 值为 0 , mon 值为 1,…,sat 值 为 6 。这个序号值是可以输出的。 例: #includestdio.h void main( ) {enum weekday {sun,mon,tue,wed,thu,fri,sat}a,b,c ; a=sun; b=mon; c=tue; printf(“%d,%d,%d”a,b,c); } 运行结果: 0,1,2 枚举变量的赋值和使用 (3) 只能把枚举值赋予枚举变量, 不能把元素的数值 直接赋予枚举变量。 例: a=sun; b=mon; 是正确的。 a=0; b=1; 是错误的。 如果一定要把数值赋予枚举变量,则必须用强制类 型转换,则应 b=(enum weekday)1; 其意义是将顺序 号为 1 的枚举元素赋予枚举变量 b ,等价于 b=mon; (4) 枚举元素不是字符常量,也不是字符串常量,使 用时无须加单、双引号。 用 typedef 定义数据类型 C 语言允许用户用 typedef 来自定义类型说明符。 例: typedef int INTEDER; ( 指定用 INTEDER 来代表 int 类型 ) 因此, INTEDER a,b; 等价于 int a,b; typedef 定义的一般形式为: typedef 原类型名 新类型名; 用 typedef 定义数据类型 例: typedef char NAME[20]; 其中, NAME 是字符数组类型,长度为 20 。然后可以 用 NAME 说明变量 : NAME s1,s2; 等价于 char s1[20],s2[20]; 用 typedef 定义数据类型 例: typedef struct student {int num;y char name[20]; float score; }STU; STU 表示 struct student 的结构类型,然后可以用 STU 来说明结构变量: STU stu1,stu2; § 12.8 动态数据结构——单向链表 一、问题 1. 用数组的方式存储学生的数据,需要预先确定学生 的人数,并且数组占用的是一块连续的内存区域。 2. 用动态存储的方法:每次分配一块空间存放一个学 生的数据,称之为一个结点。有多少学生就申请分配 多少块空间,也就建立多少个结点。当学生留级、退 学后,可删除该结点,并释放该结点占用的空间。使 用动态分配,每个结点之间的内存空间可以是不连续 的 ( 结点内是连续的 ) 。结点之间的联系可以用指针实 现。 二、链表的定义 用一个指针变量 head 指向第 1 个结点的首地址,以 后每个结点都分为两个域,一个是 数据域 ,存放各种 实际的数据;另一个域是 指针域 ,存放下一个结点的 首地址。最后一个结点因无后续结点连接,其指针域 可赋予 NULL 。 这种连接方式,在数据结构中称为 链表 。 链表中每一个结点都是同一种结构类型。 第十二章 ? 问题: 有时需要将不同类型的数据组合成一个有机 的整体,以便于引用。 如: 一个学生有学号 / 姓名 / 性别 / 年龄 / 地址等属性 int num; char name[20]; char sex;
您可能关注的文档
最近下载
- 人教版(新插图)五年级上册数学全册教学课件.pptx
- 《机械制图与CAD绘图》课件——剖视图.pptx VIP
- TEAC V-970X_R-919X三磁头卡座维修手册.pdf
- 03S402 室内管道支架及吊架.docx VIP
- 体例格式6:工学一体化课程《windows服务器基础配置与局域网组建》任务7学习任务分析表.docx VIP
- 【初中生物】光合作用第一课时 2024--2025学年北师大版生物七年级上册(2024版).pptx VIP
- 高标准农田高效节水灌溉工程建设项目建议书.pdf VIP
- 统编版(2024新版)七年级上册历史必背知识点提纲详细版 .pdf VIP
- SL 228-2013 混凝土面板堆石坝设计规范.pdf VIP
- 个人简历表格下载word(最新).pdf VIP
原创力文档


文档评论(0)