|
藍森林 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?!
-->
我想你說的正確!!! |
| |