Нет.
(*pointer)->name
говорит: «Возьми то, на что pointer
указывает.Получите структуру, на которую она указывает, и получите от нее член name
». Чтобы это работало, pointer
должен быть указателем на указатель на структуру.Например, он мог быть объявлен как struct foo **pointer
.
pointer->name
, где говорится: «Получить структуру, на которую указывает pointer
, и получить из нее элемент name
». Чтобы это работало, pointer
должен быть указателем на структуру.Его можно было бы объявить как struct foo *pointer
.
(*pointer).name
, который говорит «Получите структуру, на которую указывает pointer
.Получите из него элемент name
». Он также должен быть pointer
для структуры.
(Единственное отличие между двумя последними заключается в том, что второй использует один оператор в исходном коде. Операции фактическивыполняются одинаково.)