为了账号安全,请及时绑定邮箱和手机立即绑定

*p和*&p 有什么区别?

#include<stdio.h>
#include<iostream>
using namespace std;
int main(void) 
{
	int a=10;
	int *p=&a;
	int *&q = p;
	cout << "p的按地址求值"<<*&p<< endl;
	cout << "p的直接求值" << *p << endl;
	cout << "p的地址的值的值" << **&p << endl;
	system("pause");
	return 0;
}


正在回答

3 回答

*p 表示的就是一个指针,而&p表示变量p的地址对于上面的程序来说&p!=&a,上面的程序指针*p指向a的地址

此时p的值为a的地址*p的值相当于指向a的地址引用(可理解为a存储的值),而当*&p时相当与对a进行了取地址此时*&p = &a;

0 回复 有任何疑惑可以回复我~
#1

折木0 提问者

非常感谢!
2016-07-09 回复 有任何疑惑可以回复我~

将一个指针空间p赋给 q地址的值?

0 回复 有任何疑惑可以回复我~

&是取地址符号,*是取指针里面的值,*&p是先去指针p的地址值之后再按地址值取值。*p是直接去指针里的值。

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之离港篇
  • 参与学习       122700    人
  • 解答问题       474    个

C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通

进入课程

*p和*&p 有什么区别?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信