0
A
回答
1
記得做類型轉換,我們使用以下命令:
(type_to_cast) value;
當你想投一些value
到某種type
。
還記得你定義一個函數指針作爲
return_type (*pointer_name) (data_types_of_parameters);
和一個函數指針的類型
return_type (*) (data_types_of_parameters)
最後,你可以調用一個函數與它的指針
(*func_pointer)(arguments);
因此,考慮到這4點,你會發現你的C代碼:
第一個定義了一個函數指針func
。
二,蒙上code
作爲函數指針,它的值賦給func
三,調用由func
指向的功能,並且降reutrned到int
值。
5
這是對函數指針的強制轉換。
序列號int (*)()
用於一個函數指針,該函數指針接受不確定數量的參數,並返回一個int
。用(int (*)())
括起來,當與表達式結合使用時,將會轉換表達式的結果。
你給出的代碼,有評論說:
// Declare a variable `func` which is a pointer to a function
int (*func)();
// Cast the result of the expression `code` and assign it to the variable `func`
func = (int (*)()) code;
// Use the variable `func` to call the code, cast the result to `int` (redundant)
// The returned value is also discarded
(int)(*func)();
+3
該函數調用將放棄返回值。 – haccks
0
int (*func)();
聲明func
作爲一個指針採用任何數量的參數,並返回int
功能。在語句
func = (int (*)()) code;
,流延塗布到code
,然後將其分配給函數指針func
。(int)(*func)();
沒有多大意義。演員不需要,它會丟棄返回值。呼叫應該是單純的喜歡int var = func();
或
int var = (*func)();
相關問題
- 1. Java中的空花括號/大括號是什麼意思?
- 2. Objective-C括號中的星號......這是什麼意思?
- 3. 在路徑名中,*。*(星號,句號,星號)是什麼意思?
- 4. 什麼是「:*」(冒號星號)在Ruby中是什麼意思?
- 5. 綁定路徑中的圓括號是什麼意思?
- 6. 閉包的括號是什麼意思?
- 7. 種類水平的圓括號是什麼意思?
- 8. 雙括號是什麼意思?
- 9. 花括號後的括號是什麼意思?
- 10. 數組聲明中方括號內的星號是什麼意思C
- 11. Groovy中變量名後的空方括號是什麼意思?
- 12. 記錄配置字典中的空括號「()」是什麼意思?
- 13. 函數中的空括號是什麼意思?
- 14. Python中的空括號是什麼意思?
- 15. 大括號中的數字是什麼「{0}」是什麼意思?
- 16. 這個方括號和括號括號是什麼意思[first1,last1]?
- 17. 打開的括號後的逗號是什麼意思?
- 18. 語句中的問號和冒號是什麼意思?這是什麼意思?
- 19. &符號是什麼意思?
- 20. 冒號是什麼意思?
- 21. 問號是什麼意思?
- 22. 符號「⊇」是什麼意思?
- 23. assert等於空括號(assert x ==())是什麼意思?
- 24. 等號前的星號是什麼意思(* =)?感嘆號怎麼樣?
- 25. C中的星號空間 - 額外的空格是什麼意思?
- 26. @interface和@implementation指令中圓括號內的文字是什麼意思?
- 27. httpfox中'received'列的括號中的數字是什麼意思?
- 28. 什麼在類名末尾的角度括號的符號是什麼意思?
- 29. python中for循環中的[]括號是什麼意思?
- 30. 在JavaScript/jQuery中,括號中的代碼塊是什麼意思?
請提供[MCVE](http://stackoverflow.com/help/mcve)。什麼是_subj_? – Harald
[cast'code'指向函數返回-intint](http://cdecl.ridiculousfish.com/?q=%28int+%28*%29%28%29%29code)。 – WhozCraig
@WhozCraig「Bad Request」打開你的鏈接 – lucidbrot