关于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函数的指针。
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函数的指针。
相关文章推荐
- 关于typedef int(*lpAddFun)(int, int)
- 上海华为的一道关于指针方面的编程题 int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize)
- typedef void (* t_pf_int_handler)()关于这个
- 关于typedef void (*sighandler_t)(int)的理解
- 题目,关于: typedef int (* func)(int ,int )
- 关于typedef void (*sighandler_t)(int)的理解
- 关于typedef int(*lpAddFun)(int, int)
- #define a int[10]与 typedef int a[10]用法
- #define a int[10]与 typedef int a[10]用法
- 关于typedef int (*pFunc)(int, int)
- #define a int[10] typedef int a[10]
- 关于typedef int (init_fnc_t) (void);理解
- typedef int a[10] 与typedef int* a[10];与typedef int (*a)[10] 与 typedef int * (*a)[10]
- 关于typedef的用法
- 关于typedef的用法(转贴自zkheartboy的blog)
- 关于typedef的用法(未读)(此文极好)
- 关于"parseInt"
- 关于DirectShow 和 Largeint.lib
- 关于C++中函数指针的使用(包含对typedef用法的讨论)
- 关于int,double 到string的转换