指针与多维数组的地址

本文探讨了二维数组和指针的关系,解释了数组名zippo作为首元素地址的概念,以及zippo、zippo[0]和zippo[0][0]之间的差异。通过加1操作展示了指针地址的变化,并阐述了双重间接(double indirection)的概念。
摘要由CSDN通过智能技术生成

回忆一维数组ar[],数组名ar是指向数组首元素ar[0]的地址。

假设有如下二维数组

int zippo[4][2];//内含4个int数组的数组

数组名zippo是数组首元素zippo的地址。二维数组zippo的首元素是一个含有两个int元素的一维数组,所以zippo是这个内含两个int值的数组的地址。即zippo = &zippo[0]。而zippo[0]是个内含两个int值的数组,所以zippo[0]的值与它的首元素zippo[0][0]的地址相同。
简而言之,zippo[0]是一个占用一个int大小的对象的地址,zippo是一个占用两个int大小的对象的地址。由于他们开始于同一个地址,所以zippo与zippo[0]的值相同。
给指针或地址加1,其值会增加对应类型大小的数值。在这方面,zippo和zippo[0]不同,因为zippo指向的对象占用了两个int大小,而zippo[0]指向的对象只占用一个int大小。因此, zippo + 1和zippo[0] + 1的值不同。

解引用一个指针(在指针前使用*运算符)或在

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值