Где будет храниться постоянная строка в памяти?

иногда мы используем этот тип кода в нашем программировании на языке C.

char *p = "Sam"; 

Здесь адрес постоянной строки символов «Сэм» будет храниться в указателе char p. теперь здесь
Я хочу спросить, где будет храниться Сэм?

В стандарте это не указывается. Как правило, строковый литерал ( "Sam" ) будет храниться в разделе данных на странице только для чтения.

Что касается p , это зависит от того, является ли оно автоматическим или статическим.

Строка «Сэм» обычно хранится в глобальной памяти в том же регионе, что и глобальные константы.

Однако, если вы это сделали:

 char p[] = "Sam"; 

Тогда это будет в стеке. (как инициализатор массива)