1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档