可能重复:
为什么 C 在 -> 和 . 之间有区别?
编译器足够聪明,可以知道左侧操作数是指针还是引用。为什么成员访问有两个不同的运算符(. 和 ->)?
是否使间接明确?为了易读性?在设计 C 语言时,是否有关于可用硬件的某些内容为在阅读源代码时易于区分这些操作提供了强有力的理由?
我读过它只是一种简写语法(*ptr).member
,但是ptr.member
当 ptr 是指针时它是否有效?为什么不能像ptr 是指针ptr.member
一样“正常工作” ?ptr->member