c++指標(二)---算術運算
阿新 • • 發佈:2018-11-14
c++中的指標可以理解為一個地址的值,這個值是用數值來表示的。 因此可以對其執行算術運算。可以對指標進行四種算術運算:++,--,+,-
遞增一個指標
程式中可以用指標代替陣列,因為變數指標可以遞增,而陣列不能遞增,因為陣列是一個常量指標。下面的程式遞增變數指標,以便順序訪問陣列中的每一個元素。
指標的比較
指標可以用關係運算符進行比較,如==,<,>。如果p1,p2指向兩個相關的變數,比如同一個數組中的不同元素,則可對p1和p2進行大小比較。
#include <iostream> using namespace std; const int MAX = 3; int main () { int var[MAX] = {10, 100, 200}; int *ptr; // 指標中的陣列地址 ptr = var; for (int i = 0; i < MAX; i++) { cout << "Address of var[" << i << "] = "; cout << ptr << endl; cout << "Value of var[" << i << "] = "; cout << *ptr << endl; // 移動到下一個位置 ptr++;//遞增指標 } ptr = var; int i=0; while ( ptr <= &var[MAX - 1] )//指標的比較 { cout << "Address of var[" << i << "] = "; cout << ptr << endl; cout << "Value of var[" << i << "] = "; cout << *ptr << endl; // 指向上一個位置 ptr++; i++; } return 0; }
執行結果
Address of var[0] = 0097FA20
Value of var[0] = 10
Address of var[1] = 0097FA24
Value of var[1] = 100
Address of var[2] = 0097FA28
Value of var[2] = 200
Address of var[0] = 0097FA20
Value of var[0] = 10
Address of var[1] = 0097FA24
Value of var[1] = 100
Address of var[2] = 0097FA28
Value of var[2] = 200
請按任意鍵繼續. .