Когда-то я написал статью про программирование игры "5 букв": И вот в комментариях появился пользователь, который с уверенным видом начал раздавать поучения: это плохо, то плохо, это не так и т.д. Что ж, он достаточно долго смотрел в бездну. Кстати, тут не помешает почитать ещё вот эту статью: Итак, в чём суть. Функция в языке C не может возвращать массив фиксированной длины как копию. То есть нельзя написать такую функцию, которая имела бы тип массива с длиной, предположительно вот так: На что следует вот такой комментарий: Естественно, без каких-либо доказательств. Но есть один ценный совет: Давайте же ему последуем. А вот и пункт 6.9.1 стандарта, про функции: Нет, не может функция возвращать массивы. Я делаю вместо массива структуру, потому что структуру функция вернуть может: Очевидно, разницы с массивом у этой структуры нет никакой, она эквивалентна массиву, но вот массив вернуть нельзя, а структуру можно. Это связано с обратной совместимостью версий языка C. Если вкратце, раньше