Не могу разобраться с выделением количества памяти - массив, указатель - C (СИ)
Формулировка задачи:
Правильно ли я понимаю: когда мы используем массив, в примере ниже, то литерал копируется в массив, тем самым создаться копия литерала.
Когда используем указатель, то создается переменная-указатель, которая указывает на литерал.
Так как копии литерала не создается, то работа с указателем требует мелешь затрат оперативной памяти ?? или разницы нет ??
char arr[] = "Hello.";
char *arr = "Hello.";
Решение задачи: «Не могу разобраться с выделением количества памяти - массив, указатель»
textual
Листинг программы
char arr[] = "Hello."; arr[5] = '!';
Объяснение кода листинга программы
- Объявляется массив типа char с именем arr и инициализируется строкой
Hello.
. - arr[5] присваивается символ '!'.
- В данном коде не происходит выделения памяти под массив, он выделяется при инициализации.
- В данном коде не происходит освобождения памяти, так как массив является частью кучи (heap).
- В данном коде не происходит работы с указателями.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д