分类: C/C++
2016-05-28 09:00:38
typedef int INT16
typedef long INT32
替换成:
typedef short INT16
typedef
int INT32
当定义:
char_ptr p1, p2;
这时为:
char
*p1, p2;
这时p1为指针变量,而p2只是一个char型变量,并未被定义成指针。因此重新命名数据类型时,最好用typedef结构:typedef char*
char_ptr;
(1) 返回类型(*函数名)(函数参数)
char (*pFun)(int);
pFun是一个函数指针,指向一个返回类型为int,传入参数为int的函数。
例如:
char PP(int a) //新定义一个函数
{
};
pFun = PP; //将函数入口指针传入pFun
pFun(2); //pFun可以像pp(int a)那样使用了
(2) typedef 返回类型(*新类型)(函数参数)
typedef char (*ppFun)(int);
同上,只是这时ppFun是一个新类型可以通过ppFun定义一个新的函数指针。
例如:
ppFun pFun; //定义pFun为函数指针变量
char PP(int a) //新定义一个函数
{
};
pFun = PP; //将函数入口指针传入pFun
pFun(2); //pFun可以像pp(int a)那样使用了
(3) 直接定义一个返回函数指针的函数
例如:
int (*Fun(int a))(int, int)
{
Return fun1(a);
}
该函数中fun1()是已经定义了的一个返回函数指针的函数,a是该函数传入的参数,Fun是函数名。该函数返回的是一个返回类型为int,函数参数为(int,int)的函数指针。
点击(此处)折叠或打开