首页 > 解决方案 > C:结构中只有一个数组,为什么以及何时?

问题描述

将单个数组放入结构中的主要好处是什么?你什么时候做?举个例子:

struct Database{
  struct Address rows[MAX_ROWS];
};

现在创建一个数据库:

struct Database* db = malloc(sizeof(struct Database));

但是也可以这样做:

struct Address* db = malloc(sizeof(struct Address) * MAX_ROWS);

我认为一个原因是更好的文档/代码理解(代码自我解释),例如签名foo(struct Database*)似乎比 好得多foo(struct Address*),但还有另一个重要原因吗?何时将数组包装在结构中是否有一般规则?

标签: cstruct

解决方案


推荐阅读