黑马程序员技术交流社区

标题: 指针 [打印本页]

作者: Jerry1    时间: 2016-5-9 12:17
标题: 指针
为什么指针要占8个字节?
作者: stud    时间: 2016-5-9 12:23
64位系统才占8个字节。至于为什么,坐等大神答案…
作者: 不是长颈鹿2    时间: 2016-5-9 12:23
Jerry1 发表于 2016-5-9 12:17
为什么指针要占8个字节?

也好疑惑,同问啊
作者: TGII    时间: 2016-5-10 00:35
规定的,不同编译器可能还不同,但是同一编译器,肯定是相同的
作者: Jerry1    时间: 2016-5-10 23:38
TGII 发表于 2016-5-10 00:35
规定的,不同编译器可能还不同,但是同一编译器,肯定是相同的

哦哦!那他是怎么存放地址的?
作者: kedt5200    时间: 2016-5-11 00:49
你把指针理解成一个变量就明白了,这个变量存放的是我们可用内存的地址,32位系统,我们可用的地址空间就是0-FFFFFFFF,64位系统我们可用的地址空间是0-FFFFFFFFFFFFFFFFF,所以就分别是4字节和8字节。
作者: 堕落天使    时间: 2016-5-11 06:04
系统规定的
作者: Jerry1    时间: 2016-5-11 23:51
stud 发表于 2016-5-9 12:23
64位系统才占8个字节。至于为什么,坐等大神答案…

好吧,好像大家都是这么说的,就是系统给定的,也不知道为什么这么弄
作者: Jerry1    时间: 2016-5-11 23:52
kedt5200 发表于 2016-5-11 00:49
你把指针理解成一个变量就明白了,这个变量存放的是我们可用内存的地址,32位系统,我们可用的地址空间就是 ...

按这个理解的话,那我电脑的64位的系统是不是内存可以做到很大
作者: kedt5200    时间: 2016-5-12 00:01
Jerry1 发表于 2016-5-11 23:52
按这个理解的话,那我电脑的64位的系统是不是内存可以做到很大

是的,32位系统最大只支持4G的内存,64位系统才能支持超过4G内存。我们程序使用的都是虚拟的地址空间,只是理论上有这么大,最终程序运行时,会有操作系统映射到物理内存上。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2