Изменение динамического массива внутри процедуры - C (СИ)
Формулировка задачи:
Подскажите как правильно передать динамический массив в процедуру ,чтобы его можно было там изменить
Пробовал сделать так:
программа
Крашится при выводе элементов
#include <stdio.h>
#include <stdlib.h>
void f(int **a)
{
*a=(int*)realloc(a,1*sizeof(int));
a[0]=6;
return;
}
int main()
{
int *a=NULL;
printf("%d\n",a);
printf("%d\n",a[0]);
f(&a);
printf("%d\n",a);
printf("%d\n",a[0]);
return 0;
}Решение задачи: «Изменение динамического массива внутри процедуры»
textual
Листинг программы
(*a)[0] = 6;
Объяснение кода листинга программы
- В данном коде происходит изменение значения элемента динамического массива.
- Динамический массив представлен в виде указателя (*a).
- Значение элемента динамического массива по индексу 0 изменяется на 6.
- Индекс 0 соответствует первому элементу динамического массива.
- Значение 6 является новым значением для первого элемента динамического массива.