Динамический массив и его указатель для функций ввода и вывода
Здравствуйте: есть две функции (ввода - >> без обработки вывода на файл) Проблема заключается в следующем. В теле основной программы выделяется a, а указатель на него отдается функциям. Все хорошо, но не до результата, который естественно неверен:
A[0]= -842150451
A[1]= -842150451
A[2]= -842150451
A[3]= -842150451
A[4]= -842150451
(вероятно сами значения - это указатель на массив динамический). Пытаюсь засунуть выделение динамического массива в функцию ввода (ниже по коду - input_arrayA_from_file(a,n), получаются интеррапты - никак не могу додуматься как передать указатель на массив, чтоб в итоге все получилось.
printf("Введите размерность массива A: ");
scanf("%i", &n);
a = (int*)malloc(n * sizeof(int));
// вызываемый прототип функции ввода
printf("-------Введите данные с файла test.txt, расположенного непосредственно в папке с программой-------");
input_arrayA_from_file(a,n);
output_arrayA_file(a,n);
void input_arrayA_from_file(int *a,int size)
{
FILE * f1;
f1 = fopen("test.txt", "r");
for (int i = 0; i < size; i++)
{
fscanf(f1, " %d", a + i);
}
fclose(f1);
}
void output_arrayA_file(int *a,int size)
{
FILE * f1;
f1 = fopen("test.txt", "w");
for (int i = 0; i < size; i++)
{
fprintf(f1, "A[%d]= %d ", i, a[i]);
}
fclose(f1);
}