This shows you the differences between two versions of the page.
Next revision | Previous revision Next revision Both sides next revision | ||
courses:programming:topic11 [2016/11/19 14:25] kkv created |
courses:programming:topic11 [2018/02/02 09:20] pro100kot |
||
---|---|---|---|
Line 48: | Line 48: | ||
</code> | </code> | ||
+ | |||
+ | === Вопросы по коду === | ||
+ | |||
+ | == Вопрос: Я не понимаю строку == | ||
+ | |||
+ | <code> data = (struct Person*)malloc (sizeof(struct Person)); </code> | ||
+ | |||
+ | Что хранит переменная data? | ||
+ | |||
+ | == Ответ == | ||
+ | |||
+ | Перменная data объявлена и инициализирована так: | ||
+ | |||
+ | <code>struct Person *data = NULL;</code> | ||
+ | |||
+ | Это указатель, который может ссылаться (но не ссылается в начальный момент, так как ему присвоено занчение NULL) на структуры типа struct Person. | ||
+ | |||
+ | Вызов | ||
+ | |||
+ | <code>malloc (sizeof(struct Person))</code> | ||
+ | выделяет память размером со структуру struct Person и после приведения типа <code>(struct Person*)</code> присваивает адрес этого блока памяти указателю data. | ||
+ | |||
+ | После всего этого data указывает на область данных в памяти, размером с struct Person, выделенную с помощью malloc | ||
+ |