


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年国际物流师物流网络考题解析试题及答案
- 中班防欺凌课件视频
- 2024年CPMM考试重点知识及试题答案
- 及时了解CPSM考试动态试题及答案
- 设计符合电商标准的UI组件的试题及答案
- 高效复习策略的试题及答案分享
- 2025年航空用玻璃系列项目建议书
- 2024年国际物流师考生巡礼试题及答案
- 通化市重点中学2025年高考化学五模试卷含解析
- 浙教版 2021-2022学年度八年级数学上册模拟测试卷
- 院内突发心跳呼吸骤停、昏迷、跌倒事件应急预案及程序
- 2024年小区地下车位租赁合同
- 先进个人申报登记表
- 2022-2023学年广东省江门市新会区会城镇城南小学部编版一年级下册3月月考语文试卷
- 电影赏析绿皮书课件(内容详细)
- 轴线-对话场面的拍摄
- 中国电信营业厅服务规范与基础管理指导手册
- 养老护理员培训 -职业道德 法规
- 湖南省2021年普通高等学校对口招生考试英语
- 《CT检查技术》课件-CT图像后处理
- 控制性详细规划城市用地分类和代号
评论
0/150
提交评论