C語言中資料型別所佔位元組數總結

2021-07-11 22:07:07 字數 1079 閱讀 7430

和機器字長及編譯器有關係:

所以,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位。

unsigned 是無符號的意思。

例如:16位編譯器char :1個位元組

char*(即指標變數): 2個位元組

short int : 2個位元組

int: 2個位元組

unsigned int : 2個位元組

float: 4個位元組

double: 8個位元組

long: 4個位元組

long long: 8個位元組

unsigned long: 4個位元組

32位編譯器

char :1個位元組

char*(即指標變數): 4個位元組(32位的定址空間是2^32, 即32個bit,也就是4個位元組。同理64位編譯器)short int : 2個位元組

int: 4個位元組

unsigned int : 4個位元組

float: 4個位元組

double: 8個位元組long: 4個位元組long long: 8個位元組

unsigned long: 4個位元組64位編譯器char :1個位元組

char*(即指標變數): 8個位元組

short int : 2個位元組

int: 4個位元組

unsigned int : 4個位元組

float: 4個位元組

double: 8個位元組

long: 8個位元組

long long: 8個位元組

unsigned long: 8個位元組

資料型別所佔位元組數

一 32位平台 分為有符號型與無符號型。有符號型 short 在記憶體中佔兩個位元組,範圍為 2 15 2 15 1 int 在記憶體中佔四個位元組,範圍為 2 31 2 31 1 long在記憶體中佔四個位元組,範圍為 2 31 2 31 1 無符號型 最高位不表示符號位 unsigned sho...

C語言中各種整型型別所佔位元組數

平台 64位編譯器 linux gcc includemain 結果 char a 1 char b 8 short int c 2 int d 4 unsigned int e 4 float f 4 double g 8 long h 8 long long i 8 unsiged long j...

C語言中幾種型別所佔位元組數

最近經常會遇到c語言中各型別變數所佔位元組數的問題,索性在這裡做乙個整理總結。其實c標準並沒有具體給出規定哪個基本型別應該是多少個位元組數,而且這個也與os 編譯器有關,比如同樣是在32位作業系統,vc 的編譯器下int型別為4個位元組,而在tuborc下則是2個位元組。下面給出乙個 方便檢視個型別...