C 语言规定:如果变量占用连续的多
个字节,则第一个字节的地址就是该
变量的地址。例如定义:
short a=10;
float b=10;
则编译系统给变量分配的内存空间如图 6.1
所示。从图 6.1 中可以看出,假设变量 a 的内存
地址为 2000 ,则变量 b 的内存地址为 2002 。
程序在引用变量时,首先获得该变量的地址
,这还只是变量的首地址,然后还要根据变量的
数据类型决定要从首地址开始连续取几个字节来
获取变量的值。
若定义如图 6.1 ,现程序要获取变量 b 的值,则
先确定变量首地址为 2002 ,然后由变量 b 的数
据类型 float 知变量占 4 个字节,所以从首地址
开始连续取 4 个字节的数据即为变量 b 的值。
图 6.1 变量分配的内存示
意
short 型变量 a
占 2 个字节单元
float 型变量 b
占 4 个字节单元