如果使用typedef 是这样的
//可以把一个小写字母变成大写
//char (*pFun)(char);
typedef char (*PTRFUN)(char);
PTRFUN pFun;
char glFun(char a){ return a & 223;}
void print(int a,PTRFUN
call)
{
cout<<call(a)<<endl;
}
void main()
{
pFun = glFun;
print(‘a‘,pFun);
}
如果不使用typedef是这样的
char (*pFun)(char);
//typedef char (*PTRFUN)(char);
//PTRFUN pFun;
char glFun(char a){ return a & 223;}
void print(char
a,char(*pFun)(char))
{
cout<<pFun(a)<<endl;
}
void
main()
{
pFun = glFun;
print(‘a‘,pFun);
}
比较有意思的是:定义int a;//a是变量名。
定义char (*pFun)(char); //pFun是变量名。写法好奇怪。
原文:http://www.cnblogs.com/wasss/p/3725040.html