我正在编写一个大型 C 程序,并且有一个包含大量变量的文件 file.c
。假设它有一个名为 func()
的函数正在被其他文件使用。
不幸的是,函数 func()
必须使用大量变量,并且由于它包含大量代码,我决定编写一些函数供 func( )
为了使代码更具可读性。现在,我有 3 种主要可能性:
将变量声明为全局变量。
在
func()
中将变量声明为局部变量,并使用结构(或任何其他技巧)将这些变量作为参数传递给file.c
中的函数你能想到的)。将变量声明为局部变量,而不是使用其他函数,只需将所有代码放入
func()
中,这将导致代码非常长且难以阅读。
有什么建议吗?
最佳答案
一般来说,第二种选择是最好的。
过度使用全局变量被认为是一种不好的做法。
在某些情况下,这可能是性能不佳的根源,因为必须加载全局变量,而如果您可以将变量保留在本地,则可以将其存储在寄存器中。
此外,代码重用也更容易。接收参数的函数更通用。它可以在各种用例中调用。使用全局的函数只能在一个上下文中执行。
此外,全局变量是可用的,因此很可能在程序中的任何地方都使用。这意味着可以从许多地方访问和写入它们。验证它们的值确实会导致开销。
底线:模块化代码确实更具可读性和更易于维护。
关于c - 处理大量变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18598107/