C语言变量长度在32位和64位处理器上的关系
2016-08-08 11:53
260 查看
理论上来讲 我觉得数据类型的字节数应该是由CPU决定的,但是实际上主要由编译器决定(占多少位由编译器在编译期间说了算)。
常用数据类型对应字节数
可用如sizeof(char),sizeof(char*)等得出
32位编译器:
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
64位编译器:
char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
常用数据类型对应字节数
可用如sizeof(char),sizeof(char*)等得出
32位编译器:
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节
64位编译器:
char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节
相关文章推荐
- C语言中32位和64位的数据类型长度
- 32位,64位,各变量对应的长度(VS2010)
- (面试题)请用C语言实现在32位环境下,两个无符号长整数相加的函数,相加之和不能存储在64位变量中
- C语言数据定义长度 16位、32位、64位
- 32位,64位各变量对应长度(vs2010)
- 请用C语言在32位环境下,两个无符号长整数相加的函数,相加之和不能存储在64位变量中
- 不同变量类型在32位和64位机器上的长度
- c语言复习(一)之32位机器和64位机器中各数据类型所占字节数
- C语言基本变量长度
- Lengths of Primitive Java and C++ Data Types on Linux and Windows 32-bit/64-bit (Linux和Windows上Java和C++基本数据类型的长度对比32位/64位)
- C语言变量名和地址的关系探讨 http://blog.csdn.net/shyrgst/article/details/7360634
- Linux系统32位与64位数据类型长度比较
- C语言变量名的长度规定
- 关于Windows与Linux下32位与64位开发中的数据类型长度的一点汇总
- 32位系统和64位系统变量所占空间总结
- 关于笔记本操作系统32位和64位与内存大小的关系
- C语言返璞归真之修改const常量和使用变量定义数组长度
- Linux系统32位与64位GCC编译器基本数据类型长度对照表
- 不同类型的变量在32位及64位机器上的大小
- 【原创】C语言中如何用长度变量定义数组