我是靠谱客的博主 斯文故事,最近开发中收集的这篇文章主要介绍C艺术篇 3-1 指针与一维数组(1),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我们先来看指针与一维数组的关系,例题如下:

从输出结果得知,arr是数组名,它是指针常量,而ptr是指针变量。

arr表示此数组第一个元素的地址,即arr等同于&arr[0]。

arr可以使用指针变量的*表示符号,如*arr等同于arr[0],*(arr+1)等同于arr[1],依次类推。

在2-1中介绍过

int *ptr = &x;

其实是下列两条语句的组合

int *ptr;

ptr = &x;

可以理解为 ptr就是地址,当本题将数组地址给ptr时候, 把ptr当为数组,所以ptr[i]表示的是值,而ptr+i表示的是地址。

同理ptr也可以使用指针变量的[]表示符号,如目前ptr所指向变量地址的值为ptr[0],其等同于*ptr,而ptr[1],等同于*(ptr+1),依次类推。

再来看范例:

 

 

从输出结果得知,pi+1;只是将目前的pi往下移到下一个元素的地址,它并没有覆盖pi。

而pi++;不仅将目前的pi移到下一个元素的地址,而且还将此新值覆盖pi/我们可以对指针变量pi做++的动作,但是不可以对数组名i做++的动作。

当指针、自增(++)运算符或自减(--)运算符,及*这三个运算符在同一语句时,要注意++的作用点在哪里。

转载于:https://www.cnblogs.com/Hh-blog/p/10013903.html

最后

以上就是斯文故事为你收集整理的C艺术篇 3-1 指针与一维数组(1)的全部内容,希望文章能够帮你解决C艺术篇 3-1 指针与一维数组(1)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部