Что на самом деле происходит в C, когда хранится не указатель? [Дубликат]

На этот вопрос уже есть ответ:

Указатель на уточнение указателя 16 ответов

ВАЖНЫЙ Это пыталось просить слишком много вещей одновременно и вводило в заблуждение, потому что я написал это под ложным предположением о том, как можно использовать указатели, и в итоге это выглядело как дубликат. Пожалуйста, посмотрите это вместо этого: Как переменные связаны со своими значениями в C?

Давайте рассмотрим, что есть значение4 по адресу0001, а затем мы назначаем адрес0001 в переменнуюnum. Мы можем представить это в виде двух таблиц:

VARIABLE|ADDRESS    ADDRESS|VALUE
num     |0001       0001   |4

Из того, что я понимаю, это будет конечный продукт следующего кода:

int temp = 4;
int * num = &temp;

Однако, что происходит в первой строке,int temp = 4;? Эта первая строка производит что-то вроде этого?

VARIABLE|ADDRESS    ADDRESS|VALUE
        |           temp   |4

А как работают указатели на указатели? Будет ли код:

int temp = 4;
int * num = &temp;
int ** pnum = #

изготовить это?

VARIABLE|ADDRESS    ADDRESS|VALUE
num     |0001       0001   |4
pnum    |0002       0002   |0001

Как правильно думать об этом? Что на самом деле происходит под капотом? Кроме того, как это меняется, когда структура хранится вместо числа?

Я понимаю, что приведенные выше примеры, вероятно, совершенно неверны; они должны были просто контекстуализировать мой вопрос.

Ответы на вопрос(1)

Ваш ответ на вопрос