где динамическая c переменная памяти живет в памяти в следующей ситуации? - PullRequest
0 голосов
/ 20 апреля 2020

Допустим, есть переменная памяти Dynami c, которую мы создали с помощью mallo c.

dynamic_memory_variable = malloc(byte_size)

Эта динамическая c память явно выделяется в куче, однако где живет dynamic_memory_variable?

Если я не ошибаюсь, это локальная переменная, живущая в стеке, потому что теперь она является локальной переменной для вызова функции? Правильно ли я предполагаю это?

1 Ответ

0 голосов
/ 20 апреля 2020

Вы правы, dynamic_memory_variable will - это только переменная / указатель на память. Переменная будет жить только в стеке, но память, на которую она ссылается, находится в куче. Если вы потеряете указатель, память все равно будет выделена, но не доступна и не будет освобождена.

...