C++中的函数指针

来源:互联网 发布:单片机驱动电机 编辑:程序博客网 时间:2024/05/18 03:19
    在C++中,指针变量可以指向普通变量、字符串和数组等,同时也可以指向函数,因为一个函数在编译时被分配一个入口地址,这个入口地址即为该函数的指针。所以,可以用指针变量指向函数,然后通过该指针变量调用此函数。
    在C++中,函数的名称就代表了一般定义形式为:
        数据类型表示符 (*指针变量名)()
        例如:int (*p)();
        程序示例:
        #include "iostream.h"
        int max(int x, int y);
        void main()
        {
            int (*p)();
            int a,b,c;
            p=max;
            cin>>a>>b;
            c=(*p)(a,b);
            cout<<c;
        }
    注意:
        (1)函数的调用可以通过函数名调用,也可通过函数指针调用。
        (2)int(*p)();知识表示定义了一个指向函数的指针变量,而不是固定指向哪一个函数,在程序中把哪一个函数的地址赋给它,它就指向哪一个函数。
        (3)在函数指针变量赋值时,只需给出函数名,而不必给出参数。
        (4)对指向函数的指针作像p+n、p++、p--等算数运算是无意义的。