箭头运算符的用法疑问
看一下:
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”