#include<iostream>
using namespace std;
int main()
{
//指针
int a=112,b=-1;
double c=3.14;
int *d=&a;
double *e=&c;
//以下&a,&b,&c,&d,&e各代表变量a,b,c,d,e的地址,均不相同
cout<<"a:"<<a<<",addr:"<<&a<<endl;
cout<<"b:"<<b<<",addr:"<<&b<<endl;
cout<<"c:"<<c<<",addr:"<<&c<<endl;
cout<<"d:"<<d<<",addr:"<<&d<<endl; //变量d的值是变量a的地址
cout<<"*d:"<<*d<<",addr:"<<&(*d)<<endl;
cout<<"e:"<<e<<",addr:"<<&e<<endl; //变量e的值是变量c的地址
cout<<"*e:"<<*e<<",addr:"<<&(*e)<<endl;
int *f=d;
cout<<"f:"<<f<<",addr:"<<&f<<endl;
cout<<"*f:"<<*f<<",addr:"<<&(*f)<<endl;
//指针的指针
int **g=&d;
cout<<"g:"<<g<<",addr:"<<&g<<endl; //变量g的值是变量d的地址
cout<<"*g:"<<*g<<",addr:"<<&(*g)<<endl; //*g取的是变量d的内容,也就是变量a的地址
cout<<"**g:"<<**g<<",addr:"<<&(**g)<<endl; //**g取的是变量a的内容
system("pause");
return 0;
}
通过运行及上面分析,理解指针的指针: