Предположим, вы хотите сделать функцию f
в C, которая преобразует некоторую структуру, скажем struct s1
.Существуют ли идиоматические рекомендации по модификации структур в C?
Существует ли лучшие практики/идиомы в современных C более, является ли это лучше для вашей функции f
для получения/возврат копирует части структуры VS. указателей на структуры?
Например, вот некоторые возможные сигнатуры типов для f
(и я уверен, что есть больше, что я пропускаю):
struct s1 f(struct s1)
struct* s1 f(struct* s1)
void f(struct *s1)
В общем, люди стараются держаться подальше от некоторых из них тип подписей против других?
Зависит от размера структуры и является ли намерение сделать копию или просто изменить некоторые значения внутри структуры. – user3386109