В чем причина возврата указателя на структуру при создании ADT в C? например:C ADT - Почему функция инициализации обычно возвращает указатель?
typedef struct some_thing st_t;
// system interface
st_t* init_system();
.
.
несколько функций
.
.
Неправильно ли возвращать структуру, а не указатель на структуру?
Если вы вернули структуру, то вы потеряете A от ADT –
Возможно, функция init выделяет память. – saadtaame
Одновременно может быть много причин. Было бы проще использовать не общий пример. – keltar