[問題] function pointer可以這樣用嗎?

作者: zzss2003 (brotherD)   2018-08-14 11:58:31
程式碼: https://ideone.com/pwCqzF
問題: 為什麼function pointer可以透過define找到function的address?
拿第一個183的James當作例子好了。當程式碼在執行的時候,preprocessor會先把
BASKETBALL換掉,取代成PLAY_BASKETBALL。
但PLAY_BASKETBALL並不等於function PLAY_BASKETBALL,為什麼程式會自動跳到函式裡面
?
請問是跟dlsym這個函式功能有關嗎?
還是C語言只要define中的識別字跟function name一樣,就會把它取代成function name?
/*已由printf測試過,的確會跑到該程式裡面*/
作者: chuegou (chuegou)   2018-08-14 12:14:00
如果沒有指到play_basketball那會指到哪裡阿?
作者: boss0405 (boss)   2018-08-14 12:17:00
你的DETAIL_T最後一個就是f_ptr了阿
作者: sarafciel (Cattuz)   2018-08-14 12:32:00
PLAY_BASKETBALL不等於function PLAY_BASKETBALL的話你覺得他應該要等於什麼?
作者: zzss2003 (brotherD)   2018-08-14 16:44:00
了解了,謝謝各位大大

Links booklink

Contact Us: admin [ a t ] ucptt.com