- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
typedef详解
进入正文:
代码简化, 促进跨平台开发的目的.
typedef 行为有点像 #define 宏,用其实际类型替代同义字。
不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。
用法一:
typedefint (int,int)
typedefint (int,int)
ttyyppeeddeeffiinntt(*MYFUN)((iinntt,,iinntt));
这种用法一般用在给函数定义别名的时候
MYFUN
MYFUN
上面的例子定义MMYYFFUUNN 是一个函数指针, 函数类型是带两个int 参数, 返回一个int
在分析这种形式的定义的时候可以用下面的方法:
typedef .
typedef .
先去掉ttyyppeeddeeff 和别名, 剩下的就是原变量的类型..
typedef MYFUN :
typedef MYFUN :
去掉ttyyppeeddeeff和MMYYFFUUNN 以后就剩::
int (*)(int, int)
用法二:
typedef给变量类型定义一个别名.
typedef
typedef
ttyyppeeddeeffstruct{
int a;
int b;
MY_TYPE
MY_TYPE
}MMYY__TTYYPPEE;
这里把一个未命名结构直接取了一个叫MY_TYPE 的别名, 这样如果你想定义结构的实例
的时候就可以这样:
MY_TYPEtmp;
typedef
typedef
第二种用法:ttyyppeeddeeff 原变量类型 别名
简单的函数指针的用法
//形式1:返回类型(*函数名)(参数表)
char(*pFun)(int);
typedefchar(* )(int) //
typedefchar(* )(int) //
//ttyyppeeddeeffcchhaarr((**pFun))((iinntt)) ////跟上一行功能等同
/*typedef PTRFUN
/*typedef PTRFUN
//**ttyyppeeddeeff的功能是定义新的类型。第一句就是定义了一种PPTTRRFFUUNN的类型,并定义这种类
int char */
int char */
型为指向某种函数的指针,这种函数以一个iinntt为参数并返回cchhaarr类型。**//
charglFun(int a){return;}
void main()
{
pFun=glFun;
(*pFun)(2);
}
pFun
pFun
第一行定义了一个指针变量ppFFuunn.它是一个指向某种函数的指针,这种函数参数是一个int
类型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行
赋值。
glFun().
glFun().
第二行定义了一个函数ggllFFuunn(())..该函数正好是一个以int 为参数返回char的函数。我们要从
指针的层次上理解函数-函数的函数名实际上就是一个指针,函数名指向该函数的代码在内
存中的首地址。
下面是一个例子:
C 代码
1 //#includeiostream.h
2 #includestdio.h
3
typedefint
您可能关注的文档
- PHS系列实验室pH计 中文使用说明书.pdf
- PROYA珀莱雅深邃魅惑眼线水笔评测.pdf
- Profibus教程2.pdf
- PSS仿真介绍.pdf
- PS使用裁剪工具校正拍摄倾斜的照片教程.pdf
- PS如何制作简单星云效果.pdf
- PS鼠绘教程:制作台球桌上的黑8_一个黑色桌球_台球制作实例.pdf
- proe绘图教程.pdf
- ps冰手的制作方法.pdf
- Proteus 仿真软件教程.pdf
- 2025至2030视距仪设备行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030医用器材行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030中国通信工程行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030口腔医院产业产业运行态势及投资规划深度研究报告.docx
- 2025-2030中国卫星导航产业市场格局及未来趋势预测报告.docx
- 2025至2030国内IC卡行业项目调研及市场前景预测评估报告.docx
- 2025至2030工程塑料项目产业运行态势及投资规划深度研究报告.docx
- 2025至2030医疗防疫车市场前景分析及发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030数码印花机行业项目调研及市场前景预测评估报告.docx
- 2025至2030中国直板鞋行业发展分析及发展趋势分析与未来投资战略咨询研究报告.docx
最近下载
- 中华人民共和国机械行业标准燃煤热风炉技术条件.PDF
- 武汉市光谷为明实验学校新初一分班语文试卷含答案.pdf VIP
- 浙江大学紫金港校区校园平面图.PDF VIP
- 中级车号员(长)试题及答案.pdf VIP
- 铁路车号员(长):中级车号员(长)测试题.docx VIP
- 铁路车号员(长)中级车号员(长)试卷(铁路车号员(长)).doc VIP
- 铁路车号员(长)车号员一体化考试试卷(铁路车号员(长)).doc VIP
- 铁路车号员(长)铁路车号员(长)综合练习试卷(铁路车号员(长)).doc VIP
- 铁路车号员(长)铁路车号员(长)综合练习试卷.doc VIP
- 初中数学高质量作业设计策略与实践.pptx
文档评论(0)