169 похожих чатов

Правильно ли я выделил память для переменной int x? void init_variable_on_heap(int*

x) {
int* allocated_int = (int* ) malloc(sizeof(int));

*allocated_int = 777;

*x = *allocated_int;
}

int main() {
int x;

init_variable_on_heap(&x);

printf("variable is %i\n", x);

return 0;
}

10 ответов

12 просмотров
Dmitry-Croft Автор вопроса

Если закрыть глаза на утечку и странность подхода, то с технической точки зрения можно ли сказать, что моя переменная лежит в динамически выделенной памяти, а не в стек памяти?

allocated_int — эта да.

Dmitry-Croft Автор вопроса
Alexander "Ternvein" Isaev
allocated_int — эта да.

Точно, я же купирую туда значение, поэтому переменная x так и осталась в стеке. Верно?

Dmitry-Croft Автор вопроса

как посчитал?

Dmitry-Croft Автор вопроса

Выделил правильно. Не освободил неправильно

Dmitry Croft
Если закрыть глаза на утечку и странность подхода,...

С технической точки зрения так сказать нельзя, ибо то, для чего переменная используются, не требует динамического объекта, а сразу после этого использовантя все ссылки на эту динамическую переменную теряются. Так что переменной уже не существует сразу же после выхода из этой функции.

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
1
Святости? Когда дотумкаешь что открытое лучше закрытого - кастани
zamtmn
9
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
ты вот так хотел? а пурджить arg бесполезно это не макрос, вот рестроить arg смысл есть, но в конце области видимости, а не перед началом новой области видимости.
ProMiNick
7
Карта сайта