当前位置:首页 > 天道酬勤 > 正文内容

指针变量的地址(二维数组c语言)

张世龙2021年12月21日 05:23天道酬勤1350

在程序中声明变量时,编译器会为该变量分配适当的存储器单元。 也就是说,各变量在存储器上有固定的位置,有具体的地址。 根据变量的数据类型不同,使用的存储器单元的数量也不同。 如下所示声明了变量和数组。

int i=18; //声明整形变量I并赋予值

charc [5]={ 89,90,91,92,93 }; //声明字符类型数组c并进行初始化

浮点f=12.89; //声明单精度浮点型变量f并分配值

双精度d=1.414213; //通过声明双精度浮点变量d来分配值

在编译程序时,编译器会创建这些变量和数组所需的存储空间长度。 如果程序正在运行,操作系统会为这些变量和数组分配存储器单元。 整形变量占用的存储器为2字节,长度为5的字符型数组占用的存储器为5字节,单精度浮点型变量占用的存储器为4字节,双精度浮点型占用的存储器为8字节。 由于计算机内存的最小地址单位是字节,因此如果从内存3000单元开始存储变量,则操作系统会为这些变量和数组分配存储器单元,如下图所示。

二维数组存储在存储器中的位置的图像

变量在存储器中根据数据类型不同所占的存储器大小不同,每个变量都有具体的存储器单元地址。 例如,变量I的存储器地址为3000,占2字节时,数组c的存储器起始地址为3002,变量f的存储器地址为3008等。 对存储器中变量的访问以前是在“scanf(%d ),a )”公式中变量地址所示的存储器单元中输入数据。 那么,要访问变量,首先要找到该存储器的地址,或者地址唯一地指向存储器变量,所以将这个地址称为指向变量的指针。 如果将变量的地址保存在存储器的特定区域,并用变量保存这些地址,则这类变量是指针变量,通过指针访问指向的变量是对变量的间接访问。

假设一系列指针变量pi、pc、pf、pd分别指向上述变量或数组I、c[]、f、d,则指针变量也同样存储在存储器中,两者的关系如下图所示。 存储在指针变量存储区中的数据是相应变量或数组的内存地址,可以通过该地址访问相应的变量或数组。

指针变量与指示的变量的映射关系

扫描二维码推送至手机访问。

版权声明:本文由花开半夏のブログ发布,如需转载请注明出处。

本文链接:https://www.zhangshilong.cn/work/26116.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。