Если где-то в моем коде я использую адрес переменной (например, передаю ее какой-либо другой функции), компилятор автоматически решит сохранить ее в памяти? (в отличие от возможности его хранения в регистре).
В противном случае, что произойдет, если я попрошу адрес такой переменной (сохраненной как регистр)? Я знаю, что мы не можем принять адрес переменных, явно установленных для регистрации (register int c
).
EDIT:
Например, если я делаю что-то вроде
int c = 1;
print("Address of c: %p", &c);
Затем эту переменную не удалось сохранить в регистре, не так ли? Компилятор автоматически установит его как сохраненный в памяти? В противном случае (если он просто хранится в регистре), каким будет адрес, отображаемый на экране?