???? C類型 | ?????????? 32 | ????????????? 64 |
??? char | ??????????? 1 | ?????????????? 1 |
??? short int | ??????????? 2 | ?????????????? 2 |
??? int | ??????????? 4 | ?????????????? 4 |
??? long int | ??????????? 4 | ?????????????? 8 |
??? long long int | ??????????? 8 | ?????????????? 8 |
??? char* | ??????????? 4 | ?????????????? 8 |
??? float | ??????????? 4 | ?????????????? 4 |
??? double | ??????????? 8 | ?????????????? 8 |
??????? 需要說明一下的是指針類型存儲的是所指向變量的地址,所以32位機器只需要32bit,而64位機器需要64bit。
以上文章來自:http://charlesxie.blog.51cto.com/2236179/939680由于寫的太好了,所就直接摘了下來!
補充總結:
經過詢問,網上查找以及測試,發現 數據類型占內存的位數實際上與操作系統的位數和編譯器(不同編譯器支持的位數可能有所不同)都有關,具體某種數據類型占字節數得編譯器根據操作系統位數兩者之間進行協調好后分配內存大小。具體在使用的時候如想知道具體占內存的位數通過sizeof(int)可以得到準確的答案。