C++之指针数组与数组指针

指针数组

说明

顾名思义,指针数组描述的对象是一个数组,在此前提下,我们可以联想到字符串数组,整型数组,浮点型数组等。字符串数组指的是数组中的每个元素都是字符,整形、浮点型数组中每个元素都是整形的,浮点型的数字,指针数组中每个元素都是指针(地址)。指针数组是由若干个指针组成的数组,只不过这个数组里存放的是地址。

定义
int* arr[6];    //int型指针数组
char* arr[4];  //char型指针数组

数组指针

说明

数组指针,首先明确它是一个指针,然后再来谈它是什么类型的。指针包含很多种类型,包括指向那些最基本的数据类型如int,float,char,double等的指针,还有指向那些由基本数据类型组成的字符串、数组、结构的指针。所以说数组指针是一个指向数组的指针。

定义
int (*ptr)[10];  //由于[]的优先级高于*,所以必须添加括号.
char (*ps)[5]

如要将二维数组赋给一指针,应这样赋值:

int a[3][4];
int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。
p=a;        //将该二维数组的首地址赋给p,也就是a[0]或&a[0][0]
p++;       //该语句执行过后,也就是p=p+1;p跨过行a[0][]指向了行a[1][]

所以数组指针也称指向一维数组的指针,亦称行指针。

参考

数组指针和指针数组的区别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值