指向函数的指针变量

来源:岁月联盟 编辑:zhu 时间:2009-02-20
   函数的指针是指函数的入口地址,和数组名代表数组的首地址一样,函数名代表函数的入口地址。 
    若有一个指针变量,存放某一个函数的入口地址,我们可以通过指向这个函数的指针变量来调用函数。 


    1.定义指向函数的指针变量 
    形式如下: 
    类型标识符(*变量标识符)(); 
    类型标识符是指针变量所指向的函数类型,变量标识符是指向函数的指针变量名。 


    例如: 
    int(*p)();  
    定义了一个指向函数的指针变量p,它可以存放一类整型函数的入口地址,程序中把哪一 个函数的入口地址赋给它,它就指向哪一个函数。 
    说明: 
    (1)定义指向函数的指针变量,可以指向一类函数。 
    (2)定义指向函数的指针变量时,括号不能省略。 
    形式int*p()定义的是指针函数头,返回值是指向整型数据的指针值,而不是指向函数的指针变量。  
    (3)对指向函数的指针变量p,p+i、p++、p--等运算无意义。 


    2.让指针变量指向函数 
    定义了指向函数的指针变量,就可以在指针变量与特定函数之间建立关联,让指针变量指向特定函数。 
  建立关联的方法为: 
  指针变量一函数名; 
  说明: 
  (1)指针变量只能指向定义时所指定的一类函数。 
  (2)一个指针变量可以先后指向多个不同的函数。

  
  3.利用指针实现函数调用 
  指针变量一旦指向某函数,利用指针所指向的变量可以实现函数调用。 
  一般形式:
(* 指针变量)(实参表);

图片内容