Last updated on

*p++、*(p++)、(*p)++、*++p、++*p的区别


这几天做题就一直搞不懂*和自增自减先后顺序,做题老是翻车,所以研究一下,大佬请轻喷。。。

int n=第一步第二步结合性以及综合的取值
*p++*pp++先取p所指向的变量值,然后p存放的地址++,相当于n=*p,p++;
*(p++)p++*p效果等同于*p++
(*p)++*p(*p)+=1先取p所指向的变量值,然后p所指的变量++,相当于n=*p,(*p)++
*++p++p*(++p)先p存放的地址++,然后取p++后所指向的变量值,相当于n=*(p+1)
++*p*p(*p)+=1先取p所指向的变量值,然后p所指的变量++,相当于(*p)++;n=*p

注意:(p)++,++p,不适用于字符串常量,同样的p++,(p++),*++p也不适用于字符数组!

就这么多吧,好累~