


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
typedef结构体定义typedef为这个新的结构起了一个名字,叫MyStruct。typedefstructtagMyStructMyStruct;因此,MyStruct实际上相当于structtagMyStruct,我们可以使用MyStructvarName来定义变量。答案与分析C语言当然允许在结构中包含指向它自己的指针,我们可以在建立链表等数据结构的实现上看到无数这样的例子,上述代码的根本问题在于typedef的应用。根据我们上面的阐述可以知道:新结构建立的过程中遇到了pNext域的声明,类型是pNode,要知道pNode表示的是类型的新名字,那么在类型本身还没有建立完成的时候,这个类型的新名字也还不存在,也就是说这个时候编译器根本不认识pNode。一、使用typedef定义结构体typedef用来定义新的数据类型,通常typedef与结构体的定义配合使用。使用typedef的目的使结构体的表达更加简练(所以说typedef语句并不是必须使用的)。定义一个名字为TreeNode的结构体类型(现在并没有定义结构体变量,并不占用内存空间):structTreeNode{intElement;structTreeNode*LeftChild;structTreeNode*RightChild;};123456为结构体起一个别名Node,这时Node就等价于structTreeNodetypedefstructTreeNodeNode;1将结构体的定义和typedef语句可以连在一起写:typedefstructTreeNode{intElement;structTreeNode*LeftChild;structTreeNode*RightChild;}Node;123456注意不要与“定义结构体类型的同时定义结构体类型变量”混淆:使用typedef关键字定义结构体类型定义结构体类型的同时定义结构体类型变量typedefstructstudent{intage;intheight;}std;//std相当于structstudentstructstudent{intage;intheight;}std1,std2;//定义了student数据类型的结构体和std1、std2结构体变量二、使用typedef定义结构体指针定义一个名为TreeNode的结构体,和指向该结构体类型的指针PtrToTreeNode(不使用typedef):structTreeNode{intElement;structTreeNode*LeftChild;structTreeNode*RightChild;};structTreeNode*PtrToTreeNode;//定义指针12345678使用typedef关键字用一个单词Node代替structTreeNode,并定于指向该结构体类型的指针PtrToTreeNode:structTreeNode{intElement;structTreeNode*LeftChild;structTreeNode*RightChild;};typedefstructTreeNodeNode;//用Node代替structTreeNodeNode*PtrToTreeNode;//定义指针123456789将结构体的定义和typedef连在一起写,再次缩短代码:typedefstructTreeNode{intElement;structTreeNode*LeftChild;structTreeNode*RightChild;}Node;//定义结构体并用Node代替structTreeNodeNode*PtrToTreeNode;//定义指针1234567还可以继续缩短代码,直接定义了指向结构体类型的指针,但是这种写法没有为结构体起一个别名。typedefstructTreeNode{intElement;structTreeNode*LeftChild;structTreeNode*RightChild
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多因素认证智能家居安全-洞察与解读
- 高三试卷:2025届鄂东协作体11月联考英语试卷
- 堤防施工资源调度与优化方案
- 猪精深加工项目施工方案
- 电解铝项目技术方案
- 唐山市2025年公需课考试题库及答案
- 2025年大学经济法试题库及答案
- 2025年浙江产权交易所有限公司春季人员招聘笔试参考题库附带答案详解
- 2025低压电工证考试题库及模拟考试答案(2025修订版)
- 生殖科护理知识培训课件
- 全国一等奖统编版语文三年级上册《小狗学叫》公开课课件
- 地震安全培训课件
- 中国能源数据报告2025
- 旅游代理授权委托书范本
- 消化科危重症患者的护理
- 矿区员工车辆管理制度
- 个体诊所感染管理制度
- 建筑施工移动机械设备管理制度
- 滴灌通收入分成协议合同
- T/CECS 10043-2019绿色建材评价光伏组件
- DB32/T 4430-2022极端强降雨事件判定
评论
0/150
提交评论