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

关于C语言指针的理解!求大神指教!

关于C语言指针的理解!求大神指教!

C
荒小北158 2017-01-05 19:47:15
假设一个变量  a=10   的地址为   x*p=10       这里的p得到的值为x么?等价  p = &a  ?  *p=10   的意思是不是p这个指针变量访问a这个变量地址里面的值  或者说是p变量的值是a的地址   *p的意思是访问这个地址的值
查看完整描述

3 回答

已采纳
?
DOUBLE_l

TA贡献45条经验 获得超12个赞

void main() { int a=10; int* p; p=&a;//把a的地址给P *p=10;//把10赋给p指向的变量 }
查看完整回答
反对 回复 2017-01-05
  • 荒小北158
    荒小北158
    那么没有p=&a 直接是 *p=10 是不是有把a的地址给p的意思呢(前提的int a=10;int *p;)
  • DOUBLE_l
    DOUBLE_l
    没有那样的意思,那样写就错了。
?
joecongmin

TA贡献1条经验 获得超0个赞

*p=10,为对指针的解引用,即给p指向的变量赋值为10,在此之前必须要先进行定义初始化,如 p=&a;p变量的值是a的地址   *p的意思是访问这个变量指向的地址X的值.

查看完整回答
反对 回复 2017-01-06
?
DOUBLE_l

TA贡献45条经验 获得超12个赞

没有的话(p=&a)就会出错,产生难以预料的后果,因为你不知道它刚开始指向哪个内存空间。一定要在指针变量确认指向之后才能赋值(例如*p=10;否则是没有意义的)。
查看完整回答
反对 回复 2017-01-06
  • 3 回答
  • 0 关注
  • 1678 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信