取址运行符是取指针的地址而不是取指针所指变量的地址

#include <iostream>
using namespace std;

int main( void )
{
	int a = 2002;
	int *p = &a;
	int *pp = &a;
	
	cout << (p == pp) << endl;
	cout << (&p == &pp) << endl;
	
	system( "PAUSE" );
	return EXIT_SUCCESS;
}

/*-------------
1
0
请按任意键继续. . .


从运行结果看:
p 与 pp是相等的
&p 与 &&pp不相等

这说明指针中的取址是取指针的地址而不是取指针所指变量的地址
如果是取变量的地址,那么指针p指向变量a,所取的地址是a的地址
同理,指针pp指向变量a,所取地址也是a的地址,a的地址,无论谁去取都应该相同,而事实上不同.
这里我们看到不同是指针地址的不同,因为是两个不同的指针变量。 
-------------------------*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值