Правильно ли я понимаю, что при подобном случае:
const char *str = "Test string";
память под строковый литерал выделяется где-то в read-only сегменте данных? Сразу же возникает вопрос: каков период жизни такого литерала? Правильно ли понимаю, что период жизни совпадает с периодом жизни программы и при последующем использовании такого же литерала:
const char *str2 = "Test string";
я получу указатель на ту же самую область памяти? Особенно интересует, определено это где-то в стандарте С или эта реализация/поведение (время жизни литерала) зависят от компилятора?