C語言中++*x和*++x的區別


++跟*的優先級一樣,如果兩個同時出現,運算是從右往左(不是常規的從左往右),所以:

++*x即++(*x),先取x的值,然后讓值自加1;(地址沒變,指針指向的值變了。搞不懂的話自己用快遞做例子)

*++x即*(++x),先讓x的自加1,就是x的地址加上這個指針類型的步長(比如說這個指針是int類型,那它的地址+4,以此類推),然后再取x的值。(地址變了,但是值沒變)

另外的,int *x,x代表的是指針,指針即地址,*是取值符,*x就是取指針x里存的值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM