指针(内存和地址)

我们可以把计算机的内存看作是一条街上的一排房屋。每座房子都可以容纳数据,并且通过一个房号来标识。
计算机的内存由数以亿计的为(bit)组成,每个位可以容纳值0或1。由于一个位所能表示的值的范围太有限,所以单独的位用处不大,通常许多位合成一组作为一个单位,这样就可以存储范围较大的值。
位置的每一个都被称为字节(byte),每个字节都包含了存储一个字符所需要的位数。在许多现代的机器上,每个字节包含8个位,可以存储无符号值0至255,或有符号值-128至127。
为了存储更大的值,我们把两个或者更多个字节合在一起作为一个更大的内存单位。例如,许多机器以字为单位存储整数,每个在一般由2个或者4个字节组成。
由于它们包含了更多的位,每个字可以容纳的无符号整数的范围是从0至4294967295(2^32 -1),可以容纳的有符号整数的范围是从-2^31至2^31-1。
注意,尽管一个字包含了四个字节,它仍然只有一个地址。至于它的地址是它最左边那个字节的位置还是它最右边那个字节的位置,不同机器有不同的规定。另一个需要注意的硬件事项是边界对齐。在要求边界对齐的机器上,整型值存储的起始位置只能是某些特定的字节,通常是2或4的倍数。但这些问题是硬件设计者的事情,它们很少影响C程序员。我们只对两件事情感兴趣:
1.内存中的每个位置由一个独一无二的地址标识;
2.内存中的每个位置都包含一个值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值