Почему оператор стрелки (->) в C существует?

Точка (.) используется для доступа к члену структуры, а оператор стрелки (->) в C используется для доступа к члену структуры, на которую ссылается рассматриваемый указатель.

Сам указатель не имеет элементов, к которым можно было бы получить доступ с помощью оператора точки (на самом деле это всего лишь число, описывающее местоположение в виртуальной памяти, поэтому у него нет элементов). Таким образом, не было бы никакой двусмысленности, если бы мы просто определили оператор точки для автоматического разыменования указателя, если он используется для указателя (информация, которая известна компилятору во время компиляции afaik).

Так почему создатели языка решили усложнить ситуацию, добавив этот, казалось бы, ненужный оператор? Какое большое дизайнерское решение?

Ответы на вопрос(3)

Ваш ответ на вопрос