Warum existiert der Pfeil (->) Operator in C?

Der Punkt (.) Operator wird verwendet, um auf ein Mitglied einer Struktur zuzugreifen, während der Pfeil-Operator (->) in C wird verwendet, um auf ein Mitglied einer Struktur zuzugreifen, auf die der betreffende Zeiger verweist.

Der Zeiger selbst hat keine Elemente, auf die mit dem Punktoperator zugegriffen werden kann (es ist eigentlich nur eine Zahl, die eine Position im virtuellen Speicher beschreibt, sodass er keine Elemente hat). Es würde also keine Mehrdeutigkeit geben, wenn wir nur den Punktoperator so definieren würden, dass der Zeiger automatisch dereferenziert wird, wenn er für einen Zeiger verwendet wird (eine Information, die dem Compiler zur Kompilierzeit bekannt ist).

Warum haben die Sprachentwickler beschlossen, die Dinge durch Hinzufügen dieses scheinbar unnötigen Operators zu komplizieren? Was ist die große Designentscheidung?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage