簡體   English   中英

C-將char數組轉換為整數指針嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM