关于指针和数组

1.指针数组

形如int *arr[10]的类型,指针数组可以简单理解为存放指针变量的数组。

2.数组指针

形如int (*)arr[10]的类型,数组指针可以简单理解为指向数组的指针。

就上面所介绍的两种类型来看,有一种较为简单的记忆方法,看*和[]谁先和arr接触,若是先和*接触,即为数组指针,若是先和[]接触,即为指针数组。

3.函数指针

形如int (*)cmp(void *,void *)的类型,该含义是指向输出为int型,参数为void *类型的cmp函数的指针。

4.函数指针数组

形如 int *cmp[10](void *,void *)的类型,该含义是一个元素个数为10的数组,其中放的是int (*)(void *,void *)类型的函数指针。

5.指向函数指针数组的指针

形如int(*(*cmp)[10])(void *,void *)的类型,该含义是指指向4中的函数指针数组的指针。

可见,函数指针即函数指针数组即往下以此递增的种种数组或指针,还是先和*结合的为指针,先和[]结合的为数组,两者可以以此往上进行关系上的递增,变成包涵某种函数指针的数组或是指向某种包涵函数指针的数组的指针,以此可以累加递增。

只要掌握了相关的技巧,对于指针的理解就异常简便。希望对大家有所帮助。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值