Работая над моей мышцей C в последнее время и просматривая многие библиотеки, с которыми я работаю, я дал мне хорошее представление о том, что такое хорошая практика. Одна вещь, которую я НЕ видел, - это функция, которая возвращает структуру:
something_t make_something() { ... }
Из того, что я понял, это "правильный" способ сделать это:
something_t *make_something() { ... }
void destroy_something(something_t *object) { ... }
Архитектура в фрагменте кода 2 FAR более популярна, чем фрагмент 1. Итак, теперь я спрашиваю: зачем мне когда-либо возвращать структуру напрямую, как в фрагменте 1? Какие различия следует учитывать при выборе между двумя параметрами?
Кроме того, как этот параметр сравнивается?
void make_something(something_t *object)