Изменение динамического массива внутри процедуры - 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 является новым значением для первого элемента динамического массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д