由上节介绍我们知道,通过指针可以修改内存上的数据,并进一步可以交换数据。这种操作实际上也是在对地址进行操作运算。具体怎么实现指针变量的元素呢?为什么能实现指针变量的运算呢?
因为指针变量保存的是地址,而地址本质上是一个整数,所以指针变量可以进行部分运算,例如加法、减法、比较等。
#include <stdio.h>
#include <iostream>
using namespace std;
int main() {
int a = 8, *pa = &a, *paa = &a;
double b = 70.3, *pb = &b;
char c = '#', *pc = &c;
//最初的值----打印地址
cout << "---打印最初的7个地址---" << endl;
printf("&a=%#X, &b=%#X, &c=%#X\n", &a, &b, &c);
printf("pa=%#X, paa=%#X,pb=%#X, pc=%#X\n", pa, paa, pb, pc);//pa和paa地址一样,因为都是指向a。
//------------打印数据
cout << "---打印最初的7个数据---" << endl;
cout << a <<" , "<< b << " , " << c << endl;
cout << *pa << " , " &