指向多维数组的指针

普通指针
int * ptr
ptr指向一个int类型的值。

如何声明一个指针变量pz指向一个二维数组(例zippo)?
zippo是首元素的地址,该元素是个内含两个int类型的值的一维数组。因此,pz必须指向一个内含两个int类型值的数组,而不是指向一个int类型值,声明如下:

int (*pz)[2];   //pz指向一个内含两个int类型值的数组

以上代码把pz声明为指向一个数组的指针,该数组内含两个int类型值。
为什么要在声明中使用圆括号?因为[ ]的优先级高于,*先与pz结合,因此声明的是一个指向数组(内含两个int类型的值)的指针。
考虑如下声明:

int * pax[2];   /* pax是一个内含两个指针元素的数组,每个元素都指向int的指针*/

由于[ ]优先级高,先与pax结合,所以pax成为一个内含两个元素的数组。然后*表示pax数组内含两个指针。最后,int表示pax数组中的指针都指向int类型的值。因此,这行代码声明了两个指向int的指针。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值