c语言 数组与指针
【摘要】 @TOC 前言之前我们讲了指针数组,今天讲一下数组指针。 一、数组与指针的概述:数组指针就是数组的指针,就是***指向数组的指针。***int a [5] = {1,2,3,4,5}; / / 定义一个数组int *p = &a[0]; / / 定义一个指针指向数组的首地址,由于 数组的首地址就是数组名,所以&a[0]==a; 则可写为 int * p = a;则此时的***指针...
@TOC
前言
之前我们讲了指针数组,今天讲一下数组指针。
一、数组与指针的概述:
数组指针就是数组的指针,就是***指向数组的指针。***
- int a [5] = {1,2,3,4,5}; / / 定义一个数组
- int *p = &a[0]; / / 定义一个指针指向数组的首地址,由于 数组的首地址就是数组名,所以&a[0]==a; 则可写为 int * p = a;
- 则此时的***指针*** p 就是数组指针。
二、数组指针遍历数组:
因为 指针 p 指向 数组的首地址,则可以通过地址遍历数组的元素。
- 前面我们讲过指针的偏移,又因为 p 指向数组可得到:
p+0 == &a[0];
p+1 == &a[1];
p+2 == &a[2];
p+3 == &a[3];
p+4 == &a[4]; - a[0] == *&a[0] == *(p+0) == *p;
a[1] == *&a[1] == *(p+1) == *p;
a[2] == *&a[2] == *(p+2) == *p;
a[3] == *&a[3] == *(p+3) == *p;
a[4] == *&a[4] == *(p+4) == *p;
三、数组指针遍历数组元素的应用:
注意:
1.* (p+i)一定要加小括号,因为* 的优先级低于 + 。
总结
指针数组和数组指针一定要好好理解,不要搞混淆。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)