История изменений
Исправление alysnix, (текущая версия) :
не все еще врубились, что исторически звездочка как разыменование встала перед именем переменной только потому, что в си израсходовали все мыслимые символы, и для разыменования вменяемого символа не осталось и что бы ни поставить после имени (типа крышечки как алголоподобных) - все равно возникла бы неоднозначность с какой либо операцией. крышечку си забрал под XOR, а знак умножения ставить после переменной нельзя - будет путаница с обычным умножением.
поставили впереди, отчего пришлось писать (*ptr).field. и чтобы не писать так муторно, ввели ->.
карочи. в обьявлении переменной или параметра * - это не часть типа, а часть декларации переменной. оттого все эти
int *a,*b,*c
но в декларации типа * это часть типа. то есть имеется некая путаница.
карочи, по правде, эти «модификаторы декларации» надо писать у имени переменной. для того чтобы тип выглядел целостно, их пишут у типа.
Исходная версия alysnix, :
не все еще врубились, что исторически звездочка как разыменование встала перед именем переменной только потому, что в си израсходовали все мыслимые символы, и для разыменования вменяемого символа не осталось и что бы ни поставить после имени (типа крышечки как алголоподобных) - все равно возникла бы неоднозначность с какой либо операцией. крышечку си забрал под XOR, а знак умножения ставить после переменной нельзя - будет путаница с обычным умножением.
поставили впереди, отчего пришлось писать (*ptr).field. и чтобы не писать так муторно, ввели ->.
карочи. в обьявлении переменной или параметра * - это не часть типа, а часть декларации переменной. оттого все эти
int *a,*b,*c
но в декларации типа * это часть имени типа. то есть имеется некая путаница.
карочи, по правде, эти «модификаторы декларации» надо писать у имени переменной. для того чтобы тип выглядел целостно, их пишут у типа.