C 語言資料型別

2021-09-12 12:03:33 字數 1994 閱讀 3966

一、c語言資料型別

c語言標準是這樣規定的:int最少16位(2位元組),long不能比int短,short不能比int長,具體位長由編譯器開發商根據各種情況自己決定。在32位x86處理器上,short、int、long普遍的長度是2位元組、4位元組、4位元組。當然如果編譯器開發商願意,long完全可以是8位元組。

在 win64 下,long 也是 32 bit 的,4 位元組。int則是64bit,8位元組!

signed表示有符號,unsigned表示無符號。

資料型別

占用空間

範圍char

1位元組-128 ~ +127

short

2位元組-32768 ~ + 32767

unsigned short

2字元0 ~ 65536

int4位元組

-2147483648 ~ +2147483647

unsigned int

4位元組0 ~ 4294967295

long

2位機器:4位元組

64位機器:8位元組

-2147483648 ~ +2147483647

-9223372036854775808 ~ +9223372036854775807

long long

8位元組-9223372036854775808 ~ +9223372036854775807

float

4位元組double

8位元組指標

32位機器:4位元組

64位機器:8位元組

二、c中int8_t、int16_t、int32_t、int64_t、uint8_t、size_t、ssize_t區別

int8_t、int16_t、int32_t、int64_t、uint8_t 型別

定義是否有符號位位元組

最小值最大值

int8_t

signed char

signed81

-128

127uint8_t

unsigned char

unsigned81

0255

int16_t

short

signed162

-32,768

32,767

uint16_t

unsigned short

unsigned162

065,535

int32_t

intsigned324

-2,147,483,648

2,147,483,647

uint32_t

unsigned int

unsigned324

04,294,967,295

int64_t

long long

signed648

-9,223,372,036,854,775,808

9,223,372,036,854,775,807

uint64_t

unsigned long long

unsigned648

018,446,744,073,709,551,615

size_t與ssize_t

size_t主要用於計數,如sizeof函式返回值型別即為size_t。在不同位的機器中所佔的位數也不同,size_t是無符號數,ssize_t是有符號數。

在32位機器中定義為:typedef unsigned int size_t; (4個位元組)

在64位機器中定義為:typedef unsigned long size_t;(8個位元組)

C語言 資料型別

基本型別 整形 int 字元型 char 實型 浮點型 單精度 float 雙精度 double 構造型別 陣列型別,結構型別 struct 聯合型別 uion 列舉型別 enum 指標型別 空型別 無值型別 void。常量 在程式執行過程中,其值不能被改變的量稱為常量。變數 變數代表記憶體中具有特...

c語言資料型別

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

C語言 資料型別

整形資料在記憶體中的存放形式 數值是以補碼表示的 1.正數的補碼和原始碼相同,2.負數的補碼 將該數的絕對值的二進位制形式按位取反再加1.例如 求 10 的補碼 10的原始碼 0000 0000 0000 1010 取反 1111 1111 1111 0101 再加1,得 10補碼 1111 111...