在 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 |