首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

【C/C++学习】之7、指向函数的指针

2012-09-10 
【C/C++学习】之七、指向函数的指针什么是指向函数的指针函数指针是指向函数的指针变量,不是指向对象的指针!

【C/C++学习】之七、指向函数的指针

什么是指向函数的指针

函数指针是指向函数的指针变量,不是指向对象的指针!函数指针本身应该是“指针变量”;

“在C语言中,函数本身不是变量,但可以定义指向函数的指针,这种指针可以被赋值、存放于数组之中,传递给函数及作为函数的返回值等” --《The C Programming Language Second Edition》

一个函数在编译的时候被分配一个入口地址,这个入口地址就称为函数指针。就一个函数来说,他做两件事,1、调用它。2、取得他的地址。 当你通过取得函数的地址来得到指针,那你就可以用这个指针来调用函数了!

下面来看一个实例:

#include<iostream>using namespace std;int max(int a, int b)//来定义一个函数{if (a > b){return a;}else{return b;}}int main(){typedef int (*tf)(int a, int b); //tf是别名int (*f)(int a, int b);//f是函数指针int a, b, c;f = &max;//赋值   &这个符号有没有都可以tf af = max;//初始化  赋值cin >> a >> b;c = (*f)(a, b);//调用cout << c << endl;c = af(a, b);//调用cout << c << endl;return 0;}


指针函数和函数指针

指针函数是指返回值是指针的函数,即本质是一个函数。而函数指针在上文我们已经介绍了那么多了!

事实上,每一个函数,即使它不带有返回某种类型的指针,它本身都有一个入口地址,该地址相当于一个指针。


2012/8/20

jofranks于南昌


热点排行