发布网友 发布时间:11分钟前
共1个回答
热心网友 时间:8分钟前
在C语言的Vc6.0版本中,不同数据类型的存储字节数有所不同。以下是对各种数据类型在不同编译器下占用字节数的概览:
1. 对于16位编译器:
- char 占1个字节
- char*(指针)占用2个字节(因为指针需要存储地址)
- short int 也占2个字节
- int 和 unsigned int 各占2个字节
- float 占4个字节
- double 占8个字节
- long 和 unsigned long 各占4个字节
- long long 和 unsigned long long 都占8个字节
2. 在32位编译器中:
- char 依然占1个字节
- char*(指针)变为4个字节
- short int 仍为2个字节
- int 和 unsigned int 提升至4个字节
- float 保持4个字节
- double 仍占8个字节
- long 和 unsigned long 各为4个字节
- long long 和 unsigned long long 还是8个字节
3. 而在位编译器下:
- char 仍占1个字节
- char*(指针)扩展为8个字节
- short int 仍是2个字节
- int 和 unsigned int 都变为4个字节
- float 保持4个字节
- double 保持8个字节
- long 和 unsigned long 增加到8个字节
- long long 和 unsigned long long 同样占用8个字节
综上所述,C语言中的数据类型字节数会因编译器的位宽而变化,确保了在不同平台上的一致性。