在 C++ 中,数据类型的大小在不同系统架构(32 位和 64 位)上可能会有所不同。以下是一些常见数据类型在这两种系统中通常占用的字节数。
基本数据类型大小
数据类型 | 32 位系统 | 64 位系统 |
---|---|---|
char | 1 byte | 1 byte |
short | 2 bytes | 2 bytes |
int | 4 bytes | 4 bytes |
long | 4 bytes | 8 bytes |
long long | 8 bytes | 8 bytes |
float | 4 bytes | 4 bytes |
double | 8 bytes | 8 bytes |
long double | 8 bytes(可能) | 16 bytes(或更大,取决于编译器和系统) |
指针类型大小
指针的大小与系统架构相关,因此在 32 位和 64 位系统中会有所不同:
数据类型 | 32 位系统 | 64 位系统 |
---|---|---|
int* | 4 bytes | 8 bytes |
char* | 4 bytes | 8 bytes |
float* | 4 bytes | 8 bytes |
double* | 4 bytes | 8 bytes |
void* | 4 bytes | 8 bytes |