函數指針的定義是什么
顧名思義,函數指針就是函數的指針。它是一個指針,指向一個函數。看例子:
A),char * (*fun1)(char * p1,char * p2);
B),char * *fun2(char * p1,char * p2);
C),char * fun3(char * p1,char * p2);
數組參數等效的指針參數
數組的數組:char a[3][4] 數組的指針:char (*p)[10]
指針數組: char *a[5] 指針的指針:char **p
看看上面三個表達式分別是什么意思?
C):這很容易,fun3 是函數名,p1,p2 是參數,其類型為char *型,函數的`返回值為char *類型。
B):也很簡單,與C)表達式相比,唯一不同的就是函數的返回值類型為char**,是個二級指針。
A):fun1 是函數名嗎?回憶一下前面講解數組指針時的情形。我們說數組指針這么定義或許更清晰:
int (*)[10] p;
再看看A)表達式與這里何其相似!明白了吧。這里fun1 不是什么函數名,而是一個指針變量,它指向一個函數。這個函數有兩個指針類型的參數,函數的返回值也是一個指針。
同樣,我們把這個表達式改寫一下:char * (*)(char * p1,char * p2) fun1; 這樣子是不是好看一些呢?只可惜編譯器不這么想
【函數指針的定義是什么】相關文章:
javascript中定義函數的區別11-15
Javascript函數的定義和用法分析11-15
PHP如何自定義函數11-25
關于php自定義函數11-18
閏年的定義是什么07-24
公積金的定義是什么08-03
有關php parse-str() 函數的定義和用法11-15
客戶關系管理的定義是什么09-30