C語言中各種資料型別長度

2021-06-23 05:40:42 字數 1357 閱讀 9810

c語言的基本資料型別有以下幾個:

int 整型

char 字元型

float 單精度浮點型

double 雙精度浮點型

另外,在基本資料型別基礎上附加一些限定詞, 得到擴充的資料型別。short,long可以應用到整型, unsigned可以應用到整型和字元型:

short int(或short) 短整型

long int(或long) 長整型

unsigned int 無符號整型

unsigned short 無符號短整型

unsigned long 無符號長整型

unsigned char 無符號字元型

c標準沒有規定各類資料所佔記憶體位元組數,通常乙個int型資料所佔記憶體與計算機字長大小相同,為16位或32位,short型資料通常佔16位,long型資料是32位。每種編譯器可以為硬體選擇適合的長度,僅受一些限制,如short 和int 型資料至少佔16位,long型至少佔32位, short型資料不能超過int型資料的位元組數,而int型不長於long 型。

無符號的數總是正數或零,服從數學式子2n,其中n是這種型別的二進位制位數。例如,int型是16位,它的資料取值範圍在-32768-32767之間,而unsigned int型資料取值範圍在0-65535之間。下表列出了不同機器上整型資料的取值範圍。

16位機器

32位機器

資料型別

所佔位數

取值範圍

所佔位數

取值範圍

int16

-32768~32767

32-21億~21億

short

16-32768~32767

16-32768~32767

long

32-21億~21億

32-21億~21億

unsigned int

160~65535

320~42億

unsigned short

160~65535

160~65535

unsigned long

320~42億

320~42億

字元型資料儲存時占用8位,它實際儲存的是字元對應ascii碼(美國標準資訊交換碼american standard code for information interchange)。如乙個char型資料'a',其ascii碼為65,故實際儲存的內容是65。unsigued char型資料取值範圍為0-255,char型資料取值範圍為-128-127。字元有符號或無符號是依賴於機器的,但是可列印的字元總是正的。

由於在記憶體中字元型資料是以ascii碼形式存放,其形式與整型類似,因而在c語言中,字元型資料與整型資料可以通用,字元型資料所有的性質與一位元組整型量相同。

c語言中各種資料型別的長度

在32位平台和64位平台上,同一種資料型別可能有不同的資料長度 型別32位平台 64位平台 char11 short22 int4 4long48 long long88 float44 double88 size t48 ssize t48 看到沒,從上面的結果可以看到不同,所以不要假定上表內顏色...

c語言中各種資料型別的長度

在32位平台和64位平台上,同一種資料型別可能有不同的資料長度 型別32位平台 64位平台 char11 short22 int4 4long48 long long88 float44 double88 size t48 ssize t48 看到沒,從上面的結果可以看到不同,所以不要假定上表內顏色...

C語言中各種資料型別長度的總結

下面是我關於c語言中各種資料型別長度的總結 參考the c programming language 1.c語言中的整數型別有char,short,int,long等幾種,下面是c語言對每種資料型別長度的規定 a short和long型別的長度不相同 b int型別通常同具體機器的物理字長相同 c ...