c++* p++什么意思?
*P++ :*和++都是同级运算符,右结合。但++要整个表达式运算完了才运算,先提取P指向对象的值,然后P再做++运算,指向下一个对象。
C语言的特点之一是代码可以写的很精炼。
*p++解析:++先跟p结合,但是因为++后置的时候,本身含义就是先运算后增加1(运算指的是p++整体与前面的*进行运算;增加1指的是p+1),所以实际上*p++符号整体对外表现的值是*p的值,运算完成后p再加1.
所以*p++等同于:*p; p += 1;
举例(伪代码):
a[5]={1,2,3,4,5} ;
*p=a ;
for(5)printf *p++;
输出是 1 2 3 4 5,且最后p指向&a【4】+sizeof(元素类型);
扩展资料:
*++p的使用:
*++p等价于:先执行++p,在处理*p;同样举个列子(伪代码)
a[5]={1,2,3,4,5} ;
*p=a ;
for(4)printf *++p;
输出是 2 3 4 5,且最后p指向&a【4】(注意for循环只执行4次)
参考资料来源:百度百科-指针
c语言中*p++ 、*(++p) 、(*p)++的作用分别是什么
p++ 先取到指针p指向的值,即*p,然后再给指针p加1,即让p指向下一个位置 (++p) 先给指针p加1,即让p指向下一个位置,然后取出p此时所指位置的值 (*p)++先取出p当前所指的值,然后给这个值加1,指针所指位置不变
C语言中 *(p++) p++ *p++ ++*p (*p)++ 分别是什么意思
(p++):取出指针p所指地址中的数据,指针+1 p++ : 指针+1 p++ : 等同于 *(p++)++*p : 指针所指地址中的数据+1 (*p)++ : 取地址数据,地址中的数据+1 tip1. * 与 ++的优先级相同的,它们的结合性都是自右向左 tip2. ()的优先级高于*和++ 优先级、结合性...
C语言 指针一节,p++,*p++,*++p,(*p)++是什么意思??请举例说明一下好吗...
p++,根据c的运算符优先级,*p++=*(p++)。是对(p++)这个地址取值。所以*p++的值是6,执行完之后p=0x108 ++p=*(++p);首先是++p,即地址先增加,然后对增加后的地址取值,所以*++p=7,执行完毕后p=0x108 (*p)++,首先对p取值,得到a[2],再对a[2]执行后++,执行完之后p不变...
c语言的* p++什么意思?
p++就是先取出指针p指向的地址单元的数据,之后再将该值加1。由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。若果是*(p++),那么就是先将地址加1,之后取出新地址中的数据。在c语言中 ++的优先级大于* i=*p++ 相当于 i=*(p++),又相当于 i=*p; p++; 但...
c语言中的* p++什么意思?
意思是根据*和++的优先级判断,那个高p就先和那个结合。c语言*p++ 就是先取出指针p指向的地址单元的数据,之后再将该值加1。由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。具体如下:1、取数组当前位置的值*p;2、然后,p指向下一位置的数据。
c++中 *p++ *(++p) *++p (*p)++ ++(*p)各表示什么意思
p++ :取p指针内的地址的变量的值,然后指针+1 ,指向下一个变量 *(++p) :p指针的指向的下一个变量的值+1 *++p :p指针的指向的下一个变量的值,然后指针+1,指向下一个变量 (*p)++ :取p指针内的地址的变量的值+1 ++(*p) :取p指针内的地址的变量的值+1 ...
C语言中 *(p++) p++ *p++ ++*p (*p)++ 分别是什么意思?
p++ 先取指针p指向的值(数组第一个元素1),再将指针p自增1;(*p)++ 先去指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2 ++p 先将指针p自增1(此时指向数组第二个元素),* 操作再取出该值 ++*p 先取指针p指向的值(数组第一个元素1),再将该值自增...
运算符* p++是什么意思?
p++是指下一个地址。++和*的优先级是一样的,不过它们计算时都是从右向左算的。
c语言 *(p++)和*p++含义一样不
肯定不一样的:(p++):是将先p所指向内存地址值A移动一个存储单元(如果p是int型就移动4个字节,char型就移动1个字节,……)得到另一个地址值B,再取移动后的地址值B所存放的数据;p++:是先取出p指向内存地址值A存放的数据,再把这个数据加一。
c语言中* p++是什么意思?
p++就是先取出指针p指向的地址单元的数据,之后再将该值加1。由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。若果是*(p++),那么就是先将地址加1,之后取出新地址中的数据。在c语言中 ++的优先级大于* i=*p++ 相当于 i=*(p++),又相当于 i=*p; p++; 但...