#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的地址,无论谁去取都应该相同,而事实上不同.
这里我们看到不同是指针地址的不同,因为是两个不同的指针变量。
-------------------------*/
取址运行符是取指针的地址而不是取指针所指变量的地址
最新推荐文章于 2024-06-14 21:51:38 发布