欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

指针在内存中占几个字节

终极管理员 知识笔记 217阅读

一个指针到底占几个字节?

答:那么,一个指针到底占几个字节呢? 一个指针在64位的计算机上,占8个字节。 这么简单的问题,为什么面试官愿意问呢? 其实这个问题不是在考你的记忆能力,是在考察你的计算机基础能力。 就比如,在你答出来4个字节的情况下,面试官会问一句:

1个内存地址只存多少字节?

答:1个内存地址只存1个字节 (Byte); 1个字节等于8位二进制,每一位二进制的0或1,叫“比特” (bit);

在64位的计算机中,指针占多少个字节?

答:同理,在64位的计算机中,指针占8个字节。 同时也可以看出,由于地址总线为32,那么每次寻址的空间为0x0000 0000 0000 0000 ~ 2 32 -1,那么CPU的最大内存为2 32 Byte=2 22 KB=2 12 MB=2 2 GB=4GB。 而64位,最大内存是2 64 Byte。

指针的占用字节数和它指向的数据类型有关系吗?

答:因为指针的本身的值就是内存地址,它的占用字节数也就是该程序能够访问内存地址的空间大小,比如32位编译模式下,最大寻址为32位,2^32 B=4 GB,指针的值就是在 0x00000000 - 0xFFFFFFFF 范围内的值。 因此指针本身占用的内存数和它指向的数据类型没有任何关系。

声明:无特别说明,转载请标明本文来源!