【发布时间】:2016-01-06 12:19:17
【问题描述】:
我有一个 C 中的结构,如下所示:
struct Database {
int row_size;
int name_size;
struct Address *;
};
这个结构将通过 malloc(...) 调用放入堆中。然后我将通过另一个 malloc(...) 调用让 struct Address* 指向堆中的另一个区域。
如果我使用 fwrite(...) 将此结构写入磁盘,会发生什么? fwrite(...) 会自动跟随(或取消引用)指针struct Address *,还是会简单地将指针本身(这将无用)复制到磁盘?
【问题讨论】:
-
只需尝试看看会发生什么。这就是答案。
-
是的,但这比 SE 上的人告诉我答案需要更多的时间和精力。
-
struct Address*- 指针已经表示它是一个地址。您将结构命名为Address的目的是什么? -
我在 LCTHW 书中做一个练习。它希望我创建一个具有可变数量记录的数据库(也就是地址——这个数据库存储地址)。
-
man page for
fwrite是什么意思?