Например, p[0]
уже разыменовывает ваш struct rec *p
, поэтому при попытке скомпилировать код вы получите следующую ошибку:
error: invalid type argument of ‘->’ (have ‘struct rec’)
и gcc будеттакже укажите, где произошла эта ошибка, например:
p[0]->c = 'a';
(строка исходного кода 14)
Это происходит, поскольку вы пытались разыменовать уже разыменованную p[0]
.
Теперь, чтобы это исправить, просто замените ->
для .
, или вы также можете использовать (p + x)->
(x
- действительное число, в вашем случае от 0 до 1), чтобы разыменовать указатель.