所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

为什么指针变量的大小都是4个字节?

发布时间:2020-04-12 09:13:04

资讯分类:字节  变量  指针  大小  地址  内存  字节
为什么指针变量的大小都是4个字节?

首先要明白的是,指针变量是用来存地址的变量,也就是说,这个变量里面存的内容是地址。 那么开始解释,cpu与内存进行直接交互时,cpu要获得内存中的数据,就要知道这个数据在内存中所在的地址,那么cpu就要在内存中寻址。内存中的地址的基本单位为字节,即一个字节一个地址,32位cpu有32根地址总线,内存大小为2^32字节,即4GB,也就是说,这4GB的内存中,每一字节的内存空间都有自己的一个在内存中的地址。 重点来了,指针变量是用来存地址的,32位cpu中,要想指针能够存储这2^32次个地址,需要多大的空间呢?很明显,4个字节,即32位,32位的变量能表示的数据个数刚好为2^32个,能能够把内存中的所有地址表示完全。 所以32位中,指针变量需要4字节,以此内推其他位数cpu。

为什么指针变量的大小都是4个字节?

算是编译器的规定。指针变量存放指向地址。32位机上地址是4字节(每字节8位)无符号整数。所以一个指针变量占4字节就够了。用sizeof可以测定大校

留言与评论(共有 0 条评论)
   
验证码:
Top