Корректен ли код, или правильно инициализировать через malloc? - C (СИ)

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

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

Доброго времени, В Си я совсем новичок. Осваиваю практические приёмы после проработки теории. Возник вопрос. Корректен ли код, или правильно инициализировать через malloc?
int main()
{
  char *t="Это маленький массив";
  t="Теперь сделаем его больше. При компиляции и работе программы сообщений об ошибках не возникает, даже если поместить в цикл, но кто знает...";
}
Мне совершенно не понятно, как в случае повторного присваивания НЕ происходит переполнения, ведь второй массив длиннее. Предполагаю, что должно вылезти за границу памяти, выделенной при первом присваивании. Создаётся ещё один указатель и выделяется ещё кусок памяти под новый массив, или модифицируется старый? Несмотря на нубский вопрос, ответа в сети на него найти так и не смог. Благодарю за ответ. Денис.

Решение задачи: «Корректен ли код, или правильно инициализировать через malloc?»

textual
Листинг программы
*(heart+13)='C';

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


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

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

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