求C 高手解答關於函式指標問題

2022-03-01 03:46:38 字數 783 閱讀 6389

1樓:匿名使用者

① 不是函式指標可以指向任何同型別的函式嗎?

這是可以的

但是一般的成員函式是在例項化類(建立物件)時,才在記憶體中分配空間的。

#include

using namespace std;

class ca

};int main()

可以把成員函式說明成靜態函式,這樣就能確定此函式有乙個固定的唯一位址。

②不是函式名就是首位址嗎?

是的當函式是成員函式

要得到成員函式的位址,必須通過類名

這就如我們的陣列一樣

如a[3]

a是乙個首位址,同時也是a[0]的位址,(普通函式名就如a一般)而對於類來說,a是乙個類名,要得到其成員的位址,你就必須如&a[2]這樣的寫法了~

2樓:匿名使用者

一般我們用typedef 返回型別(*識別符號)(引數列表)這種形式去定義乙個函式型別,如

typedef void (*pshow)();

這種形式,而且用法是你所說的

全域性的函式 void display();

typedef void (*pshow)();

pshow pdis = display;

一般都是指向乙個全域性或者靜態函式,為什麼呢,因為類的成員函式(非靜態的)其實它們的引數列表裡都隱含了乙個引數,就是this指標,所以你定義的那個pshow pdis = &ca::display; 這句編譯可以通過,但是當你呼叫pdis時,你會發現錯誤的;所以你還是別這麼用!

C語言這個F函式再指標C語言指標問題

28f為傳值呼叫。所以f中的修改不影響main中變數的值。輸出的還是原始值。即 4,3,5 選d29 a 4b a q b w q b q null a q 0 由於q已經賦值為null,再對 q賦值會引起程式崩潰。這個不對 b w p 指標間賦值,正確。c p a 也就是a a 正確。d p w ...

高分急求!C語言程式設計問題,求高手解答

倆程式一樣的啊。1 max裡的x,y是外部傳入的兩個整數,作為待比較的引數,比較後可以返回兩者間的較大值 2 x,y是函式max的形式引數,所以已有定義,不需要max裡面再重新宣告 3 根據函式max的功能來看,最終是要返回較大值,而z是xy兩者中的較大值,故肯定返回z。除非xy乙個為負數乙個為0或...

關於c語言中的指標問題,關於c語言中的指標問題。

char p heir 這句話包含了2層意思,一是定義乙個指標變數p,即 char p 二是為指標變數p賦初值,即 p heir 實際是將存放字串 heir 的記憶體位址賦給p 因此這句話實際上等價於 char p p heir char p heir 這個表示定義字元指標變數p,並將存放字串 he...