C++指针的实质其实就是变量,只不过一般变量存储的是一个数值,而指针存储的是一个地址。
从下面这个例子可以清楚的看出指针的本质
#include<iostream>
using namespace std;
int main(){
int a=10;
int *p;
p=&a;
cout<<p<<"\t"<<*p<<"\t"<<&p<<endl;//p是指针指向变量的地址,*p是指针指向变量地址存放的值
//&p是指针本身的地址
cout<<a<<"\t"<<&a<<endl;
p++;
//对p做改变是改变指针指向的地址,p本身的地址不变
cout<<p<<"\t"<<*p<<"\t"<<&p;
}
//指针的地址每次改变的位数和计算机存储地址的位数有关,如计算机A存储地址使用四个字节,那么p++的地址比起p就多了四位