Насколько я понимаю, в C и C++ создание массива символов путем вызова:
char *s = "hello";
фактически создает два объекта: массив символов только для чтения, который создается в статическом пространстве, что означает, что он существует в течение всего времени выполнения программы, и указатель на эту память. Указатель является локальной переменной для своей области, а затем умирает.
Мой вопрос: что происходит с массивом, когда указатель умирает? Если я выполняю приведенный выше код внутри функции, означает ли это, что у меня есть утечка памяти после выхода из функции?