2.9.5 指向函数的指针

2013-10-12 07:00:55 · 作者: · 浏览: 131

2.9.5 指向函数的指针

在定义一个函数之后,编译系统为每个函数确定一个入口地址,当调用该函数的时候,系统会从这个“入口地址”开始执行该函数。存放函数入口地址的变量就是一个指向函数的指针,简称为函数指针。函数指针定义的一般形式如下:

  1. 类型标识符(* 指针变量名) ( ); 

类型标识符为函数返回值的类型。在C语言中,( )的优先级比*高,因此,“* 指针变量名”外部必须用括号,否则指针变量名首先与后面的( )结合。

函数指针必须赋初值,才能指向具体的函数。由于函数名代表了该函数的入口地址,因此可以直接用函数名为函数指针变量赋初值,即:

  1. 函数指针变量名= 函数名; 

例如

  1. double fun( ); /*函数说明*/  
  2. double (* f )( ); /*函数指针说明*/  
  3. f=fun; /*f指向fun函数*/ 
函数指针经定义和赋值之后,在程序中可以应用该指针,目的是调用被指针所指的函数。由此可见,使用函数型指针,增加了函数调用的方式。