指针p p++和++p、p--和--p分别有什么区别???? 5

 我来答
电子数码aP
高能答主

2020-03-25 · 把复杂的事情简单说给你听
知道小有建树答主
回答量:849
采纳率:100%
帮助的人:13.8万
展开全部

1、p++ ++p相当于把p指针移动到p指针当前值加上sizeof(t)的位置,比如p=100,sizeof(t)=4,p++或者++p之后p等于104。

2、p-- --p相当于把p指针移动到p指针当前值减去sizeof(t)的位置,比如p=100,sizeof(t)=4,p--或者--p之后p等于96。

3、其中++或者--在后面,先以p当前位置来计算表达式,然后再移动指针位置;在前面先移动指针位置,再以移动后的位置计算表达式。


扩展资料:

指针的作用:

1、指针就是指向一个特定内存地址的一个变量。C语言指针可以有效地表示复杂的数据结构、动态分配内存、高效地使用数组和字符串、使得调用函数时得到多个返回值等。

指针的应用往往与数组联系在一起,是最频繁的,也是最基础的。在定义数组和函数时,系统都会为其自动分配一个指向其首地址的指针。对于一个数组,其名称就是一个指针变量。

2、指针只是一个变量,它存储一个内存地址。如果传入一个地址,比传入一个struct效率要高,因为少了一个拷贝过程。

3、指针能够有效表示数据结构,能动态分配内存,能较方便的使用字符串,有效的使用数组。4、指针直接与数据等的储存地址有关,是比较重要的。

比如,值传递不如地址传递高效,因为值传递先从实参的地址中提出值,再赋值给形参带入函数计算;而指针则把形参的地址直接指向实参地址,使用时直接提出数据,使效率提高,特别在频繁赋值等情况下。

帐号已注销
2021-06-11 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:166万
展开全部

一、含义不同:

p-- --p相当于把p指针移动到p指针当前值减去sizeof(t)的位置,

p++ ++p相当于把p指针移动到p指针当前值加上sizeof(t)的位置,

二、使用不同:

比如p=100,sizeof(t)=4,p++或者++p之后p等于104。

比如p=100,sizeof(t)=4,p--或者--p之后p等于96。

三、表达式不同:

其中++或者--在后面,先以p当前位置来计算表达式,然后再移动指针位置;在前面先移动指针位置,再以移动后的位置计算表达式。

设一组指针变量

pa、pb、px、py、pm、pch1、pch2,分别指向上述的变量a、b、x、y、m、ch1、ch2,指针变量也同样被存放在内存,尽管所指向的变量类型不同,但是这些指针变量所占内存空间都是2个字节,而与所指向变量的类型无关。

如指针变量pa的值为2000,是变量a在内存的地址。因此,pa就指向变量a。变量的地址就是指针,存放指针的变量就是指针变量。

以上内容参考:百度百科-指针变量

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tongsz1996
2014-05-01
知道答主
回答量:3
采纳率:0%
帮助的人:3310
展开全部
设P当前值为1,X=P++,执行此语句后,X=1,P=2
设P当前值为1,X=++P,执行此语句后,X=2,P=2 P++是执行完后进行自加,++P是先进行自加。
同理P--和--P,一个是先执行后自减,一个是先自减,再执行。
追问
亲,首先明确p是指针
追答
指针也一样啊。根据指针类型的不同,假定P指向地址为A的内存位置,执行P++时,还是指向A位置,但执行后P指向A地址的下一个位置了。如果是++P,执行时就指向A的下一个地址。2种方式执行后P均指向A的下一个地址了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
衔泥无珮
推荐于2017-05-22 · TA获得超过160个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:185万
展开全部
举例来
int a[n];
int *p=a;
p指向a[0];
p++指向a[0],但是之后则指向a[1];比如*p++=1,那么a[0]=1,然后p指向a[1];
++p指向a[1],之后p也指向a[1];
自减同上
追问
那么p++和++p最后运算的结果相同吗
追答
最后的结果是一样的,都是p会自增,但是当时使用的时候值是不一样的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式