Я последовал за несколькими примерами на этом форуме, но, похоже, моя программа все еще продолжает сбой в какой-то момент.Распределение памяти. 2D-массив (функция Void)
Все, что я хочу сделать, это просто использовать void function
для распределения памяти.
void alloc(int ***matrix, int n)
{
int i = 0;
for(; i < n; i++)
{
(*matrix)[i] = (int*)malloc(n * sizeof(int));
}
i = 0;
for(; i < n; i++)
{
int j = 0;
for(; j < n; j++)
{
(*matrix)[i][j] = i * j;
}
}
}
//-------------------------------------------------------------------
int main()
{
int n;
int **matrix_pp;
printf("Enter n: ");
scanf("%d", &n);
alloc(&matrix_pp, n);
free(matrix_pp);
return 0;
}
Нет двухмерного массива! И быть 3-звездочным программистом - это не комплимент. Поскольку ваша функция 'void' в любом случае, вы должны просто вернуть указатель. – Olaf