11

来源:互联网 发布:数据分析师考试报名费 编辑:程序博客网 时间:2024/05/16 17:43

(1)指向函数的指针变量的一般定义形式为

数据类型 (*指针变量名)();

这里的“数据类型”是指函数返回值的类型。

(2)函数的调用可以通过函数名调用,也可以通过函数指针调用(即用指向函数的指针变量调用)。

(3)(*p)()表示定义一个指向函数的指针变量,它不是固定指向哪一个函数的,而只是表示定义了这样一个类型的变量,它是专门用来存放函数的入口地址的。在程序中把哪一个函数的地址赋给它,它就指向哪一个函数。在一个程序中,一个指针变量可以先后指向不同的函数。

(4)在给函数指针变量赋值时,只需给出函数名而不必给出参数,如:

p=max;

因为是将函数入口地址赋给p,而不牵涉到实参与形参的结合问题。不能写成“p=max(a,b)”形式。

(5)用函数指针变量调用函数时,只需将(*p)代替函数名即可(p为指针变量名),在(*p)之后的括弧中根据需要写上实参。

(6)对指向函数的指针变量,像p+n、p++、p--等运算时无意义的。

 

用指向函数的指针做函数参数

作用是让一个函数可以动态的调用不同的函数,只要传入的指针指向不同的函数即可,当然返回值的类型要是一样的。这个问题是在函数里面直接调用另外的两个函数所无法处理的。

 

返回指针值的函数:

类型名 *函数名(参数名);

原创粉丝点击