* 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次)

参考资料来源:百度百科-指针

温馨提示:内容为网友见解,仅供参考
无其他回答

* p++是什么意思啊?
p++是指下一个地址。++和*的优先级是一样的,不过它们计算时都是从右向左算的。

* p++是什么意思?
p++就是先取出指针p指向的地址单元的数据,之后再将该值加1。由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。若果是*(p++),那么就是先将地址加1,之后取出新地址中的数据。在c语言中 ++的优先级大于* i=*p++ 相当于 i=*(p++),又相当于 i=*p; p++; 但...

* p++是什么意思?
p++就是先取出指针p指向的地址单元的数据,之后再将该值加1。由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。若果是*(p++),那么就是先将地址加1,之后取出新地址中的数据。在c语言中 ++的优先级大于* i=*p++ 相当于 i=*(p++),又相当于 i=*p; p++; 但...

* p++什么意思?
p++的意思就是先取出指针p指向的地址单元的数据,之后再将该值加1。由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。具体如下:1、取数组当前位置的值*p;2、然后,p指向下一位置的数据。

c语言中的* p++什么意思?
意思是根据*和++的优先级判断,那个高p就先和那个结合。c语言*p++ 就是先取出指针p指向的地址单元的数据,之后再将该值加1。由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。具体如下:1、取数组当前位置的值*p;2、然后,p指向下一位置的数据。

c语言* p++是什么意思?
P++ :*和++都是同级运算符,右结合。但++要整个表达式运算完了才运算,先提取P指向对象的值,然后P再做++运算,指向下一个对象。*p++的意思就是先取出指针p指向的地址单元的数据,之后再将该值加1。下面具体区分 1、*p++:只将p加1 2、++p or p++:将p加1 3、++*p:将*p所指单元加1 ...

c语言中* p++代表什么意思?
在C语言中,*p++表示对指针p所指向的值进行访问,并将指针p向后移动一个位置。具体解释如下:p:表示访问指针p所指向的值。p++:表示将指针p向后移动一个位置,即指向下一个元素。所以,*p++的执行顺序是先访问p指向的值,然后将指针p向后移动一个位置。需要注意的是,后缀递增运算符++具有较高...

* p++什么意思?
p++解析:++先跟p结合,但是因为++后置的时候,本身含义就是先运算后增加1(运算指的是p++整体与前面的*进行运算;增加1指的是p+1),所以实际上*p++符号整体对外表现的值是*p的值,运算完成后p再加1.所以*p++等同于:*p; p += 1;举例(伪代码):a[5]={1,2,3,4,5} ;p=a ;fo...

c语言中,*p++是什么意思
p是一个指向某个数组的指针,那么*p++ 是表示两个意思:一、取数组当前位置的值*p 二、然后,p指向下一位置的数据。p=p+1

c语言中* p++是什么意思?
p++就是先取出指针p指向的地址单元的数据,之后再将该值加1。由于运算符 * 的优先级高于运算符 ++,所以是先取指针p指向的地址单元的数据。若果是*(p++),那么就是先将地址加1,之后取出新地址中的数据。在c语言中 ++的优先级大于* i=*p++ 相当于 i=*(p++),又相当于 i=*p; p++; 但...

相似回答
大家正在搜