環境: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...