LINUX.ORG.RU

История изменений

Исправление 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