指针数组和数组指针之“终极区分办法”

【概念】

指针数组:顾名思义,就是指数组的元素都是指针的数组。指针是定语,数组是中心词,指针修饰数组---指针的数组,也就是指                      针构成的数组。

数组指针:顾名思义,就是指向数组的指针。数组是定语,指针是中心词,数组修饰指针----数组的指针

【定义方式】

先看看基本类型变量定义方法,

int a;

说明:这是定义一个int型变量,int修饰的是a,所以a是int型变量

int *a;

说明:有了*这个符号来修饰a,那么a就变成了一个指针,而int不再修饰a,而是修饰*a了,也就是说*a是一个int型变量,所以a指向了一个int型变量

同理,

int a[5];

说明:[5]修饰a,于是a就变成了一个地址,int修饰a[5],而不是修饰a,所以这个数组的所有元素都是int型变量

int *a[5];

说明:此时*修饰的是a[5],即修饰数组的全部元素,所以数组a中的全部元素都是指针变量,而int则是修饰*a[5],也就是说(*a[n])(其中n=0~5)是一个int型变量,换言之,数组中的所有元素都是指向int型变量的指针。

int (*a)[5];

说明:此时*修饰的是a,而不是a[5],所以a才是指针变量,int则是修饰(*a)[5],所以数组元素都是int型变量,换句话说指针a指向了一个元素为int型变量的数组。

【总结】

先看指针符号修饰谁;再看类型关键字修饰谁。

 

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值