Изменение динамического массива внутри процедуры - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Подскажите как правильно передать динамический массив в процедуру ,чтобы его можно было там изменить Пробовал сделать так:
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. void f(int **a)
  4. {
  5. *a=(int*)realloc(a,1*sizeof(int));
  6. a[0]=6;
  7. return;
  8. }
  9. int main()
  10. {
  11. int *a=NULL;
  12. printf("%d\n",a);
  13. printf("%d\n",a[0]);
  14. f(&a);
  15. printf("%d\n",a);
  16. printf("%d\n",a[0]);
  17. return 0;
  18. }
программа Крашится при выводе элементов

Решение задачи: «Изменение динамического массива внутри процедуры»

textual
Листинг программы
  1. (*a)[0] = 6;

Объяснение кода листинга программы

  1. В данном коде происходит изменение значения элемента динамического массива.
  2. Динамический массив представлен в виде указателя (*a).
  3. Значение элемента динамического массива по индексу 0 изменяется на 6.
  4. Индекс 0 соответствует первому элементу динамического массива.
  5. Значение 6 является новым значением для первого элемента динамического массива.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы