1. 程式人生 > >c++指標(二)---算術運算

c++指標(二)---算術運算

 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
請按任意鍵繼續. .