为了账号安全,请及时绑定邮箱和手机立即绑定

引用一个数组元素的方法

以下是程序

main()

{

int i;

int a[10];

int *p=a;

for(i=0;i<10:i++)

    {

    *p=i+1;

printf("a[%d]=%d\n",i,*p);

p++;

    }

}

 *p=i+1; 我理解是把i+1赋值给数组a,但不能理解作用是什么。想问这一语句大家怎么理解?作用和含义是什么?

正在回答

2 回答

谢谢解答,现已弄明白了

0 回复 有任何疑惑可以回复我~

提问: *p=i+1; 我理解是把i+1赋值给数组a,但不能理解作用是什么。想问这一语句大家怎么理解?作用和含义是什么?

回答:

首先理解符号的意思,*p有一层隐喻含义,暗示p的类型并不是普通变量,而是“内存地址”类型(内存地址类型的存储在32位机器中占4个字节,64位机器占8个字节),所以p是地址(比如0x7fffffffdde0),而*p代表到0x7fffffffdde0这个内存地址去取这个地址上存的值。

现在把i+1(假设i=4,那么i+1=5)的值5,保存到地址p(0x7fffffffdde0)上,也就意味着以后去p这个地址读取变量值得话,就会读到5。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

引用一个数组元素的方法

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信