指针占用的内存空间
终极管理员 知识笔记 126阅读
指针占的内存大小都一样吗?
答:2.并且所有类型的 指针 占的 内存大小 都一样。 可能大家会迷惑这是为什么呢? 因为 指针 就是一个地址,操作系统已经明确的规定了地址是多少位,那么它就有多长(就是它的长度是固定的), 长度固定了,占的 内存 不就固定了么。
内存和指针变量有什么区别?
答:内存 是由字节组成的,每个字节都有一个编号。 指针变量 主要是存放相同数据类型的 变量 的首地址。 这里的这个地址其实就是 内存 的某个字节的编号。 而这个编号的确定是与地址总线有关。 如果地址总线是32位,则它的寻址范围是0~2^32(0~4G)。 那么为一个字节的编址就会由32个0或者1组成。 例如第一个字节的编址是32个0,最后一 计算结构体 占用内存 ,sizeof, 指针 。 和操作系统位数有关 1.如果操作系统是64位,则占8个字节;如果操作系统是32位,则占4个字节。
一个指针地址值可对应内存中一个字节的空间吗?
答:也就是说一个指针地址值可对应内存中一个字节的空间。 寻址空间 :寻址空间一般指的是CPU对于内存寻址的能力。 CPU最大能查找多大范围的地址叫做寻址能力,CPU的寻址能力以字节为单位 (字节是最小可寻址单位),如32位寻址的CPU可以寻址2的32次方大小的地址也就是4G,这也是为什么32位寻址的CPU最大能搭配4G内存的原因,再多的话CPU就找不到了。 这里CPU的寻址位数是由地址总线的位数决定, 32位CPU的寻址位数不一定是32位,因为32位CPU中32的意义为字长。 有关寻址范围计算解释,对于32位寻址的CPU,其地址值为32位的二进制数,所以可以表示的最大地址为2的32次方 (即4G,最大内存空间为4GB,这里G表示数量、GB表示容量)。