这个问题可能看起来很简单,但对我来说不是。尺寸是预先未知的,这完全取决于用户的愿望。结构声明:
struct Book* books;
然后,如果一个人想要,他可以再创建 1 本书,我以这种方式为其分配内存:
books = (struct Book*)malloc(sizeof(struct Book));
但据我了解,我并没有给内存增加更多的空间,而只是清除并分配新的内存,所以我的结构中只能有 1 本书。随着一本书的添加,如何随着时间的推移在内存中添加一个位置?提前宣布某个地方并不是最佳选择,因为我们不知道需要添加多少,一切都是在黄金时间决定的。
还是一切都是通过声明 struct Book** 书籍来决定的?