求助,数组指针解引用为什么要用两次**

Poceer 2019-02-05 11:41:24



为啥要解引用两次才能得到值 求助
...全文
927 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Poceer 2019-02-06
  • 打赏
  • 举报
回复
懂了,原来(*p)【5】定义的数组指针是二维的,我还在想他跟直接*p的区别呢
名字在哪啊 2019-02-06
  • 打赏
  • 举报
回复
名字在哪啊 2019-02-06
  • 打赏
  • 举报
回复
定义并初始化了数组a[5]
你这里其实是定义了一个指向二维数组的指针(我是这么叫的)并把他指向一维数组a
你这里(*p1)与a等价
*p1储存的是a[0]的地址当然要用啊[0]的值要两次解引用啊·
下面这个代码是一般的指向一维数组的用法
int main()
{
int a[5]={1,2,3,4,5};
int *p=&a;
printf("%d",*p);
return 0;
}

当然一维数组也是可以指向二维数组的但是(*p1)[5]二维数组指针就方便一点
指向下一列就把p1++就ok

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧