1.36、指针占用的大小是多少?
指针的大小由CPU架构的地址总线宽度决定,通常对应处理器的字长(word size),即CPU一次能处理的地址位数。
在64位系统(或64位CPU架构)上,指针大小是8字节(64位),对应64位地址空间。
这意味着,无论指针指向的数据类型是什么,所有指针变量的大小都是相同的,因为它们存储的都是内存地址,而地址长度由CPU架构决定。
总结来说,指针大小反映了CPU能够寻址的最大内存空间,32位CPU最大寻址4GB内存,64位CPU则能寻址更大空间,因此指针大小相应为4字节或8字节。
此外,指针大小与编译器的数据模型(如ILP32、LP64等)相关,不同平台可能存在差异,但主流桌面和服务器环境遵循上述规律。
简洁示例:
std::cout << sizeof(void*) << std::endl; // 32位系统输出4,64位系统输出8
这样理解指针大小,有助于把握程序在不同平台上的内存布局和兼容性。
本文首发于【讳疾忌医-note】公众号,未经授权,不得转载。
(加入我的知识星球,免费获取账号,解锁所有文章。)
阅读剩余
版权声明:
作者:讳疾忌医-note
链接:https://www.1217zy.vip/archives/1299
文章版权归作者所有,未经允许请勿转载。
THE END