*p 1和*(p 1)的差異有:1.優先權不同,p 1中,會先解引用p,而*(p 1)中,會先計算p 1;2 、操作物件不同,p 1是先對p解引用,而(p 1)是先將p加1;3、結果不同,p 1是p指向的物件的值加1,(p 1)是p指向的下一個物件的值。
本教學操作環境:windows10系統、DELL G3電腦。
*p 1和*(p 1)有什麼差別呢?相信不少網友朋友還不太清楚,今天小編就為大家帶來了相關的教程,希望能夠幫到大家。
一、優先權不同
p 1和(p 1)在操作優先權上有所不同。在C/C 中,運算子(解引用運算子)和 (加法運算子)的優先權不同。加法運算子的優先權低於解引用運算子。因此,在p 1中,會先解引用p,然後再加1;在*(p 1)中,因為加括號改變了優先權,會先計算p 1,然後再解引用。
二、操作物件不同
p 1和(p 1)操作的物件也有差別。 p 1是先對p解引用,得到p指向的對象,然後對該對象加1。而(p 1)是先將p加1,使其指向下一個對象,然後對該新對象進行解引用。
三、結果不同
p 1和(p 1)的結果是不同的。 p 1先解引用p,再加1,所以結果是p指向的物件的值加1。而(p 1)是將p加1,然後解引用,所以結果是p指向的下一個物件的值。
以上是*p+1和*(p+1)有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!