在主要的程式語言 C C++、J**A 和 Python 中,只有 C C++ 和 J**A 同時具有 char 和 int 型別。 因此,以下敘述基於 C C++ 和 J**A 的情況。
無需借助任何具有測量資料寬度功能的函式,根據程式語言編譯器的直觀表示,C C++中char型別的資料寬度大於1位元組,J**A中char型別的資料寬度大於1位元組。 以上判斷主要是通過給char型別變數賦值漢字和英文字元來檢驗的,經過實際操作,c c++和j**a都支援使用英文字元給char型別變數賦值,而在中文字元方面,不支援c c++而j**a支援,這個區別加上接觸漢字就是乙個雙位元組字元資料, 做出判斷並不難。
若要進一步確定 C++ 和 J**a 中 char 型別資料的寬度,可以使用專門測量資料寬度的函式。
可以在 C C++ 中使用sizeof來判斷,sizeof是乙個記憶體容量測量函式,該函式是返回乙個變數或型別的位元組大小,用法也比較簡單,可以以函式或表示式的形式呼叫,如下所示:
這可以根據 sizeof 1 的返回結果來確定在 C C++ 中,char 型別的寬度為 1 位元組
雖然 J**A 中沒有專門測量資料記憶體大小的功能,但由於跨平台支援,J**A 中基本資料型別的大小在不同的系統中是固定的。 根據官方訊息,j**a 中的 char 型別大小為 2 個位元組,這可以通過前面支援將中文字元分配給 char 型別變數的操作來支援。
要確定 int 型別的資料寬度,對於 C C++,直接使用 Sizeof,對於 J**A,請參閱官方文件。
從執行結果來看,C C++ 中 int 型別的資料寬度為 4 位元組
根據 j**a 中 int 型別資料寬度的資料j**a 中 int 型別的資料寬度為 32 位,即 4 個位元組,因為乙個位元組是 8 位。