数组指针与指针数组的区别(函数指针与指针函数类似)

这个涉及到运算符的优先级问题,类似的问题还有指针函数函数指针。“()”运算符优先级高于“[]”高于“*”所以char * str[20]中str相与“[]”先结合,就成了str[],这是什么?数组!没错,这就是数组,接下来str[]在于“*”结合,就成了*str[],所以这个式子就可以这样写:
char *(str[20]);这就是指针数组,什么是指针数组指针数组就是数组里面装的是指针,你可以这样来理解,整形数组里面装的是整形数据,那么指针数组里面装得就是指针,指针数组其实就是二维数组。另一个就很简单了吧,由于“()”优先级最高所以先运算“()”里的内容,*str,这是指针,然后在于“[]”结合,这就是数组指针,什么是数组指针数组指针就是指向数组首地址的指针,你也可以这样来理解,int *p;p指向的是int类型数据的地址,那么数组指针呢?就是指向数组首地址的指针。总结:指针数组是数组,数组的内容是指针;数组指针是指针,指针指向的值数组的首地址。现在明白了吧,你可以试着去理解指针函数函数指针吧
如:int (*s[10])(int) 函数指针数组,每个指针指向一个int func(int param)的函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值