c语言,打印语句里面*(*p + i)怎么理解
本帖最后由 猪猪虾 于 2020-9-23 10:49 编辑#include <stdio.h>
#include <string.h>
//************************指针数组与数组指针*************************
//数组指针:指向的是数组地址,不是数组的第一个元素地址
int main()
{
int temp = {1,2,3,4,5};
int (*p) = &temp;//取数组的地址给数组指针
int i;
for (i = 0;i<5;i++)
{
printf("%d\n",*(*p + i));
}
return 0;
}
本帖最后由 sunrise085 于 2020-9-23 10:55 编辑
看看我之前回答的一个关于数组指针的问题
*(*p + i) p是数组指针的首地址,*p+i实际上是*(p+0)+i,是指向temp[i]的地址,*(*p + i)就是temp[i]的值
sunrise085 发表于 2020-9-23 10:26
看看我之前回答的一个关于数组指针的问题
*(*p + i) p是数组指针的首地址,*p+i实际上是*(p+0)+i,是指 ...
禁止套娃呀{:9_227:} sunrise085 发表于 2020-9-23 10:26
看看我之前回答的一个关于数组指针的问题
*(*p + i) p是数组指针的首地址,*p+i实际上是*(p+0)+i,是指 ...
我运行了你之前发的程序,报错了,截图在上面 本帖最后由 sunrise085 于 2020-9-23 10:59 编辑
猪猪虾 发表于 2020-9-23 10:50
我运行了你之前发的程序,报错了,截图在上面
你把那个取地址符 & 去掉,有的编译器对数组可以写取地址府,有的不可以。
再给你个帖子 LuLD 发表于 2020-9-23 10:33
禁止套娃呀
哈哈,其实这个贴子中也有,只是他选最佳的时候选的不是那个楼层。
现在换了一下帖子链接 sunrise085 发表于 2020-9-23 10:26
看看我之前回答的一个关于数组指针的问题
*(*p + i) p是数组指针的首地址,*p+i实际上是*(p+0)+i,是指 ...
*p指向的是什么呢
页:
[1]