Arrow Operator vs. Dot Operator [closed]
It seems to me that C's arrow operator (->) is unnecessary. The dot operator (.) should be sufficient. Take the following code: typedef struct { int member; } my_type; my_type foo; my_type * bar; int val; val = foo.member; val = bar->member; We see that the arrow operator must be used to dereference bar. However, I would prefer to write val = bar.member; There is no ambiguity as to whether I am trying to pull 'member' from a structure or from a pointer to the structure. But it is easy to use the wrong operator, especially when refactoring code. (For example, maybe I am doing some complex