在C++中,指针变量可以指向普通变量、字符串和数组等,同时也可以指向函数,因为一个函数在编译时被分配一个入口地址,这个入口地址即为该函数的指针。所以,可以用指针变量指向函数,然后通过该指针变量调用此函数。
在C++中,函数的名称就代表了一般定义形式为:
数据类型表示符 (*指针变量名)()
例如:int (*p)();
程序示例:
#include "iostream.h"
int max(int x, int y);
void main()
{
int (*p)();
int a,b,c;
p=max;
cin>>a>>b;
c=(*p)(a,b);
cout<<c;
}
注意:
(1)函数的调用可以通过函数名调用,也可通过函数指针调用。
(2)int(*p)();知识表示定义了一个指向函数的指针变量,而不是固定指向哪一个函数,在程序中把哪一个函数的地址赋给它,它就指向哪一个函数。
(3)在函数指针变量赋值时,只需给出函数名,而不必给出参数。
(4)对指向函数的指针作像p+n、p++、p--等算数运算是无意义的。
延伸阅读
- 2011-9-1-- c语言指针,深入理解C语言指针的奥秘
- 2010-12-9-- 函数指针,ASP GetRef 函数指针试探
- 2010-12-9-- php数组函数,PHP array_flip() 删除重复数组元素专用函数
- 2011-6-11-- 指针数组,php数组指针探究
- 2010-12-9-- 函数指针数组,约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
- 2010-12-9-- php数组函数,支持数组的ADDSLASHES的php函数
- 2010-12-9-- php数组函数,php不用内置函数对数组排序的两个算法代码
- 2010-12-9-- php数组函数,PHP array_push 数组函数
- 2011-6-12-- 指针数组,php数组指针探究二
- 2010-12-9-- php数组函数,asp 数组 重复删除函数(脚本之家增强版)
最新评论