Расположение статической остроконечной памяти - PullRequest
1 голос
/ 10 сентября 2010

Я прочитал, что указатели, переданные malloc () и calloc (), динамически распределяют память из кучи.

char *Name="Ann";
  1. В этом случае статическая строка {'A', 'n', 'n', '\ 0'} также хранится в куче?
  2. Могу ли я изменить строку, используя указатель?

1 Ответ

7 голосов
/ 10 сентября 2010
  1. Нет, строка размещается статически. (С99, §6.4.5 / 5)
  2. Попытка изменить строковый литерал приводит к неопределенному поведению. (§6.4.5 / 6)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...