Я предполагаю, что вы используете компилятор C99 (с поддержкой динамически изменяемых массивов). Проблема в вашем коде состоит в том, что в то время, когда компиляторы видят объявление вашей переменной, он не может знать, сколько элементов в массиве (я также предполагаю, что из ошибки компилятора length
не является постоянной времени компиляции) ,
Вы должны вручную инициализировать этот массив:
int boardAux[length][length];
memset( boardAux, 0, length*length*sizeof(int) );