typedef函数指针

转载 2016年08月29日 16:43:55

typedef int (*MYFUN)(int, int);
这种用法一般用在给函数定义别名的时候
上面的例子定义MYFUN 是一个函数指针, 函数类型是带两个int 参数, 返回一个int

在分析这种形式的定义的时候可以用下面的方法:
先去掉typedef 和别名, 剩下的就是原变量的类型.
去掉typedef和MYFUN以后就剩:
int (*)(int, int)

用法二:

typedef给变量类型定义一个别名.

typedef struct{
int a;
int b;
}MY_TYPE;

这里把一个未命名结构直接取了一个叫MY_TYPE的别名, 这样如果你想定义结构的实例的时候就可以这样:
MY_TYPE tmp;

第二种用法:typedef 原变量类型 别名

简单的函数指针的用法

//形式1:返回类型(*函数名)(参数表)

char(*pFun)(int);
//typedef char(*pFun)(int) //跟上一行功能等同

/typedef的功能是定义新的类型。第一句就是定义了一种PTRFUN的类型,并定义这种类型为指向某种函数的指针,这种函数以一个int为参数并返回char类型。/

char glFun(int a){return;}

void main()

{

pFun =glFun;

(*pFun)(2);

}

第一行定义了一个指针变量pFun.它是一个指向某种函数的指针,这种函数参数是一个int类型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。

第二行定义了一个函数glFun().该函数正好是一个以int为参数返回char的函数。我们要从指针的层次上理解函数-函数的函数名实际上就是一个指针,函数名指向该函数的代码在内存中的首地址。

typedef重命名的意义

官方的定义我就不抄过来了,它的作用是“给已知数据类型重命名”。详细的用法和例子我不解释了,我也不是太懂,记不住。 今天看源码的时候,突然明白其意义,为啥要给数据类型取别名?就是为了让数据类型和系统代码...
  • xzongyuan
  • xzongyuan
  • 2014年02月28日 16:34
  • 964

typedef 的用法,typedef写在类里面的作用

平时,我meng
  • dalleny
  • dalleny
  • 2014年09月03日 01:19
  • 4932

C语言的typedef指令

C语言的typedef指令 typedef工具是一个高级数据特性,利用typedef可以为某一类型自定义名称。它与#define有3个不同点:(1)与#define不同,typedef创建的符号名只...
  • libing403
  • libing403
  • 2017年06月18日 01:21
  • 1494

typedef和define的详细区别

原文链接:http://developer.51cto.com/art/201104/256060.htm typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型...
  • zhangbest2009
  • zhangbest2009
  • 2015年07月21日 11:03
  • 573

一次读懂C语言typedef的用法

要学懂typedef,你要有一本讲c的语法数,同时配上这篇文章即可。 本文将typedef总结为四个用途,两个陷阱...
  • u012676933
  • u012676933
  • 2016年11月08日 10:15
  • 598

C/C++ typedef用法详解(真的很详细)

转自:http://blog.csdn.net/ameyume/article/details/6326278 第一、四个用途 1.1 用途一: 定义一种...
  • Lee_Shuai
  • Lee_Shuai
  • 2016年11月20日 17:16
  • 895

枚举、typedef关键字

1)枚举类型介绍及定义 目前为止接触到的数据类型: 基本数据类型 指针类型 空类型 void 构造类型 数组、结构体 枚举类型 a、枚举类型 ①枚举类型定义的一般形式: enum 枚举类型名{ 值1,...
  • ITclody
  • ITclody
  • 2015年06月29日 01:11
  • 1823

宏定义与typedef不能说的秘密

研究问题 宏定义#define与定义别名typedef使用方法 define与typedef区别 要点: 宏定义#define为预处理指令在编译处理时进行简单的替换,不作正确性检查,不关含义是否正确照...
  • qq_31360933
  • qq_31360933
  • 2017年01月06日 21:57
  • 826

C语言声明及typedef常见用法

C语言声明的优先级规则 A 声明从它的名字开始读取,然后按照优先级顺序依次读取 B 优先级从高到底依次是:   B.1 声明中被括号括起来的那部分   B.2 后缀操作符:       括号()表示这...
  • wangpeihuixyz
  • wangpeihuixyz
  • 2014年04月03日 23:20
  • 1153

结构体定义 typedef struct 用法详解和用法小结

typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。 具体区别在于: 若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,...
  • mpp_king
  • mpp_king
  • 2017年04月18日 15:46
  • 2701
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:typedef函数指针
举报原因:
原因补充:

(最多只允许输入30个字)