c++ 指针

72 阅读1分钟

不多废话:

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 = &num;
声明(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
不多解释