浅谈数组指针和指针数组

        最近一段时间,总是把数组指针和指针数组搞乱,特此做一下总结,加深理解。

一:概念分析。

如何区别数组指针和指针数组,其实从两者的英文就可以很清楚辨别。

      数组指针英文名字:a pointer to array

      指针数组英文名字:array of pointer

所以,顾名思义,数组指针是一个指针变量,占内存中一个指针的存储空间;指针数组是一个存放多个指针变量的数组。


二:例子分析。

int  a[5][6]是一个二维数组

int *p[5]是指针数组,其数组中的5个元素皆为指针(int* 类型),p[0],p[1],p[2],p[3],p[4]都只能放一个地址,如:p[0]=&a[0][0],p[1]=&a[0][1]....

int (*p)[5]是数组指针,指向一个第二维度为5的二维数组,相当于int p[][5],特别注意的是p+1,移动的距离是5*4(sizeof(int))=20个字节,如:p=a //表示a[0]的地址,p++//表示a[1]的地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值