返回介绍

只要把“鱼”给函数就行了

发布于 2024-10-10 23:21:27 字数 1268 浏览 0 评论 0 收藏 0

现在,你只要把新的自定义数据传给函数就行了,而不必传递一大批零散的数据。

/* 打印目录项 */void catalog(struct fish f){ ...}/* 打印贴在水缸上的标签 */void label(struct fish f){ ...}










是不是简单多了?现在函数只需接收一条数据,而且调用函数的代码也更易读了:struct fish snappy = {"Snappy", "Piranha", 69, 4};catalog(snappy);label(snappy);


以上便是定义自定义数据类型的方法,但怎么才能使用它们呢?函数如何读取结构中保存的某条数据呢?

鱼的好处

把数据放在结构中传递有一个好处,就是修改结构的内容时,不必修改使用它的函数。比如要在 fish 中多加一个字段:struct fish { const char *name; const char *species; int teeth; int age;




int favorite_music;};

catalog() 和 label() 知道有人会给它们一条 fish ,但却不知道 fish 中现在有了更多的数据,它们也不关心,只要 fish 有它们需要的所有字段就行了。这就意味着,使用结构,不但代码更好读,而且能够更好地应对变化。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文