gpt4 book ai didi

c - 声明许多函数使用的变量的适当位置?

转载 作者:太空宇宙 更新时间:2023-11-04 08:35:44 25 4
gpt4 key购买 nike

我多年来一直在编写 C,但我从未学会如何构建事物。我刚刚在一个文件中制作了巨型程序,并对由多个函数修改的变量使用了全局范围。我试图摆脱这一点并将我的功能分组在单独的文件中。我遇到的最大问题是可变范围。

例如,一个变量需要由不同文件中的两个独立函数写入并由另外两个函数读取。我可以在 main.c 中声明它,并在其他文件中将其设为外部,但我知道全局变量不受欢迎,而且看起来很草率。

那么,是否有一个合乎逻辑的、“正确”的地方来声明它呢?它应该有类似获取/设置功能的东西吗?或者这个问题是否表明我的功能划分不当?

谢谢。

最佳答案

停止考虑变量,开始考虑。将值传递给需要它们的函数,传递它们需要的东西,并在结构中收集相关值以在需要时减少参数数量。让函数返回它们的结果而不是将其写入全局。这是用任何语言组织程序的方式,包括 C。(参见 Pike's Notes ,尤其是规则 5:“数据支配”。)

对全局变量使用 getter 和 setter 可以为您带来一些安全性,但它并不能解决全局状态的真正问题。您仍然需要弄清楚程序的哪些部分正在使用哪些数据,并确保它们以正确的顺序接触数据。

关于c - 声明许多函数使用的变量的适当位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26276235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com