C/C++ 数据类型长度

阅读更多

我们在编写 C/C++ 代码时肯定希望在32位和64位系统都能正常运行,那么我们就需要注意基本数据类型的长度在32位与64位中的变化;另外这种变化还与编译器相关。

 

64位 GCC 是 LP64:即 long 和 pointer 是64位,具体的:

 

gcc 编译器

32

64

char

1

1

short

2

2

int

4

4

long

4

8

long long

8

8

long double

12

16

double

8

8

float

4

4

void*( 指针 )

4

8

size_t

4

8

 

另外数据长度的变化还影响到字节对齐,也就是影响结构体的补位操作:gcc-32 是4字节对齐;gcc-64 是8字节对齐。

 

PS: 64位 VC 是 LLP64:即 long long 和 pointer 是64位。

 

你可能感兴趣的:(C/C++ 数据类型长度)