C语言整数类型在X86和X64下的字节大小
2024-09-04 01:32:43
C声明 | 32位机器(X86) | 64位机器(X64) |
char | 1 | 1 |
short int | 2 | 2 |
int | 4 | 4 |
long int | 4 | 8 |
long long int | 8 | 8 |
char * | 4 | 8 |
float | 4 | 4 |
double | 8 | 8 |
几个注意点:
1:指针类型变量的大小只取决于计算机系统的位数,它的大小也等于该计算机系统的int类型大小,即该计算机系统“字”的大小。(这句话中的int其实是上面表格中的long int,因为C语言为了保持跨平台的统一,所以char, short int, int, long long int都采用了固定位数,不随系统位数变化而变化,但是long int类型是根据系统位数决定的!)
2:在32位系统下,是无法直接操作64位的整数的,所以32位下的long long int的操作是编译器通过一系列位运算完成的。
3:一个计算机系统的寻址能力由“字”决定,例如:32位系统下的“字”大小为32位(意思就是采用32位大小的整数来表示每个内存地址),所以寻址能力为2的32次方,地址范围为0 ~ 2^32 - 1。
最新文章
- ARCGIS如何进行可视域分析
- struts2 struts1.x 区别
- 利用ajax.dll类库文件实现无刷新
- Python快速入门学习笔记(三)——函数的定义与调用
- cocos2d-x 动画加速与减速
- Java 获取url参数
- LAMP学习小记
- BFC原理
- Linux IO模型(同步异步阻塞非阻塞等)的几篇好文章
- Gruntfile.js模板
- android 百度地图 定位获取位置失败 62错误
- ajax传递数组,后台更新
- springcloud报错集合
- 最详尽的 JS 原型与原型链终极详解,没有「可能是」。(一)
- VM VirtualBox 全屏模式 &;&; 自动缩放模式 相互切换
- HanLP自定义词典注意事项
- BinarySearch
- Untracked Files Prevent Checkout move or commit them before checkout
- stl源码分析之allocator
- oracle导入时报错