История изменений
Исправление alysnix, (текущая версия) :
вот что неправильно в сишной грамматике, это разыменование. то что у них разыменование идет ДО разыменуемого выражения приводит к к тому, что нужно вводить еще значок -> как селектор поля структуры -> . если бы они ставили разыменование ПОСЛЕ выражения, по паскалевскому типу, то все выглядело бы куда изящней.
сравниваем:
паскаль:
ptr^
ptr^.field
си
*ptr
(*ptr).field
ptr->field
но ставить после в си нельзя, будет неоднозначность с умножением. надо менять символ разыменования с * на нечто уникальное.
Исправление alysnix, :
вот что неправильно в сишной грамматике, это разыменование. то что у них разыменование идет ДО разыменуемого выражения приводит к к тому, что нужно вводить еще значок -> как селектор поля структуры -> . если бы они ставили разыменование ПОСЛЕ выражения, по паскалевскому типу, то все выглядело бы куда изящней.
сравниваем:
паскаль:
ptr^
ptr^.field
си
*ptr
(*ptr).field
ptr->field
Исходная версия alysnix, :
вот что неправильно в сишной грамматике, это разыменование. то что у них разыменование идет ДО разыменуемого выражения приводит к к тому, что нужно вводить еще значок -> как селектор поля структуры -> . если , они ставили разыменование ПОСЛЕ выражения, по паскалевскому типу, то все выглядело бы куда изящней.
сравниваем:
паскаль:
ptr^
ptr^.field
си
*ptr
(*ptr).field
ptr->field