首页 理论教育 C语言程序设计-地址与指针

C语言程序设计-地址与指针

时间:2023-11-20 理论教育 版权反馈
【摘要】:在这里,我们称a的地址为1012,b的地址为1015。图8-1变量在内存中所占字节的地址示意图一般情况下,在程序中只需定义变量并指出变量名,无须知道每个变量在内存中的具体地址,每个变量与具体地址的联系由C编译系统来完成。在程序中我们对变量进行存取操作,实际上也就是对某个变量的地址存储单元进行操作。指针的实质就是地址,通过“指针”可以找到以它为地址的内存单元。

C语言程序设计-地址与指针

1.地址

计算机的内存是以字节为单位的一片连续的存储空间,每一个字节都有一个编号,这个编号就称为内存地址。内存单元的地址与内存单元中的数据是两个完全不同的概念。就像学生公寓中,每一个可以住学生的房间就是内存单元,房间号就是内存单元的“地址”,学生就是内存单元的内容。因为内存的存储空间是连续的,内存中的地址号也是连续的,并且用二进制数来表示,为了直观起见,在这里我们将用十进制数进行描述。

在程序中如果定义了一个变量,那么系统编译时就会为这个变量分配一定数量的内存单元。一般微机使用的C语言系统为整型变量分配2个字节,为实型变量分配4个字节,为字符型变量分配1个字节,为双精度类型变量分配8个字节。当一个变量被定义后,其内存中的地址也就确定了。例如:inta,b。这时,将如图8-1所示:系统为a和b各分配2个字节的存储单元。图中的数字只是示意的字节地址。每个变量的地址是指该变量所占存储单元的第一个字节的地址。在这里,我们称a的地址为1012,b的地址为1015。

图8-1 变量在内存中所占字节的地址示意图(www.xing528.com)

一般情况下,在程序中只需定义变量并指出变量名,无须知道每个变量在内存中的具体地址,每个变量与具体地址的联系由C编译系统来完成。在程序中我们对变量进行存取操作,实际上也就是对某个变量的地址存储单元进行操作。这种直接按变量的地址存取变量值的方式称为“直接存取”方式。

2.指针

一个变量的地址称为该变量的指针。指针的实质就是地址,通过“指针”可以找到以它为地址的内存单元。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈