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

p *pa是访问地址所指的内容,那int *pa=&a;这不是地址吗,怎么*pa又是地址又是所指的内容?怎么回事?

int *pa=&a;

(gdb) p *pa

$4=3

正在回答

2 回答


int a = 0; // 在堆上分配了一个4字节的地址存放a, a 的值为 0
int* p = &a; // 指针 p 指向了 a 的地址。你可以认为是 int* 一个整体 声明指向int类型的指针


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

温州皮革厂厂长 提问者

非常感谢!
2015-08-26 回复 有任何疑惑可以回复我~
#2

AAnonymous 回复 温州皮革厂厂长 提问者

我回复错了,不是堆,是栈。int *a = new int; 才在堆上
2015-08-26 回复 有任何疑惑可以回复我~

int a = x;//常数

int *pa = &a,  其实pa为a的地址,*pa=x,变量的实质是内存 ,指针的实质是地址

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

举报

0/150
提交
取消

p *pa是访问地址所指的内容,那int *pa=&a;这不是地址吗,怎么*pa又是地址又是所指的内容?怎么回事?

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