首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

箭头运算符的用法疑问解决办法

2012-03-01 
箭头运算符的用法疑问看一下:structhaha{intnumberfloatprice}product[2],*ptrptrproductptr- numbe

箭头运算符的用法疑问
看一下:

    struct   haha
  {   int   number;
      float   price;
  }product[2],*ptr;
   
    ptr=product;
    ptr-> number=3;
    ptr-> price=7.88;
上面代码难道不是错的吗?
ptr只是个地址啊,对应于haha.number=3;
                                              haha.price=7.88;

难道不应该是*ptr-> number=3;
                        *ptr-> price=7.88;       吗?

我刚学的C,谢谢大家了!

[解决办法]
ptr是指针类型,于是“*ptr”就是对象类型。而从对象类型上直接访问成员应该用“.”,只有从指针类型上访问所指向对象的成员才用“-> ”。
[解决办法]
ptr是指针,*ptr是对象;对象用 ". "指针用 "-> "
“ptr-> number”等价于:“(*ptr).number”

热点排行