我只是想知道如何知道我的筆記本電腦是64位還是32位機器。 (這是一個64)。64位機器上int和sizeof int指針的大小
所以,我認爲有關打印以下:
int main()
{
printf("%d",sizeof(int));
}
,結果爲4,這似乎怪異(因爲它是一個64位的機)
但是,當我印刷這樣的:
int main()
{
printf("%d",sizeof(int*));
}
結果爲8,這使得更多的意義。
的問題是:
由於我使用64位機,應該不是原始類型如int應該使用8個字節
(64位)和由INT的sizeof應8?爲什麼不是這樣?
爲什麼int *大小是8?
有點困惑在這裏,
所以在此先感謝。
不要使用'%d'打印'size_t',它會調用UB。 – 2013-12-21 16:56:11
http://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models – Mat
與32位相比,64位體系結構不會改變整數模型。只有地址/指針長度。 – user2672165