C++教程:C++指针的操作和运算

2020-01-06 12:18:19于丽

   int i=1;
   for (int j=0;j<5;j++)
   {
      cout <<'(' <<aptr <<")=" <<*aptr <<endl;//输出指针内存储的地址和该地址的数据
      aptr=aptr+i;//指针和整型变量做加法
   }
   return 0;
}

运行结果:
(0x0012FF6C)=1
(0x0012FF70)=2
(0x0012FF74)=3
(0x0012FF78)=4
(0x0012FF7C)=5

我们发现,每次做了加法以后,地址值并不是相差1,而是相差了4。所以指针和整数做加法并不是简单地将地址值和整数相加。我们又发现,每次做了加法以后,能够输出原先指针所指的下一个元素。根据数组在内存中的存储情况我们不难得出这样一个结论:指针和整数C的加减法是指针向前或向后移动C个对应类型的存储区域,即可以得到以下公式: