开发者社区> 问答> 正文

关于64位系统int *,int所占空间的问题

在64位系统中,int *变量 占64位,而int 变量占32位,我想问的是计算机寻址是按64位来的,int变量占32位,内部是怎么做到的,还是说实际还是会浪费掉另外32位空间~~

展开
收起
a123456678 2016-06-06 14:09:22 2240 0
1 条回答
写回答
取消 提交回答
  • 就x86-64系统来说,cpu是可以按照字节寻址的。 int *在64位系统上是64-bit是由于x86-64的cpu的虚拟内存寻址空间是64位,这样一个指针也需要是64位才可以容纳下一个虚拟内存的地址。int 是数据类型,表明这个数据占用32个bits的内存空间,如果你想要访问某个在内存中的int数据类型,需要一个64 bits的指向这个数据所在虚拟内存地址,这样cpu才知道去哪里访问这个数据。

    2019-07-17 19:28:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载