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

2021-07-04 16:09:27 字數 858 閱讀 1158

平台:

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=8

其它編譯器時的情況:

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個位元組

short    int : 2個位元組

int: 4個位元組

unsigned int : 4個位元組

float: 4個位元組

double: 8個位元組

long: 4個位元組

long long: 8個位元組

unsigned long: 4個位元組

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

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

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

1 struct結構體變數大小等於結構體中的各個成員變數所佔記憶體大小總和,union共用體變數大小等於共用體結構中占用記憶體最大的成員的記憶體大小 聯合體中占用記憶體空間最大的字段加上填充位元組 對齊位元組後所需位元組數 2 列舉型別,指乙個被命名的整型常數的集合。即列舉型別,本質上是一組常數的集...

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

和機器字長及編譯器有關係 所以,int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則 ansi iso制訂的 1 sizeof short int sizeof int 2 sizeof int sizeof long int 3 short int至少應為16位...