*++p与++*p的区别

如题所述

首先要明白指针变量与指针变量所指的存储单元。这两个概念。
p是指针变量,*p是指针所以存储单元的内容。
所以:*++p是移动指针,即地址的值增1,然后所指的存储单元的内容,即存储单元的内容不自增1。而++*p是存储单元的内容自增1
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-07
首先*++p ,首先执行++p就是使p的地址值增加1,使用的是增加后的值 然后执行*p, 即取得指针变量p所指向的值;
而++*p,是使指针变量p所指向的值增加1
第2个回答  2011-10-15
前者是 先指针前移 然后 所指向的地址的值 ++;

后者是 指针所指向的地址的值 ++;

c语言中*++p与++*p有什么区别
区别:1、*p++与*(p++)是等价的,表示取p所指单元的值,p指向下一单元,即p自加1。2、*p++是指下一个地址。3、(*p)++是指将*p所指的数据的值加一。C编译器认为*和++是同优先级操作符,且都是从右至左结合的,所以*p++中的++只作用在p上,和*(p++)意思一样;在(*p)++中,由于()...

*++p与++*p的区别
p是指针变量,*p是指针所以存储单元的内容。所以:*++p是移动指针,即地址的值增1,然后所指的存储单元的内容,即存储单元的内容不自增1。而++*p是存储单元的内容自增1

c语言中*++p与++*p有什么区别
首先你要明白再C语言中*的优先级低于++的,所以对于*++p来说是先将指针p向后移动一位后再取出p所指地址里面的内容 而++*p是先取出p所指地址里面的内容,然后再将取出的这个值自加1.

*++p与++*p各自的含义和区别。
++p指指针p代表的地址先自加1(移动到下一个单元)然后再获取p指向的地址的数据值,如int a[10];p=a;则*++p就是a[1]的值。++*p就为a[0]+1

C语言中的指令*p++、(*p)++、*++p和++*p分别有什么不同?
(p++) 取(p+1)处地址的值。(++p) 取(p+1)处地址的值。和上面一样。++p 取(p+1)处地址的值。和上面一样。p++ 唯一不同的一个,先取p地址处的值,再对p执行+1。C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的...

C语言中*p++与*++p还有++*p有什么区别?
如果*p=1 printf("%d",*p++)就等于1 如果*p=1 printf("%d",++*p)就等于2 这就是前缀和后缀的区别 ++p是指针向前移动一格再取值

*p++、(*p)++、*++p、++*p有什么不同
cout << (*p)++; \/\/ 1 cout <<((*p)++) \/\/2 ++p 先将指针p自增1(此时指向数组第二个元素),* 操作再取出该值 cout << *++p; \/\/ 2 cout <<(*++p) \/\/2 ++*p 先取指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2)cout <<++*p; ...

几个指针的区别
(p++)是指针引用.其值仍然是*p,但下一次用到*p时,*p已经指向下一个元素.(++为后缀加1)p++是指针引用然后后缀加1,其值仍然是*p,但下一次*p的值却加1.与上一个不同的是*p++是表示后缀值加1 ++p是指针引用,其值是p之后的一个元素,且p也指向了下一个元素.也相当于*(++p)++*p是指针引用...

...P已正确定义并指向a[1]=20.则执行语句*p++,*++p,++*p后的值分别是...
p++,*++p 由于结合顺序的关系,都是先执行p自加1,也就是指向地址往后移一单位的操作,所以p都指向了a[2],再用*指针运算符取得地址里的值,也就30,所以前2个结果都是30.++*p 此时++是对于*p进行的操作,也就是对a[1]自加1,所以结果是21 希望对你有帮助,望采纳谢谢。

问题1:指针中++*p,*++p,*p++,(*p)++,*(p++) 到底是怎么用的,有谁能...
++*p就是array[0]自加后的值,即1+1后的值;++p就是array加完后再取它的数组值,就是array[1]的值,即2;p++就是array[0]本身。即1;(*p)++就是array[0]的自加,即1+1;(p++)带有*,说明它还是一个数值,而不是地址,(p++)就是array自加,也即是array[1]的地址,加上前面的*...

相似回答
大家正在搜