整型数据究竟占多少字节

int 和 long 在不同系统下所占字节大小

win32 win64 linux32 linux64
int (Byte) 4 4 4 4
long (Byte) 4 4 4 8

归根到底是跟机器平台有关,因为是编译器去适应平台


数据模型(I:int、L:long、P:pointer、LL:long long;数字表示平台位数)

TYPE LP32 ILP32 LP64 ILP64 LLP64
CHAR 8 8 8 8 8
SHORT 16 16 16 16 16
INT 16 32 32 64 32
LONG 32 32 64 64 32
LONG LONG 64 64 64 64 64
POINTER 32 32 64 64 64
采用 win16 win32/Unix32类 Unix64类 win64

标题中位于前面的类型与中间位数保持一致(LP32:L32,P32)

通常情况下:

TYPE CHAR SHORT INT LONG LONG LONG POINTER
32 8 16 16 32 64 32
64 8 16 32 32 64 64

• 所有模型char8、short16、float32、double64、
• 现如今所有64bit类Unix平台均使用LP64数据模型,64bit
Windows使用LLP64数据模型

你可能感兴趣的:(C语言)