C C 函式名 指標,位址 全析

2021-06-16 04:00:25 字數 409 閱讀 6830

環境:vc++6.0 windowsxp

限於時間和篇幅,我直接講結果了,過程大家可以自行測試

我們定義乙個函式:

void fun()

你可能有以下疑問:

1.fun這個名稱是什麼?

2.fun的值是什麼?

3.&fun是什麼?

4.*fun是什麼?

以下是我測試後的答案:

1.答:fun這個名稱實際上是個ulong(unsigned long)型別的長整數,強制轉換便可獲取

2.答:fun的值是整個函式在本程式位址空間中的虛擬位址

3.答:&fun的值就是fun本身,即這個函式在本程式位址空間中的虛擬位址

4.答:*fun,就是指「fun值」這個位址中放的數,得到結果還是fun,請讀者根據前3個問題想想為什麼?

函式指標與函式名

迷惑很久的問題了,今天正好又遇到這個問題,就抽了個時間研究總結了一下把它記錄下來。和同學討論乙個typedef的問題,實驗過程中偶然發現vs2005的行為 int fun wrong syntax constraint error f g wrong declares that g returns ...

函式指標與函式名

首先函式指標的定義,如果指向無參函式,定義的時候後面一定要加 否則編輯器無法分辨這是指向函式的指標 void f 指向void 的指標 void f 指向void void 函式的指標 int f 指向int void 函式的指標 寫這個主要是因為今天突然想到,函式名,函式指標,到底都是啥?先看 i...

函式名與函式指標

對函式名和函式指標存在一些疑惑,如下 通過乙個簡單的測試程式,並對其進行反彙編,對其分析,對上述問題有了清晰的認識.先貼上測試 和反彙編 以供分析.typedef void pfunc void void func int main void main 函式的反彙編 段 pfunc p p func...