指向函數(shù)的指針變量

字號(hào):

函數(shù)的指針是指函數(shù)的入口地址,和數(shù)組名代表數(shù)組的首地址一樣,函數(shù)名代表函數(shù)的入口地址。
    若有一個(gè)指針變量,存放某一個(gè)函數(shù)的入口地址,我們可以通過指向這個(gè)函數(shù)的指針變量來調(diào)用函數(shù)。
    1.定義指向函數(shù)的指針變量
    形式如下:
    類型標(biāo)識(shí)符(*變量標(biāo)識(shí)符)();
    類型標(biāo)識(shí)符是指針變量所指向的函數(shù)類型,變量標(biāo)識(shí)符是指向函數(shù)的指針變量名。
    例如:
    int(*p)();
    定義了一個(gè)指向函數(shù)的指針變量p,它可以存放一類整型函數(shù)的入口地址,程序中把哪一 個(gè)函數(shù)的入口地址賦給它,它就指向哪一個(gè)函數(shù)。
    說明:
    (1)定義指向函數(shù)的指針變量,可以指向一類函數(shù)。
    (2)定義指向函數(shù)的指針變量時(shí),括號(hào)不能省略。
    形式int*p()定義的是指針函數(shù)頭,返回值是指向整型數(shù)據(jù)的指針值,而不是指向函數(shù)的指針變量。
    (3)對指向函數(shù)的指針變量p,p+i、p++、p--等運(yùn)算無意義。
    2.讓指針變量指向函數(shù)
    定義了指向函數(shù)的指針變量,就可以在指針變量與特定函數(shù)之間建立關(guān)聯(lián),讓指針變量指向特定函數(shù)。
    建立關(guān)聯(lián)的方法為:
    指針變量一函數(shù)名;
    說明:
    (1)指針變量只能指向定義時(shí)所指定的一類函數(shù)。
    (2)一個(gè)指針變量可以先后指向多個(gè)不同的函數(shù)。
    3.利用指針實(shí)現(xiàn)函數(shù)調(diào)用
    指針變量一旦指向某函數(shù),利用指針?biāo)赶虻淖兞靠梢詫?shí)現(xiàn)函數(shù)調(diào)用。
    一般形式:
    (* 指針變量)(實(shí)參表);