Лучше ли оборачивать массивы и их переменные длины в структуру в C? - PullRequest
5 голосов
/ 19 марта 2009

Я скоро начну использовать C для курса по операционным системам, и я читаю рекомендации по использованию C, чтобы впоследствии уменьшить головные боли.

Это всегда был мой первый вопрос относительно массивов, так как их легко испортить.

Является ли обычной практикой объединять массив и связанную с ним переменную, содержащую его длину в структуре?

Я никогда не видел этого в книгах, и обычно они всегда держат их отдельно или используют что-то вроде sizeof (array [] / array [1]).

Но, обернув их в структуру, вы сможете передавать структуру как по значению, так и по ссылке, что вы не можете сделать с массивами, если не используете указатели, и в этом случае вам придется снова отслеживать длина массива.

Я начинаю использовать C, так что вышеизложенное может быть ужасно неправильно, я все еще студент.

Cheers, Кай.

Ответы [ 11 ]

0 голосов
/ 19 марта 2009

Я никогда не видел, чтобы это делалось таким образом, но я не работал на уровне операционной системы более десяти лет ... :-) На первый взгляд кажется разумным подходом. Единственной заботой было бы убедиться, что размер каким-либо образом остается точным ... Расчет по мере необходимости не имеет такого значения.

...