Цитата(ViKo @ Feb 9 2015, 11:52)

Если можно выдать структуру, то почему нельзя выдать аналогичным образом массив?
Можно. Для этого он должен быть внутри структуры, которая может быть из одного массива.
А аналогичным образом нельзя потому, что массив есть указатель на кусок предвыделенной на этапе компиляции памяти. А структура - есть сам набор данных, а не указатель на него. Поэтому "return <массив>" - ошибочен, так как получается требование возврата указателя, возможно на локальный буфер, время жизни которого кончается с выходом из ф-ции. А "return <структура>" - корректно, так как это требования возврата самих данных, хранящихся в структуре, а не указателя на структуру. Поэтому присваивания и возвраты массивов изначально не предусмотрены, а структур - пожалуйста.