藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月6日 10:18


在我的pc上sizeof(int)怎麼會是4?!

大一的時候學C是在windows下的,那時記得老師說過:int類型是2個字節。可現在看了「C程序設計語言」,那裡說int類型是4個字節。後來在這裡問問,有的人說32位的系統是2個字節,64位的就是4個字節。

我在pc上用VMware裝了Linux,我還有個SUN Sparc的64位的機器。結果sizeof(int)都是4。

請問為什麼會這樣?

在我的pc上sizeof(int)怎麼會是4?!

char 1
short 2
int 4
long 4
long long 8(unix)
__int64 8(win)

在我的pc上sizeof(int)怎麼會是4?!

只能說隨著時代的進步,int定義的長度也進步了。

在我的pc上sizeof(int)怎麼會是4?!

同意樓上的

在我的pc上sizeof(int)怎麼會是4?!

時代不同了,int,long都一樣,呵呵

在我的pc上sizeof(int)怎麼會是4?!

有人說是為解決int 、long混用的精度問題

在我的pc上sizeof(int)怎麼會是4?!

int在C語言中對應於彙編語言的WORD含義,Windows最早基於16位(偽32位)開發,所以int是16位的,而當前多採用的是真32位系統,int也就自然是32位的了。
你那個老師也是半瓶子醋,誤人子弟啊!
現在玩C的,沒幾個懂彙編的,這樣就很難玩深,特別是指針,很容易搞混。
把你的C程序編譯後再反彙編出來,讀讀看,能幫助你透徹理解C哦!

在我的pc上sizeof(int)怎麼會是4?!

類型的長度是由編譯器來確定的,
和機器的字長沒有直接的關係。

在我的pc上sizeof(int)怎麼會是4?!

-->

我想你說的正確!!!



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com