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

p pa,p *pa,和p &pa 这三个有什么区别

p pa,p *pa,和p &pa 这三个有什么区别

正在回答

4 回答

p pa 就是查看这个指针变量所保存的地址

p *pa就是查看指针指向的地址的值即3 

p & pa就是查看这个指针变量的地址

指针变量就是用来保存地址的 望采纳

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

p是打印的意思,

p pa 打印pa的值

p *pa打印pa所值的内容值 即3

p &pa 打印pa在内存中的地址

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

*代表取值

&代表取地址

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

请把它们的声明完整的写出来

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

1宠儿011 提问者

int a=3; int *pa=&a; 刚自己运行调试了下 p pa与p &a相同,所以p pa是a的地址 p *pa 运行后为3,即所指内容 p &pa 运行后即为指针自身地址
2015-09-18 回复 有任何疑惑可以回复我~
#2

onemoo 回复 1宠儿011 提问者

"p pa" "p &a" "p *pa" 是什么?? 为什么要在前面加上p?? 从你上面这两条定义看: a 是值为3的int变量,pa 为指向 a 的指针。 &a 就是取 a 的地址,得到的就是指向 a 的指针,和 pa 一样。 *pa 是将这个指针"解引用"得到原本指向的对象,所以就是a。 如果另有 &pa,则为取pa这个指针的地址。
2015-09-18 回复 有任何疑惑可以回复我~
#3

1宠儿011 提问者 回复 onemoo

在gdb调试时,想知道pa,&pa,*pa为什么值,前面要加个P
2015-09-19 回复 有任何疑惑可以回复我~
#4

onemoo 回复 1宠儿011 提问者

print 原来你是这个意思
2015-09-19 回复 有任何疑惑可以回复我~
#5

攻城没有狮 回复 1宠儿011 提问者

个人代码命名习惯,没有特殊含义
2015-10-25 回复 有任何疑惑可以回复我~
#6

akavice 回复 1宠儿011 提问者

没必要加P,你不加这个p,用别的也行,pa只是一个代号,用pa会显得更直观一点
2016-02-22 回复 有任何疑惑可以回复我~
#7

热喷Redpen 回复 1宠儿011 提问者

p在之前讲过 p (变量名)指的是输出变量对应的数值
2016-03-06 回复 有任何疑惑可以回复我~
#8

qq_星空_1 回复 1宠儿011 提问者

对的,是这样
2016-08-08 回复 有任何疑惑可以回复我~
查看5条回复

举报

0/150
提交
取消

p pa,p *pa,和p &pa 这三个有什么区别

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