Переполнение стека?
Серьезно, вы когда-нибудь задумывались, насколько велика ваша структура? Если вы сохраните его в стеке, он переполнится ...
Попробуйте sizeof(level)
, было бы интересно увидеть фактический размер.
РЕДАКТИРОВАТЬ: Если вам нужно что-то такое большое, вы действительно должны подумать, где и как вы храните это. Если вы передадите его функции, вы создадите копию структуры и поместите ее в стек. Если вы вернете структуру, вам, скорее всего, понадобится еще одна копия стека.
Вам действительно нужно передать и вернуть структуру? Если нет, вы можете поместить его в обычную статическую память (обычную глобальную переменную ) или выделить ее в кучу. В любом случае, если вы передадите указатель на него, он будет использовать только часть полной структуры.