两个指针变量*p,*q(p指向a,q指向b),p=q与p=*q有什么区别?

如题所述

假如a的地址是x0001,对应的值是123, b的地址是x000f,对应的值是789,
那么p的值就是a的地址x0001,q的值就是b的地址x000f
p=q就是把q的值赋给p,这时p的值是x000f
p=*q是把地址q对应的值赋给p,即x000f对应的值789,这时p的值是789,这个值如果被当作一个内存地址的话,我们是不知道它是什么的,这样的操作是很危险的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-11
p = q是把q指针赋值给p,即*p内容为*q的内容,他们指向同一个内存区域。
p = *q是把p指向内存地址为*q的区域,这个区域数据是未知的。
相似回答