c语言学习笔记-二重指针与二维数组

  1. 二重指针
    1. 二重指针本质上也是指针变量,其占用空间大小也为4个字节,只是指向的对象必须是一重指针,这种特性是由编译器决定的,以避免出现错误使用而不自知的情况,并减少开发者辨识的复杂度
    2. 二重指针经常用于传参中,改变一重指针的指向地址
  2. 二维数组
    1. 二维数组从内存上来看,与同等大小的一维数组没有什么区别
      二维数组由n个一维元素构成,而一维元素又由j个二维元素构成
      例如a[2][5] 救赎由两个元素构成,这两个元素每个都包括5个元素

    2. 二维数组的指针表示方法
      了解了上面二维数组构成,就可以对照一维数组的方式使用指针访问二维数组,先确定第一维,(p+i),然后写入第一维的值,(p+i),然后访问第二维,((p+i))+j,再确认第二维的值*((*(p+i))+j)

    3. 二维数组的应用
      想应用二维数组,首先要确定下面几个概念
      以二维数组a[2][5]举例
      a,a[0] , &a[0][0] 这三者指向的地址等同,a代表数组首地址,a[0]代表数组第一个元素的地址,&a[0][0]代表数组第一个元素中首元素的地址,三者的访问的方式不同,a需要通过一个相同类型的数组指针访问,a等同于&a[0]
      指针指向二维数组的第一维 :a[0]等同于&a[0][0]
      指针指向二维数组的第二维 :&a[0][0]通过一个一维数组就可以访问
      通过数组指针访问二维指针,可以很好的匹配,int (*a)[5]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值