C语言 函数的指针与指向函数的指针变量

  1、函数的指针与指向函数的指针变量

    函数的指针,就是函数在内存中对应的地址。

    指向函数的指针变量,把函数在内存中对应的地址保存于指针变量中,该指针变量就指向了函数。

  

   2、指向函数的指针变量的定义格式

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

 

     格式分析

    (1)数据类型:就是前面我们学习变量定义时的类型:整型int,浮点型float,字符型char。

    (2)一对小括号,一定要加上,这样,“*”才可以与后面的指针变量名结合。

    (3)一对小括号,一定要加上,该小括号说明了该指针变量指向函数。

 

   3、指向函数的指针变量赋值格式

      格式1:     

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

 

      格式1分析

      把函数的名字赋给指针变量,这样,指针变量就指向了该函数。

 

      例子

          void test()

          {

            int i=0;

            i=i+1;

          }  

          void (*p)()=test; 

 

      例子分析

      (1)定义了函数test。

      (2)在定义函数的指针变量时一并进行赋值,将p指向test函数。

 

      格式2

      指针变量名 = 函数名; 

      分析

      在指向函数的指针变量定义后在有需要的时候,再赋值,而赋值的方式是在“=”的左方输入指针变量名,

      而“=”的右方输入要指向的函数的名字。

     

      例子

          void test()

          {

            int i=0;

            i=i+1;

          }

  

          void (*p)();  //定义了函数指针变量p

          

          void main()

          {

            p=test;   

          }

 

       例子分析

       (1)定义了函数test。

       (2)定义函数指针变量p,但并没有指向任何函数。

       (3)在main函数中通过函数的指针变量p指向test函数。

 

=======================================================================

非常好,现在,我们已经掌握了C语言中的(函数的指针与指向函数的指针变量)但是,如何去运行用它呢?

所以,我们就需要通过下方的链接,进入到C语言的代码训练中,然后,通过实践去加深对该知识点的理解与运用。

>>>下载训练环境与使用说明(使用真实的开发环境,结合游戏闯关进行 编程训练)