#include <stdio.h>
#include <string.h>
char * fun(char * p1,char * p2)
{
int i = 0;
i = strcmp(p1,p2);
if (0 == i)
{
return p1;
}
else
{
return p2;
}
}
intmain()
{
char * (*pf)(char * p1,char * p2);
pf = &fun;
(*pf) ("aa","bb");
return 0;
}
我们使用指针的时候,需要通过钥匙(“*”)来取其指向的内存里面的值,函数指针使
用也如此。通过用(*pf)取出存在这个地址上的函数,然后调用它。这里需要注意到是,在
Visual C++6.0 里,给函数指针赋值时,可以用&fun 或直接用函数名fun。这是因为函数名被
编译之后其实就是一个地址,所以这里两种用法没有本质的差别
#include <string.h>
char * fun(char * p1,char * p2)
{
int i = 0;
i = strcmp(p1,p2);
if (0 == i)
{
return p1;
}
else
{
return p2;
}
}
intmain()
{
char * (*pf)(char * p1,char * p2);
pf = &fun;
(*pf) ("aa","bb");
return 0;
}
我们使用指针的时候,需要通过钥匙(“*”)来取其指向的内存里面的值,函数指针使
用也如此。通过用(*pf)取出存在这个地址上的函数,然后调用它。这里需要注意到是,在
Visual C++6.0 里,给函数指针赋值时,可以用&fun 或直接用函数名fun。这是因为函数名被
编译之后其实就是一个地址,所以这里两种用法没有本质的差别