Идентификаторы на языке C, на которых они хранятся

Просто интересно. Я пересматриваю свои давно забытые ржавые знания C и интересно, на C, где хранятся идентификаторы объявленных переменных?

Например, если я объявляю следующее значение char1 в main.

int main(){ char value1 = 'A'; return 0; } 

Я знаю, что символ будет храниться в стеке в стеке для основного. Давайте скажем, если бы мы сделали адрес on on value1, как this & value1. Мы получили бы что-то вроде 0xF37012 (гипотетическое число). Это будет где значение находится, но как насчет идентификатора? и как это связано с 0xF37012? Является ли он в стеке фрахта для основного места? Или все идентификаторы сохраняются в какой-либо глобальной таблице или в списке?

Если вы не откомпилировали специально для отладки, идентификаторы НЕ сохраняются. Если вы установили параметр отладки при компиляции, будут отображаться таблицы символов, связанные с функциями / стек-кадры / статические хранилища, которые предоставляют эти сопоставления.

некоторый идентификатор будет оптимизирован при компиляции, если не будет получена информация об отладке.