[英]C - Casting char array to an integer pointer?
我有以下源代碼,並且只有一行,我無法理解是否進行了強制轉換。 誰能解釋一下? 我知道強制轉換為整數指針(int *),但這是不同的。 我不明白最后一行的作用。 返回整數指針嗎? 還是我錯了?
const unsigned char sc[] = { 0x01, 0x01, 0x01, 0x01 };
return ((int (*)(void))sc)();
(int (*)(void))sc
獲取數組sc
地址,並將其轉換為指向返回int
函數的指針。
()
最后調用此函數,並再次返回此函數的返回值(類型int
)。
奇怪的是,似乎是要在地址0x01010101
處調用函數,但它改用數組sc
的地址,這可能是錯誤的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.