В C, если структура имеет несколько элементов, и вы хотите использовать только некоторые из этих элементов в функции, лучше ли передать указатель на структуру или я должен сам передать эти элементы? Или это не имеет значения?Пропустить struct vs отдельные элементы структуры
Если у меня есть, например:
struct Test {
int a1, a2, a3, a4, a5, a6, a7, a8;
};
и функции, использующей a1, a2, a3, a4, я должен использовать
void f(struct Test*);
или
void f(int, int, int, int);
Я бы передал только то, что мне нужно, то есть отдельные элементы структуры. – cdonts
Но тогда я передаю несколько вещей, а не только указатель. Лучше другого? – user1801359
Скорее всего, это будет закрыто, потому что оно субъективно. Но за два года я бы сказал, что это зависит от функции. Если ваша функция может использоваться только с этой структурой (несмотря только на использование подмножества полей), то передать структуру. Если у него есть вероятность повторного использования в других местах путем передачи отдельных полей, тогда имеет смысл это сделать. – Benj