1樓:匿名使用者
long的大小是機器字長,和作業系統有關係。我們常用的windows是32位作業系統,就是說4個位元組,所以long就是4位元組長,64位作業系統long就是8位元組長。
short定死了就是兩個位元組長,int的定義是不短於short,不長於long,具體長度與編譯器、機器都有關係。
一般,32位作業系統int就是4位元組,64位作業系統int可能4位元組,可能8位元組,16位作業系統,int是2位元組。
double是8位元組長,long double不短於double,可能是8位元組,也可能是12位元組,同樣不確定。
2樓:匿名使用者
在32位機上,int通常是32位;在16位機上,int通常是16位(由編譯器決定,而編譯器通常是根據**執行的目標機來決定)。
long int在上述兩種機器上通常都是32位。
所以,int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則(ansi/iso制訂的):
1 sizeof(short int)<=sizeof(int)2 sizeof(int)<=sizeof(long int)3 short int至少應為16位(2位元組)4 long int至少應為32位。
上述規則,任何編譯器廠商必須遵守。
另外,你說的(-2147483648 -- 2147483648)範圍有誤,應該是(-2147483648 -- 2147483647)
3樓:拱雲英
long 的含義是範圍不小於 不加long
同樣 short 的含義是不大於 不加 short
所以是可以等於的,不同的編譯器定義是不同的。
c 中的下標運算子有什麼作用,c 中的運算子過載主要用來做什麼?
仙戈雅 c c 下標運算子 的具體作用是取地址運算子,簡稱取址符,它的語義是當前變數的首地址加取中括號裡面的偏移量就可定位指定下標的值在記憶體儲存的位置。 微控制器與plc程式筆記 以下是c 程式語言中的所有運算子的優先順序和結合性列表。優先順序運算子敘述示例過載性結合性1 作用域解析 c 專有 c...
c 中NEW運算子的用法,C 中new的用法
c 中new運算子使用的一般格式為new 型別 初值 用new分配陣列空間時不能指定初值。如果由於記憶體不足等原因而無法正常分配空間,則new會返回一個空指標null,使用者可以根據該指標的值判斷分配空間是否成功。 吾不笑 new int 開闢一個存放整數的儲存空間,返回一個指向該儲存空間的地址 即...
關於C 的檔案結束符的困惑
自由心魔 上面都是學c的吧 呵呵 還是我來說這個c 問題吧 ctrl z是結束符 檔案結束符 並不是讓cin結束 如果你理解的深點的時候你就明白了 它只不過是讓cin變為bad 而已 這點是有點質疑的 你在輸入1 2 3 之後回車 再ctrl z 然後再來一次 也就是兩次ctrll z 它才會結束的...