2016-01-06 2 views
-5

У меня есть структуры в C, который выглядит следующим образом:Запись на диск структуры, которая содержит указатель

struct Database { 
    int row_size; 
    int name_size; 
    struct Address *; 
}; 

Эта структура будет введена в кучу с помощью вызова таНоса (...). Затем я должен указать struct Address* на другой регион в куче через другой вызов malloc (...).

Если я использую fwrite (...) для записи этой структуры на диск, что произойдет? Будет ли fwrite (...) автоматически следовать (или разыменовывать) указатель struct Address *, или он просто скопирует сам указатель (который будет бесполезен) на диск?

+4

Просто попробуйте и посмотрите, что произойдет. И это ответ. – mikedu95

+1

да, но для этого потребуется больше времени и усилий, чем кто-то из SE, рассказывающий мне ответ. –

+0

'struct Address *' - указатель уже означает, что это адрес. Как вы намереваетесь называть структуру «Адрес»? –

ответ

2

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

Смежные вопросы