c - 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*)
,但还有另一个重要原因吗?何时将数组包装在结构中是否有一般规则?
解决方案
推荐阅读
- matlab - Matlab:缺少间隔值的误差线图
- ansible - 在ansible-playbook中运行一个任务时如何切换或成为另一个远程用户?
- microsoft-graph-api - 从 MS Graph API 获取消息时出现错误 504,网关超时
- java - 为读取姓名、年龄和身高的 Java 赋值而苦苦挣扎
- css - React App 的不同组件中是否可以有多个整页背景图像?
- c# - 如何根据环境大摇大摆地隐藏端点?
- regex - 正则表达式:匹配一个空字符串而不是什么都没有
- plugins - 在我的插件中连接到 CRM 服务器时发生错误
- css - 达到滚动边界时防止过度滚动
- jquery - 从请求中获取 POST 参数