Недавно я начал программировать C только для удовольствия. Я очень опытный программист в C# .NET и Java в области рабочего стола, но для меня это становится слишком сложной задачей.
Я пытаюсь сделать что-то как "простое", возвращая двумерный массив из функции. Я пробовал исследовать в Интернете для этого, но мне было трудно найти что-то, что сработало.
Вот что я до сих пор. Он не совсем возвращает массив, он просто заполняет его. Но даже это не скомпилируется (я уверен, что причины должны быть очевидны для вас, если вы опытный программист C).
void new_array (int x[n][n]) {
int i,o;
for (i=0; i<n; i++) {
for (o=0; o<n; o++) {
x[i][o]=(rand() % n)-n/2;
}
}
return x;
}
И использование:
int x[n][n];
new_array(x);
Что я делаю неправильно? Следует отметить, что n является константой, которая имеет значение 3.
Изменить. Здесь возникает ошибка компилятора при попытке определить константу: http://i.imgur.com/sa4JkXs.png