亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C“int”的大小是2字節還是4字節?

C“int”的大小是2字節還是4字節?

C C++
蕪湖不蕪 2019-07-11 20:36:10
C“int”的大小是2字節還是4字節?C中的整數變量占2字節還是4字節?它所依賴的因素是什么?大多數教科書說整數變量占兩個字節。但是,當我運行一個程序,打印一個整數數組的連續地址時,它顯示了4的差異。
查看完整描述

3 回答

?
慕森王

TA貢獻1777條經驗 獲得超3個贊

這是C中最初可能混淆的點之一,但C標準只指定了最小范圍對于保證支持的整數類型。int保證能夠容納-32767到32767,這需要16位。在這種情況下,int,是兩個字節。然而,實現可以超越這個最小值,正如您將看到許多現代編譯器所做的那樣。int32位(這也意味著4個字節相當普遍)。

你的書上說有兩個字節的原因很可能是因為它太舊了。有一段時間,這是一種常態。通常,您應該始終使用sizeof運算符如果您需要知道它在您使用的平臺上的字節數。

為了解決這個問題,C99添加了新類型,您可以顯式地請求一個特定大小的整數,例如int16_tint32_t..在此之前,沒有通用的方法來獲得特定寬度的整數(盡管大多數平臺提供了每個平臺的相似類型)。


查看完整回答
反對 回復 2019-07-11
?
Cats萌萌

TA貢獻1805條經驗 獲得超9個贊

沒有具體的答案。這取決于平臺。它是由實現定義的??梢允?,4或其他什么的。

背后的想法int它應該與給定平臺上的自然“單詞”大小相匹配:16位在16位平臺上,32位在32位平臺上,64位在64位平臺上,你就知道了。然而,出于向后兼容性的考慮,一些編譯器更傾向于堅持32位。int即使在64位平臺上。

2字節的時間int但是很久沒有了(16位平臺?)除非您使用的是16位字大小的嵌入式平臺。你的課本可能很舊。


查看完整回答
反對 回復 2019-07-11
  • 3 回答
  • 0 關注
  • 1535 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號