目前好的外贸网站女生做新媒体运营是不是很累
web/
2025/9/25 18:20:42/
文章来源:
目前好的外贸网站,女生做新媒体运营是不是很累,桃城区网站制作公司,广州网站备案要多久C的一个指针占内存几个字节#xff1f;结论#xff1a; 取决于是64位编译模式还是32位编译模式#xff08;注意#xff0c;和机器位数没有直接关系#xff09;
在64位编译模式下#xff0c;指针的占用内存大小是8字节在32位编译模式下#xff0c;指针占用内存大小是4字…
C的一个指针占内存几个字节结论 取决于是64位编译模式还是32位编译模式注意和机器位数没有直接关系
在64位编译模式下指针的占用内存大小是8字节在32位编译模式下指针占用内存大小是4字节
实验实验环境 vs2019
64位编译模式下 64位编译模式下sizeof返回的是unsigned long long类型占8字节 32位编译模式下 32位编译模式下sizeof返回的是unsgined int类型占4字节
分析: 细心的同学可能会发现为何 int* 和 stu* 类型的指针的大小一样呢
因为指针的本身的值就是内存地址它的占用字节数也就是该程序能够访问内存地址的空间大小比如32位编译模式下最大寻址为32位2^32 B4 GB指针的值就是在 0x00000000 - 0xFFFFFFFF 范围内的值。因此指针本身占用的内存数和它指向的数据类型没有任何关系。同理64位编译模式下理想的寻址位64位也就是 2^64 B这是个很大的值而物理内存达不到这么大CPU要实现64位的寻址能力只会增加系统复杂度和地址转换成本因此Windows和Linux都做了限制仅仅使用虚拟地址的48位2^48 B256TB。但是指针的占用内存字节数还是8 只是Windows和Linux下低48位有效而已.
额外讨论1 那么CPU寻址能力到底和什么有关呢 答案是和地址总线的数量有关。
16位CPU 早期的CPU是16位的一次能处理 16Bit2个字节的数据。这个时候计算机产业还处在早期个人电脑也没有进入千家万户也没有提出虚拟地址的概念程序还是直接运行在物理内存上。典型的16位处理器是 Intel 8086它的数据总线有16根地址总线有20根寻址能力为 2^20 B 1MB32位CPU 随着计算机产业的进步出现了32位的CPU一次能处理 32Bit4个字节的数据。这个时候就提出了虚拟地址的概念并被应用到CPU和操作系统中由它们共同完成虚拟地址和物理地址的映射。典型的32位处理器是 Intel 的 80386 和 Intel Pentium 4奔腾480386 的数据总线和地址总线宽度都是32位寻址能力达4GBPentium 4的地址总线宽度是36位理论寻址能力达64GB。64位CPU 现在64位的CPU也普及到千家万户它们一次能处理64Bit8个字节的数据。典型的64位处理器是 Intel 的 Core i3、i5、i7 等它们的地址总线宽度为 40~50 位左右。
值得注意的是支持多大的寻址空间和CPU的位数没有直接关系CPU的位数是指寄存器的位数也可以说是数据总线的数量衡量的是单次处理数据的能力。一般来说地址总线会随着数据总线增多也随之增多用以支持更大的寻址空间。
额外讨论2: short, int, long, long long在32位编译模式下和64编译模式下占多少字节 结论 一样的
shortintlonglong long__int6432位2448864位24488
实验
64位 32位
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81760.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!