Не могу разобраться с выделением количества памяти - массив, указатель - C (СИ)

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

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

Правильно ли я понимаю: когда мы используем массив, в примере ниже, то литерал копируется в массив, тем самым создаться копия литерала.
   char arr[] = "Hello.";
Когда используем указатель, то создается переменная-указатель, которая указывает на литерал.
 char *arr  = "Hello.";
Так как копии литерала не создается, то работа с указателем требует мелешь затрат оперативной памяти ?? или разницы нет ??

Решение задачи: «Не могу разобраться с выделением количества памяти - массив, указатель»

textual
Листинг программы
char arr[] = "Hello.";
arr[5] = '!';

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

  1. Объявляется массив типа char с именем arr и инициализируется строкой Hello..
  2. arr[5] присваивается символ '!'.
  3. В данном коде не происходит выделения памяти под массив, он выделяется при инициализации.
  4. В данном коде не происходит освобождения памяти, так как массив является частью кучи (heap).
  5. В данном коде не происходит работы с указателями.

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


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

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

6   голосов , оценка 4.333 из 5
Похожие ответы