看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《Favonia (小西風最乖了*^^*)》之銘言: : 想要補充三點 LPH66 大沒有提到的東西(但我寫的可能不適合初學者讀 orz) 恕刪 既已討論至此地步,我想問個之前我認為是「常識」的寫法, ( 可能常看到別人這樣寫,所以認為是常識) 不知是否又是 undefine behavior XD #include <stdio.h> int main() { unsigned int i, a=0x12345678; unsigned char *pc=(unsigned char*)(&a); for(i=0; i!=sizeof(a); ++i) printf("%hhx ", pc[i]); return 0; } 執行結果 (For little endia) : 78 56 34 12 謝謝指教 -- YouLoveMe() ? LetItBe() : LetMeFree(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.78.41
Favonia:標準沒有說你可以直接當陣列讀,但是它說可以用 memcpy 複 07/25 04:15
Favonia:製到 unsigned char 陣列去。所以另外開個陣列就沒問題了 07/25 04:19
Favonia:(C++ 規則有點煩,大致上來說 POD 就可以...) 07/25 04:31
tropical72:感謝 :) 07/25 04:34
james732:兩大高手到這麼晚了還沒睡.... 07/25 04:36
Favonia:對不起我漏看了。C99 6.3.2.3 / 7 有說可以這樣轉。 07/30 23:46
Favonia:請忽略我 1 樓和 2 樓的說法。 07/30 23:47
tropical72:感謝提供參考資料 08/01 13:11