指針運算

指針運算

指針運算是在信息工程中指針是一個用來指示一個內存地址的計算機語言的變數或中央處理器(CPU)中寄存器(Register)。

什麼是指針


在信息工程中指針是一個用來指示一個內存地址的計算機語言的變數或中央處理器(CPU)中寄存器(Register)。

指針運算


指針變數加/減一個整數

例如:p++,p--,p+i等。
C語言與C++語言規定,一個指針變數加/減一個整數是將該指針變數的原值(是一個地址)和它指向的變數所佔用的內存單元位元組數相加或相減。這樣就保證了p+i指向p下面的第i個元素。
如p+i代表這樣的地址計算:p+i*d,其中d為p所指向的變數單元所佔用的位元組數。

指針變數賦值

C語言與C++語言規定,可以將一個變數或一個函數的入口地址賦值給相應的指針變數。
例如(假設p是相應的指針):
p=&a;
p=max;(max為已經定義的函數)

指針變數相減

如果兩個指針變數指向同一個數組的元素,則兩個指針變數之差是兩個指針之間的元素個數。
注意,指針變數相加無實際意義。

指針變數比較

如果兩個指針變數指向同一個數組的元素,則可以進行比較。指向前面元素的指針變數小於指向後面元素的指針變數。