Re: [問題] C的新手發問

看板C_and_CPP (C/C++)作者 (飄蕩者)時間16年前 (2009/05/19 22:17), 編輯推噓8(803)
留言11則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《pubp (猛欽)》之銘言: : 今天遇到一個題目 : 宣告byte A[10]={1,2,....,10} : 並宣告 Uint16 *AA : AA=(Uint16*)A; : 請問 AA[1]=? : 這裡我不了解的是Uint16 : 請問答案是什麼? 推文有解釋 byte和Uint16的區別。 針對AA[1]解決一下好了, 宣告一個byte陣列,在記憶體中攤成二進位來看就是 A[0] A[1] A[2] A[3] 00000001 00000010 00000011 00000100 ........ A表示一個byte大小的指標,現在硬把他擴充成Uint16 然後assign給AA。 所以就變成 AA[0] AA[1] ........ 00000001 00000010 00000011 00000100 ........ 所以AA[1]以就是772(10)。 補充: 我真的忽略了 little endian和 big endian的差別了 XD 上述是big endian的狀況,如果是little endian的話就變 成原文推文說的1027(10)了。 intel系的電腦應該都是little endian。 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.136.7

05/19 22:25, , 1F
你忘了考慮大小印弟安不同的case了; 在VC測的話應該像原
05/19 22:25, 1F

05/19 22:25, , 2F
也許在little endian的CPU下是1027?嗯...不確定
05/19 22:25, 2F

05/19 22:26, , 3F
文4F推的是1027:)
05/19 22:26, 3F

05/19 22:29, , 4F
好像有點錯, 應該是看大小印弟安的環境XD
05/19 22:29, 4F
※ 編輯: syntex 來自: 118.171.136.7 (05/19 22:38)

05/20 01:39, , 5F
UINT16是4byte?? 從哪裡看來的.___.??
05/20 01:39, 5F
※ 編輯: syntex 來自: 220.228.236.56 (05/20 08:54)

05/20 13:28, , 6F
印地安是 indian XD
05/20 13:28, 6F

05/20 13:30, , 7F
中文書作者不懂就亂翻成印第安...
05/20 13:30, 7F

05/20 13:30, , 8F
對不起~~印地安是小弟我英文差不會拼才這樣打的啦Orz
05/20 13:30, 8F

05/20 14:18, , 9F
以前看到某本書這樣翻 我以為你是被該書騙了XD
05/20 14:18, 9F

05/20 14:37, , 10F
只是想要作有趣的聯想幫助記憶吧,我也都是記小印地安
05/20 14:37, 10F

05/20 14:43, , 11F
其實我只知道印地安, 大小是哪一種case還老是會記反Q_Q~
05/20 14:43, 11F
文章代碼(AID): #1A4h-NWc (C_and_CPP)
討論串 (同標題文章)
本文引述了以下文章的的內容:
2
5
完整討論串 (本文為第 2 之 2 篇):
2
5
文章代碼(AID): #1A4h-NWc (C_and_CPP)