[問題] 資料型態的大小

看板C_and_CPP作者時間12年前 (2013/04/02 21:58), 編輯推噓1(104)
留言5則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 因為以前曾經有做過sizeof(int)的實驗,在寫code的過程中,我常常很直覺的把 int的長度認為是4 byte,但實際上有規範長度的資料型態好像只有char,int有 可能是2、4甚至是8 byte。 查了一些資料發現資料型態應該是在編譯的時候就決定了,這是不是代表我編譯 一個print sizeof(int)的執行檔,這個執行檔只要是在可以執行的平台上跑, 不管平台是或作業系統是幾位元,輸出永遠會相同呢? 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.115.124 ※ 編輯: icetofux 來自: 118.166.115.124 (04/02 22:00)

04/02 22:05, , 1F
以前老師也是說只有char有規定,其他都是相對大小,所以每次
04/02 22:05, 1F

04/02 22:05, , 2F
到新電腦上都會先編譯這個 http://ideone.com/0NsE1n
04/02 22:05, 2F

04/02 22:09, , 3F
是相同
04/02 22:09, 3F

04/02 23:22, , 4F
stdint.h: int16_t int32_t int64_t uint16_t ......
04/02 23:22, 4F

04/02 23:23, , 5F
樓上正解
04/02 23:23, 5F
文章代碼(AID): #1HMkGT4z (C_and_CPP)