[問題] 變數類型所需要的記憶體空間.....
想請問一下一個比較general的問題
在宣告變數時 一種變數型態(如int)會配置一個固定大小的空間給它
在看許多語言介紹書說 說這些空間的配置 會根據不同電腦而有不同的狀況
雖然我可以用printf("%d", sizeof(x)); 來得知x變數所佔的byte的大小
但是如果要將程式給其他電腦跑 我就不知道我原本的程式到別人的電腦能否執行
若是換一個電腦那還好 但如果是要開發給成千上萬客戶使用的軟體 那就必須嚴謹點
畢竟這個公司的形象 產品的形象有關...
因此想要問決定一個變數型態所佔記憶體空間大小的因素是什麼?
硬體(CPU? RAM?)還是軟體(OS? programming language?)
有辦法查詢嗎?
謝謝 :)
另外一問:Boolean值我用sizeof()去查 結果顯示佔1 byte
Boolean是真的佔「1 byte」 還是原本只佔「1 bit」但sizeof會視為1 byte?
記憶體位址都是用byte為單位嗎?所以記憶體最小使用單位為byte還是為bit?
又一問:電腦CPU說支援多少位元 或作業系統是幾位元的
會影響變數型態所佔記憶體大小嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.77.13
※ 編輯: leondemon 來自: 140.129.77.13 (06/04 18:11)
推
06/04 18:11, , 1F
06/04 18:11, 1F
※ 編輯: leondemon 來自: 140.129.77.13 (06/04 18:13)
→
06/04 18:13, , 2F
06/04 18:13, 2F
推
06/04 18:13, , 3F
06/04 18:13, 3F
→
06/04 18:13, , 4F
06/04 18:13, 4F
推
06/04 19:57, , 5F
06/04 19:57, 5F
→
06/04 22:24, , 6F
06/04 22:24, 6F
→
06/04 23:20, , 7F
06/04 23:20, 7F
推
06/04 23:27, , 8F
06/04 23:27, 8F
→
06/04 23:27, , 9F
06/04 23:27, 9F
→
06/04 23:27, , 10F
06/04 23:27, 10F
→
06/04 23:28, , 11F
06/04 23:28, 11F
→
06/04 23:30, , 12F
06/04 23:30, 12F