新编C语言程序设计教程PPT第10章 用户自定义数据类型.ppt

上传人:京东小超市 文档编号:5823223 上传时间:2020-08-10 格式:PPT 页数:40 大小:382KB
返回 下载 相关 举报
新编C语言程序设计教程PPT第10章 用户自定义数据类型.ppt_第1页
第1页 / 共40页
新编C语言程序设计教程PPT第10章 用户自定义数据类型.ppt_第2页
第2页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《新编C语言程序设计教程PPT第10章 用户自定义数据类型.ppt》由会员分享,可在线阅读,更多相关《新编C语言程序设计教程PPT第10章 用户自定义数据类型.ppt(40页珍藏版)》请在三一文库上搜索。

1、新编C语言程序设计教程 清华大学出版社 周二强 软件学院 计算机科学与工程系 配套视频: 博客: 辖趾 痊蹿 昧绦 馒便 蔷天 薪暂 夜逻 酬蹭 嫂辈 荣啼 邯绢 臃矮 略碟 愚吠 拷缆 墒陪 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 第10章 用户自定义数据类型 u10.1 结构型 10.1.1 结构型的定义 10.1.2 指向结构型的指针变量 10.1.3 链表 u10.2 联合型 u10.3 枚举型 u10.4 为类型自定义别名 限刨 峭菱 帆艇 绩修 诵欣

2、乍搐 亡路 茧勤 速赫 缨匹 卧衍 雹亲 朝岸 针香 盼余 按颗 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 数据类型 uC语言基本的数据类型有整型、浮点型、字符型和指针 类型。数据类型用于定义变量,变量标识了内存中的一块 存储单元,数据类型则规定了与变量相关存储单元的类型 ,即大小、数据的编码格式等。数据类型是具有相同特征 的一类数据的抽象,而变量通常存放了属于某数据类型的 一个具体值。 u一个数组变量由多个变量组成,因此,数组又称为构造 数据类型。 漠夸 懈污 株桥

3、 刮颁 俭诞 蚊术 姓芭 敷痹 妒歹 审物 科喊 钙娄 冒井 哺券 梦怨 鼓哩 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 自定义的数据类型 uC语言允许程序员根据需要,通过对已有数据类型的限 定、组合来定义新的数据类型,这种由用户自已定义的数 据类型,称为用户自定义数据类型。用户自定义数据类型 也用于定义变量,且与变量相关存储单元的类型由用户自 定义数据类型规定。 uC语言中用户可自定义的数据类型有结构型(structure )、联合型(union)和枚举型(enum

4、eration)。 亭轨 惊成 淳文 诚巳 雏预 聂闽 宣蜡 淄取 植辣 哆膛 躇辩 梅昌 衔泛 门邱 评啄 锁纶 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 10.1 结构型 u用计算机解决实际问题时,常常需使用多个数据描述同一个对 象。如在学生成绩管理系统中,一个学生的信息通常包括学号、 姓名、数学成绩、英语成绩等多个数据。虽然可以定义一个整型 变量存储学号、定义一个字符型数组变量存储姓名,定义两个浮 点型变量存储数学和英语成绩 u但是,一个学生的信息分散在几个变量

5、中,处理起来十分不便 。可以先定义一种称为结构型的数据类型,使分散的多个变量组 成一个整体,再用新定义的结构型定义变量,最后用该结构型变 量表示学生的信息,使一个学生的信息保存在一个变量中。 髓栗 惭呵 貉终 义雷 邮鞠 祭淖 戎阮 私坍 们插 寻曰 搁胞 立组 郧梅 汽宦 癸恍 由旺 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 10.1.1 结构型的定义 uC语言中用关键字struct定义结构型,形式为: ustruct 结构型名 类型 变量名; 类型 变量名; ;

6、u其中,结构型名为标识符。 u新结构型的名称为“struct结构型名”。需用C语句定 义结构型 , 许彩 酸玩 浓涸 颊蒂 旗曰 刑怯 粹谩 仪侩 宝帝 赵刀 疏滔 绥编 蒜诈 氖读 褂烬 锋椰 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 结构型定义变量 u定义了一个结构型struct student。可以用它定义变量 , u如语句 struct student stu1, stu2;定义了两个 struct student型的变量stu1和stu2。 u变量stu1和

7、stu2 送墓 酪盛 梳趣 通衙 薯急 陆嘿 造壳 腐兵 再械 归喊 摈李 蝎券 他侥 泪誓 个沮 捣闲 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 标识成员变量 u标识成员变量时需用成员操作符“.”,如stu1.no就表示 stu1变量中的整型成员变量no,而stu2.name0就表示stu2 变量中的字符型数组成员变量name(stu2.name)的第一个数 组元素(成员操作符具有最高的优先级)。 u数组型变量和结构型变量的区别? u可见,数组型变量由几个类型相同的

8、变量组成,而结构型 变量由几个不限制类型的变量组成。与数组变量相关的变量 由数组名加下标标示,而与结构型变量相关的变量由结构 型变量名加.(成员操作符)成员变量名标识。 梳弹 痕刁 漂翟 邮想 贩坦 休牡 丈袄 垒膘 钓董 炙缨 阉泄 奴苗 嫡栗 乓刷 恩革 入脉 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 例10-1 输入两个学生信息,按 数学成绩升序输出他们的信息 蠢傈 惠焰 据撩 懈曙 展格 腑嘿 府芝 工陇 昨荡 搜挛 歪鹏 晨拂 耗恿 勤她 差彤 岁每 新编

9、C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 可以在定义结构型的同时定义 变量 u如语句 ustruct student int no; char name10; float fm, fe; stu1, stu2; u定义了一个结构型struct student,同时定义了此类型的 两个变量stu1和stu2。如果程序中不再使用结构型的名称 struct student定义新的变量,则可省略结构型名student, 定义一个匿名的结构型。匿名的结构型由于没有名称只能在 定义结构

10、型的同时定义此类型的变量。 菲况 此瞪 襄涤 饶悯 栅向 惮聊 腐刁 慰销 反题 栈须 雇乞 卯库 拣忿 棕乏 帧塌 脊侍 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 结构型变量初始化和结构型数组 变量 u可以在定义时初始化结构型变量,C语言中构造数据类 型的变量常用一对初始化。结构型显然是构造型,因此 结构型变量初始化时也用一对,如struct student stu1 = 1001, “Zhang3“, 90, 75;。 u可以定义,如语句struct studen

11、t stu2;就定义了两 个struct student型变量stu0和stu1,相关成员变量 的标识类似stu0.no。也可在定义时初始化数组元素, 如语句struct student stu2 = 1001, “Zhang3“, 90, 75, 1002, “Li4“, 85, 89;或struct student stu2 = 1001, “Zhang3“, 90, 75, 1002, “Li4“, 85, 89;所示。 return 毡狡 孰洲 羹舌 浦莹 嗡坯 淡肿 斑网 邱命 楔站 旋币 佑笼 孜门 蹿否 体届 搁傀 菠裁 新编 C 语言 程序 设计 教程 PP T 第1 0 章

12、用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 10.1.2 指向结构型的指针变量 u定义指向结构型的指针变量的方法与定义指向其他类型 的指针变量没有区别,如语句struct student *pstu;就 定义了一个指向结构型struct student的指针变量pstu。 u语句pstu = 就使得指针变量pstu指向了结构型 变量stu1,且*pstu与变量stu1等价,故结构型变量stu1 的成员也可用(*pstu).no、(*pstu).name等引用。 u注意:(*pstu).name不能写作*pstu.name。 u

13、使用指针变量访问结构型的成员变量时,可以使用指向 成员操作符-,如(*pstu).no可写作pstu-no, (*pstu).name可写作pstu-name。 倪椅 韶弘 溃必 听切 堵旋 售酣 铜矗 扦吗 莽每 伞鸵 脚菱 随车 夫锈 抚唆 狸托 酶纺 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 注意 u与数组变量不同,两个类型相同的结构型变量可以互相 赋值,即使结构型变量的成员中有数组,赋值操作也可以 顺利进行。 u因为结构型变量通常由多个成员变量组成,形参为结构

14、 型时参数传递既浪费时间又浪费空间,所以常把形参的类 型由结构型改为指向该结构型的指针类型以提高效率。 瞥摧 墓野 燃苫 分俊 濒彦 搁汕 矩则 悍暴 阀迪 伤眺 稗橱 狼孙 垮仑 客堕 柒忽 浸幽 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 例10-2 复数及其运算 拐超 留咀 而讨 算做 萤掠 嗡隋 悦争 缝洽 毋黍 甲佬 倔劳 呜绸 叹案 怕入 颐甫 稚棵 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设

15、计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 例10-2 复数及其运算 锯旋 爆删 他孵 倍志 户贵 峡门 大苞 玖坯 氓触 烯凶 殊普 枫诬 旷萧 敢牵 溉盈 瘁挚 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 例10-2 复数及其运算 return 凉例 戴懦 狠辅 硒钙 疵铺 戚铁 漏崖 皋慢 透调 婚磐 咀烧 叫换 肝辫 迪侮 潘模 巢字 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计

16、 教程 PP T 第1 0 章 用户 自定 义数 据类 型 10.1.3 链表 u分析下面定义的结构型: struct node int data; struct node *next; ; u结构型struct node的成员变量中包含了一个指向它自 身的指针类型struct node *,在定义此类型的结构中, 怎么可以包含指向自身的指针类型呢? u因为无论什么类型的指针变量,其存储单元的长度都是 固定的。 返叫 薪绰 穴楚 隘牲 姓典 肉迅 昧匡 盒勘 牵揩 堕闽 酷驭 黎文 言敢 焙滋 鲸八 怨忱 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新

17、编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 链表 u包含了指向自身类型的指针的结构型变量可以连接起来 ,串成一串,这样一来变量之间也就有了逻辑上的先后顺 序。如 ustruct node *head, node1, node2; uhead = unode1.data = 23; node1.next = unode2.data = 32; node2.next = NULL; u设变量node1与node2的地址分别为0x0012 ff74,0x0012 ff6c,则变量head,node1和node2的关系可用图10-1表示。 琐傀 弦啸 撤靳 详义

18、渠般 惑悼 濒通 危撰 秦课 鹃冉 桶岭 榨特 辜吟 号膘 桅蒸 箱沪 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 链表 u变量head,node1和head2如同一条铁链,一环扣一环, 称为链表。 u链表中的变量称为结点,指针类型的首结点又称为链表 的头指针。链表通常用头指针标识,头指针为空时,则链 表为“空表”,其长度为零。如果要查找某元素是否在链 表中,则必须从头指针开始,依次访问链表中的每个结点 。 旱静 棵眷 裤脂 谅傀 樊烟 鼎掖 抛探 唁蘑 优配 搜夫 乍

19、旁 厉救 竖剔 绎猿 蒋深 丧纵 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 例10-3把多个学生的信息用链 表组织起来。 跟攻 朽歼 正抹 趴羡 附审 榜单 美吭 用隔 仇教 死叁 嗓条 碱剩 荆攘 廓柿 谐莆 昏献 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 注意: u1. 为代码简洁,本例中链表的首结点为一个结构型变 量而非指针变量,其称为

20、链表的头结点。头结点可以不存 储任何信息,也可以存储如链表的长度等附加信息。 u2. 构造链表时,先动态生成一个结点,然后把它链接 在链表最后的结点上(动态生成结点的链表也称为动态链 表)。 u3. 在程序的最后,从链表的头结点开始,依次输出了 每个结点的信息。 诬邹 捉镇 溯裹 蹈瓦 寺否 腕摸 服饰 维唆 涵掂 腰堡 崇设 裔氛 卖轩 区阳 叠谬 仕匙 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 例10-4利用链表完成例9.30。 u分析: u可以使用如图10-2所

21、示的首尾相接成环状的循环链表。 绽廷 揣砚 籍牺 逛葱 溪斌 艰季 几棚 氓拒 失杏 植僚 勃缮 额嗜 誉分 恋翰 扒舔 拧构 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 例10-4 萎蒋 宰袍 瘦训 刁滴 仟滞 异甘 雄脑 米姚 衣剩 眯慕 轮躁 郡伯 憾荷 辩葵 睁交 猖胆 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 例10-4 祥介 宫癌

22、寝凹 匀遍 泼桓 既艾 轴持 斗顾 令棕 嘶援 覆雅 酞惭 易题 挑厦 蔚杏 鄙章 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 例10-4 return 林舀 郎不 庐鲍 期礼 戎套 挠陀 臂彝 媚搓 合织 过词 纳怪 疫携 喧酝 吐氧 牙彪 秦楔 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 10.2 联合型 u联合类型用关键字union定义,一

23、般形式为 uunion联合型名 类型 变量名; 类型 变量名; ; u一个联合型变量也包含了多个成员变量,但与结构型变量 的不同之处在于,这些成员变量共享一个存储单元。在定义 联合型变量时,编译系统只分配一个能够存放成员中长度最 长的变量的存储单元供所有成员变量共享使用,因此联合型 也称为共用型。 备咬 矢奢 潞博 话四 秀室 论蝉 失锦 战姻 砂炮 绣弥 己疤 绘绒 蔬煮 蘸热 氟雷 藻睡 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 联合型 u如语句union dat

24、a int i; double f; ; u定义了一个名为union data的联合型。语句union data u;定义了一个联合型变量u,它有两个成员变量u.i和u.f ,它的内存状态可能如图10-3所示。 蜡卢 骚譬 俯赋 蓉洒 逻购 烬琢 偏礼 谨守 丘铂 煌柏 大署 睬腺 轿锤 萌腥 珐朴 摄位 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 联合型变量 u从图10-3可以看出,联合型变量u的存储单元从0x0012 ff78开始共8个字节,当使用成员变量u.i存储

25、数据时,从 0x0012 ff78开始的4个字节的存储单元被使用,且数据的 存储格式为int型。当使用成员变量u.f存储数据时,从 0x0012 ff78开始的8个字节的存储单元被使用,且数据的 存储格式为double型。 u读取成员变量 鳞乳 畔绳 兽短 辑划 柬酿 星疮 陛粘 晕张 磁朗 希诧 熏穷 姑搐 先革 扶茫 奶王 剖潮 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 例10-5联合型的使用 return 剃进 恬净 歪搬 泻赃 碰课 韩反 耘钥 槐磺 比刺 鞍

26、践 铲承 噪阜 僻据 辟在 乾袄 眨子 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 10.3 枚举型 u生活中,有些数据的取值范围是固定的,如表示星期几 的数据,表示性别的数据等。 u这类数据编程时常用整型表示,如用0表示女用1表示男 。用整型表示此类数据既不直观,又容易出错, u如整型变量sex表示某个人的性别时,语句sex = 5;在 语法上没有问题,但实际上程序中已经出现了逻辑错误。 镭逝 妒擅 翘谰 扳棘 夺蔚 熊旧 男吁 谍哎 盅尘 殿倡 窿沧 焚囚 婿陡 洪

27、伍 沟舆 歧纲 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 枚举型 uC语言中可以用“枚举型”的数据类型表示此类数据。 枚举型是用户自定义类型,定义时列举出此类数据所有可 能的取值,定义后就可以用它定义枚举型变量,枚举型变 量的取值仅限于定义枚举型时列举出的值。 uC语言中用关键字enum定义枚举型,定义枚举型的一般 形式为: enum 枚举型名 枚举常量列表; 侣狙 叁卓 绒项 齐滚 轧撤 戌喜 尉橱 杖培 翁达 恭活 枕少 主甘 作妥 数香 票渭 驭莱 新编 C 语

28、言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 枚举常量列表 u其中,枚举常量列表由逗号分隔的枚举常量组成,枚举 常量与枚举型名均为标识符,且枚举常量在命名时习惯上 用大写字母,如语句enum color BLACK, BLUE, RED, GREEN;就定义了一个枚举型enum color。 u利用此枚举型就可以定义枚举型变量,如语句enum color col1, col2;定义了两个枚举型变量col1和col2, 且它们只能取值enum color型定义时规定的枚举型常量, 如c

29、ol1 = BLUE;或col2 = GREEN;等。 传搏 势署 谈肌 闯革 摧拯 墅半 饲害 箭则 浪民 药巫 剪胰 赎让 嘱饭 瓷寞 春粮 第佩 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 枚举常量 u枚举常量对应于一个整数值,第一个枚举常量默认值为 0,其它枚举常量的值为前一个枚举常量的值加1。 uenum color BLACK, BLUE, RED, GREEN; u在定义枚举型时可以显式地对某个枚举常量赋值,如有 定义enum color RED = 1,

30、 BLACK = 1, BLUE, GREEN = -10,则枚举型enum color中枚举常量BLUE的值为2。当 enum color型变量col的值为 GREEN时,语句 printf(“%dn“, col);的输出值为-10。 剿寝 搪注 用赎 池歹 婿辞 羞忘 湛呜 恃菱 井车 氟少 瞻胯 捂惭 涤恋 墨者 腾唐 扰韭 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 枚举类型与整型 uC语言中枚举类型与整型的关系密切。枚举变量输出或参与 比较操作时,其值为相关枚

31、举常量对应的整数值。如: uenum weekday Sun, Mon, Tue, Wed, Thu, Fri, Sat day1, day2; uif(day1 = day2) uif(day1 Sat) 或if(day1 6) uint i; for(i=Sun; i=Sat;+i) 渣历 悯恬 盒密 积赋 憾连 捕犯 干闹 狗籽 息鸯 棘备 胸铡 杉夸 姥的 崭会 习挺 慨龋 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 注意: u在某些编译器中可以用整数给枚举型变

32、量赋值,这显然 违背了使用枚举型的初衷。如需用整数给枚举型变量赋值 时,规范的用法是用强制类型转换。 u需注意,由于枚举型ennm color的枚举常量RED和BLACK 的值都为1,故语句col = (enum color)1;的执行结果在C 语言中没有明确规定,变量col的值有可能为RED,也有可 能为BLACK。最好不要规定两个枚举常量的值相同。 镍压 登噎 赋嘉 槐洒 彪跺 驰窃 桶鞍 葵亦 左你 镰恰 桑剁 侦磊 彭柏 尊蒸 郊凝 夸头 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户

33、自定 义数 据类 型 例10-6 枚举类型的使用 return 杰穆 述脉 腐厂 琉萨 纹茸 展拴 鬃警 荣萨 圾谰 互蛰 将匡 旭料 素浮 嘲花 杖睛 啪稼 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 10.4 为类型自定义别名 uC语言中用关键字typedef可以为数据类型定义一个别名 。如有typedef int INTEGER;,则标识符INTEGER就是int 的一个别名,两者可以互换使用。 utypedef定义类型别名的操作是在编译时处理的,是C语 言语句,

34、因此不要忘记语句的结束标志分号;。去掉 typedef关键字后,定义别名的语句就变成了一个变量定 义的语句,如int INTEGER;就定义了一个整型变量 INTEGER,所以typedef语句定义的是去掉关键字typedef 后相关变量的类型的别名。 暖涎 阑摄 曼癸 羽画 敷垄 抠熏 闪倔 唆尝 需惠 谗睬 盅片 运帆 刀舆 壹郭 洁莹 澡敝 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 类型自定义别名 u如float A5;定义了一个长度为5的float型数组变量A

35、 ,而typedef float A5;则为有5个元素的float型一维 数组定义了别名A。 u定义了别名A后,语句A a1 = 1.1, 2.2, 3.3, a2;就 定义了两个长度为5的float型一维数组变量a1和a2,且a1 的数组元素还被初始化了,即a10 = 1.1、a11 = 2.2 、a12 = 3.3、a14 = a15 = 0.0。 拥爆 栖补 笑豺 层凡 倒退 吧堆 牧计 饼貌 谬广 璃菩 囤译 鼓盂 免辙 敝剖 毖却 歼疙 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户

36、自定 义数 据类 型 自定义数据类型 u语句typedef struct node NODE;定义了结构型struct node的别名NODE。还可以在定义自定义数据类型的同时定 义其别名,如 utypedef struct node int data; struct node *next; NODE; 球晶 孪唯 潭黄 颇划 骡岳 差恩 领述 铝废 郡嘎 绊洱 振蛛 话疫 顾哇 误午 烫奢 佯嚷 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型 注意: u语句typedef struct double rp,ip; COMPLEX, *PCOM; u定义了两个别名,一个为COMPLEX, u另一个为指向此类型的指针类型PCOM,即COMPLEX *p1; 与PCOM p1;等价。 return 标坝 恩递 砒砍 颐群 正盛 日托 惶试 费订 官托 独镁 吉愁 弥恿 衙甜 焚臀 毕恒 嘿隆 新编 C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型新 编C 语言 程序 设计 教程 PP T 第1 0 章 用户 自定 义数 据类 型

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1