指针函数,其本质依然是一个函数,只不过其返回值是指针类型的。
指针函数的定义格式如下:
返回类型标识符 *函数名称(形式参数表)
{
函数体
}
简单举例说明:
#include
using namespace std;
/***定义指针函数,函数功能是返回num[index]的地址***/
int * find(int num[], int index)
{
return &num[index];
}
int main()
{
int a[6] = {1, 4, 6, 3, 7, 9};
int *n = find(a, 3);
cout<<*n<
return 0;
}
运行结果如下:
函数指针本身应该首先应是指针变量,只不过该指针变量指向函数。
C程序在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样。
函数指针的声明方法为:
数据类型标志符 (指针变量名) (形参列表);
需要说明的一点是,赋给函数指针的函数应该和函数指针所指的函数原型是一致的。
简单举例说明:
#include
using namespace std;
/*函数功能:返回两个整形数中较大的那个*/
int max(int a, int b)
{
return a > b ? a : b;
}
int main()
{
//声明一函数指针
int (*getMax)(int, int);
int x = 45;
int y = 90;
//将max函数的首地址赋给指针getMax
getMax = max;
int z = getMax(x, y);
cout<<"较大的数是:"<
return 0;
}
运行结果如下:
阅读(703) | 评论(0) | 转发(0) |