(九)C语言数组的取值,取地址。
C语言数组的取值与取地址的方式
#include <stdio.h> void main(){ int iArray[] = {1,2,3}; int j; for(j=0;j<3;j++){ //常见取值方式,类java printf("iArray[%d]=%d ",j,iArray[j]); //常见取地址方式 printf("iArray[%d]内存地址=%#x ",j,&iArray[j]); //第二种取地址方式 printf("iArray[%d]内存地址=%#x ",j,iArray + j); //根据上面取地址方式,可以衍生出一种取值的方式,既然知道了地址 //那进行一次指针运算,就取到了对应的值。 printf("iArray[%d]=%d ",j,*(iArray + j)); printf("iArray[%d]=%d ",j,*(&iArray[j])); printf("--------------- "); } }
有最常见的根据索引取值,与java相同。以及最常见的通过&符号取地址的值。
也有其他取地址的值得方式。值得注意的是,我们上边通过取出地址,直接通过 * 进行指针运算,便可以得到对应的值。
这里可以看到,我们并没有声明声明指针变量,便可以使用*,这也验证了我所说的 * 的出现,除了在定义指针变量的时候,其他情况下是作为一个动词出现的,它的出现就代表着是一次指针运算。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: C语言的数组名和对数组名取地址
- 下一篇: 数组名与数组名前加取地址符