不多废话:
int num = 12;
int* p = #
cout << num << endl; // 12
cout << &num << endl; // 0x7ffdc20099fc
cout << p << endl; // 0x7ffdc20099fc
cout << *p << endl; // 12
cout << &p << endl; // 0x7ffdc20099f0
cout << &*p << endl; // 0x7ffdc20099fc
解释:
int num = 12;
声明(int型)变量,名为num,值为12
int* p = #
声明(int指针型)变量,名为p,值为num的地址
cout << num << endl; // 12
不多解释
cout << &num << endl; // 0x7ffdc20099fc
存放num的值的地址: 0x7ffdc20099fc
cout << p << endl; // 0x7ffdc20099fc
上边已经声明了,p等于存放num的地址: 0x7ffdc20099fc
cout << *p << endl; // 12
“*” 这个符号叫做 “地址解析符”,是用来解析指针变量的,如果p的值是一个地址,那么*p的值就是这个地址存放的具体的值
cout << &p << endl; // 0x7ffdc20099f0
存放p的值的地址: 0x7ffdc20099f0
cout << &*p << endl; // 0x7ffdc20099fc
不多解释