先说结论:
1、指针函数(返回指针的函数)本质是一个函数,其返回值为指针。
2、函数指针(指向函数的指针)本质是一个指针,其指向一个函数。
指针函数:
返回指针的函数的一般形式为:类型名 * 函数名(参数列表)
和普通函数的区别不过就是其返回了一个指针(即地址值)而已。
int *fun(int x,int y);
int * fun(int x,int y);
int* fun(int x,int y);
例1:
#include<iostream>
using namespace std;
char * D(char s[])
{
return s;
}
int main()
{
char s[]="abcvb";
char *ptr;
cout<<"D(S) = "<<D(s)<<endl;
ptr = D(s);
cout<<"*ptr = "<<*ptr<<endl;
cout<<"ptr = "<<ptr<<endl;
return 0;
}
运行结果:
D(S) = abcvb
*ptr = a
ptr = abcvb
函数指针:
函数指针,其本质是一个指针变量