您的位置:首页 > 编程语言 > C语言/C++

关于typedef int (*ADDPROC)(int a, int b)

2014-10-09 09:26 253 查看
在VC++ DLL学习中看到以下的宏定义的方法,当时一下子没看明白,后来看到有人提到这个用法。

typedef int (*ADDPROC)(int a, int b);//宏定义函数指针类型

我们经常见到的typedef定义是这样的:

typedef unsigned int uint;
这里定义uint作为unsigned int 的别名,定义变量时可以直接使用别名。

这里定义的是一种指针类型ADDPROC,用于表示这种函数的地址,是指向
int (int,int)函数的指针,函数的返回值为int型。举个例子说明一下。

//func.h

int add(int a,int b)

{
return a+b;

}

int sub(int a,int b)

{
return a-b;

}

typedef int (*ADD)(int,int);

////////////////////////////////////////////////////////////

//func.cpp

#include "stdafx.h"
#include "test.h"
#include <iostream>
using namespace std;
int main()
{
int x=10,y=5;
ADD P=add;
cout<<P(10,5)<<endl;
}
其中P是指向add函数的指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息