C语言学习第14篇---二级指针及二维数组 剖析

举报
CodeAllen 发表于 2021/10/29 23:51:46 2021/10/29
【摘要】 知识来源主要是陈正冲老师的《C语言深度解剖》及Delphi Tang老师的《C语言剖析》,有兴趣的朋友可以看我置顶文章获取   二级指针理解 一级指针保存的是数据的地址,二级指针保存的是一级指针的地址。     A), p =NULL; B),char*p2;p = &p2; &...

知识来源主要是陈正冲老师的《C语言深度解剖》及Delphi Tang老师的《C语言剖析》,有兴趣的朋友可以看我置顶文章获取

 

二级指针理解

一级指针保存的是数据的地址,二级指针保存的是一级指针的地址。

 

 

A), p =NULL;

B)char*p2;p = &p2;

 

 

二维数组理解

内存布局图

&p[4][2] - &a[4][2]的值为多少?

测试代码:


  
  1. /*2018年1月18日08:41:18
  2.  *测试代码
  3. */
  4. intmain()
  5. {
  6. inta[5][5];
  7. int(*p)[4];
  8. p=a;
  9. printf("a_ptr=%#p,p_ptr=%#p\n",&a[4][2],&p[4][2]);
  10. printf("%p,%d\n",&p[4][2]-&a[4][2],&p[4][2]-&a[4][2]);
  11. return0;
  12. }
  13. /*
  14.  *输出:-4
  15. */

 

文章来源: allen5g.blog.csdn.net,作者:CodeAllen的博客,版权归原作者所有,如需转载,请联系作者。

原文链接:allen5g.blog.csdn.net/article/details/79120241

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。