#include <iostream>
using namespace std;
int main ()
{
int var = 20; // 实际变量的声明
int* ip; // 指针变量的声明
ip = &var; // 在指针变量中存储 var 的地址
cout << "Value of var variable: ";
cout << var << endl; //20,因为ip等于的是var的地址,所以var值不变,仍旧是20
int** b=&ip; //把一个指针的地址给b赋值,那么b指向的地址里应该是放了一个地址,这个地址指向var,也就是20
cout << "Value of ip variable: ";
cout << ip << endl; //地址,&var表示的是地址,所以ip等于地址
cout << "Value of *ip variable: ";
cout << *ip << endl; //20,ip本是一个地址,但是×在指针面前表示能把打印出地址的内容,
cout << "Value of *b variable: ";
cout << *b << endl; //地址,此处打印的是ip内存放的var的地址,因为×b表示把b指向的地址翻译为该地址的内容,而b等于ip的地址,ip地址的内容存放的是var的地址,所以打印的是var的地址
// 访问指针中地址的值
cout << "Value of **b variable: ";
cout << **b << endl; //20;此处表示把b(ip的地址)翻译为内容(等于var的地址),然后再翻译为内容。
return 0;
}