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
请按任意键继续. .

猜你喜欢

转载自blog.csdn.net/weixin_38145317/article/details/83340487
今日推荐