自定义指向函数的指针的数据类型.

作者在 2007-11-16 06:42:00 发布以下内容
     自定义指向函数的指针的数据类型在理解上比其它类型较难以理解.
比如,自定义一个指向int (int,int);的函数的指针数据类型,
是这样做,typedef int (*PointType)(int,int) ;
这样看起来是不是很难理解.我们可以先看一看,定义一个指向函数的指针变量的
方法:int (*p)(int,int); .我们可以把它这样理解为:
int (*)(int,int) p;这样看待是不是有点像定义变量一样.
然后,我们把typedef int (*PointType)(int,int) ;
把它看成 typedef int (*)(int,int) PointType;就是更容易理解.
所以:
PointType p;
相当于int (*p)(int,int);了.
(注意在上面提到的 int (*p)(int,int); 看作int (*)(int,int) p;
不是真的可以这样做,只是对你理解问题容易一点. 同理typedef int (*)(int,int) PointType
)
说了这么多就举一个例子吧:
#include<stdio.h>
#include<conio.h>
typedef int (*PointType)(int,int);
int function(int,int);
int main()
{
 PointType p;
 p=function;
 clrscr();
 p(1,2);
 getch();
}
int function(int d1,int d2)
{
 printf("%d %d\n",d1,d2);
}
希望大家能通过此次的讲解,对自定义指向函数的指针的数据类型有更多地了解.
我的C语言编程经验 | 阅读 3718 次
文章评论,共0条
游客请输入验证码