Что означает -> в С?
Я понимаю что -> заменяет (*).element для структуры но, изучая чужой код зачастую вижу подобное обращение к функциям и тк в С нет классов это вызывает вопросы.
К примеру:
if (chan->write_packed_cell(chan, cell) < 0) {
goto done;
}
-- вызвано внутри той же функции "write_packed_cell"
Извиняюсь за подобный вопрос относящийся больше к теории, но я не часто пишу на С и такое вижу в первые.
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
В структуру можно положить указатель на функцию. Но всё-таки вероятно, chan - тоже указатель, так что тут обычное разыменование и обращение:
(*chan).write_packed_cell(chan, cell)