读书人

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

发布时间: 2012-03-01 10:25:46 作者: rapoo

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

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”

读书人网 >C语言

热点推荐