函数指针:指向函数的存储空间地址的指针,本质是一个指针。
int (*fun)(int x);
指针函数:返回值为指针,本质是一个函数
int * fun(int x);//函数返回一个指向整型数据的地址指针
#include<iostream>
using namespace std;
//函数指针
int f(int x,int y)
{
int z;
z=x>y?x:y;
return z;
}
//指针函数
char *ch(char *str1,char *str2)
{
char *p;
p=str2;
if (*str2==NULL)
{
exit(-1);
}
do
{
*str2=*str1;
str1++;
str2++;
} while (*str1!=NULL);
*str2='\0';
return (p);
}
int main(int argc,char *argv[])
{
char str1[]="hua guang lu erer ";
char str2[]="lu guang hua ";
int a,b;
char *ch(char *,char *);
int (*p)(int,int);
scanf("%d",&a);
p=f;
for (int i=1;i<5;i++)
{
scanf("%d",&b);
a=(*p)(a,b);
}
printf("The max num is %d",a);
cout<<endl;
printf("%s",ch(str1,str2));
cout<<endl;
return 0;
}
本文通过具体的代码示例介绍了函数指针与指针函数的区别及应用。函数指针用于存储函数地址,而指针函数则是一种返回指针类型的函数。文中还提供了实际的C++代码来演示如何使用这两种特性。

被折叠的 条评论
为什么被折叠?



