回覆列表
  • 1 # 擼的一手老僵

    其長度分別為一位元組,至少兩位元組,至少兩位元組和至少4位元組。除此之外,不要再依賴任何約定。char型別的長度被定義為一個8位位元組,這很簡單。short型別的長度至少為兩位元組。在有些計算機上,對於有些編譯程式,short型別的長度可能為4位元組,或者更長。int型別是一個整數的“自然”大小,其長度至少為兩位元組,並且至少要和short型別一樣長。在16位計算機上,int型別的長度可能為兩位元組;在32位計算機上,可能為4位元組;當64位計算機流行起來後,int型別的長度可能會達到8位元組。這裡說的都是“可能”,例如,早期的Motorala68000是一種16/32位的混合型計算機,依賴於不同的命令列選項,一個68000編譯程式能產生兩位元組長或4位元組長的int型別。long型別至少和int型別一樣長(因此,它也至少和short型別一樣長)。long型別的長度至少為4位元組。32位計算機上的編譯程式可能會使short,int和long型別的長度都為4位元組——也可能不會。如果你需要一個4位元組長的整型變數,你不要想當然地以為int或long型別能滿足要求,而要用typedef把一種固有的型別(一種確實存在的型別)定義為你所需要的型別,並在它的前後加上相應的#ifdef指令:#ifdefFOUR_BYTE_LONGtypedeflongint4;#endif如果你需要把一個整型變數以位元組流的方式寫到檔案中或網路上,然後再從不同的計算機上讀出來,你可能就會用到這樣的型別。如果你需要一個兩位元組長的整型變數,你可能會遇到一些麻煩!因為並不一定有這樣的型別。但是,你總是可以把一個較小的值存放到一個由兩個char型別組成的陣列中。

  • 中秋節和大豐收的關聯?
  • 粉塵來源及危害有哪些呢?