c - 一个程序在函数之间有太多的数据连接意味着什么?

标签 c function variables kernighan-and-ritchie

<分区>

很可能是一个非常愚蠢的问题,但这里是。 所以我目前正在阅读 Kernighan 和 Ritchie 的 C 书,我对太多数据连接对程序的影响有点困惑。 它是否严格地与代码的外观和可读性有关,或者它是否对程序也有不利影响,即导致它变慢。

下面是有问题的段落。

“如果函数之间必须共享大量变量,外部 变量比长参数列表更方便和有效。作为 然而,在第 1 章中指出,这种推理应该适用于某些 小心,因为它会对程序结构产生不良影响,并导致程序 函数之间的数据连接过多”

最佳答案

太多的外部变量和读者(也许是作者)将难以记住全局。特别是,连接越多,程序员就越难跟踪哪些函数实际读取和写入这些变量。在 Are global variables bad? 中阅读更多内容

参数列表太大,您的程序会有一些开销,因为调用函数的成本很高。函数参数应该被压入堆栈(或寄存器中)。在 How much overhead is there in calling a function in C++? 中阅读更多内容

关于c - 一个程序在函数之间有太多的数据连接意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51020202/

相关文章:

C++:显示变量

c - getopt_long() 的 longindex 始终为 0

javascript - 对于这个链表示例,JavaScript 如何处理传递给函数的对象?

javascript - 我如何从这个函数构造函数中获取全名

python - 如何在 Python 循环中重命名变量

java - 如何从另一个类访问静态变量?

c - realloc 似乎没有扩大阵列

c - 无法确定此汇编代码中的常量

c - 链表和指向不完整类类型的指针

c++ - 仅将在 C++ 中定义了 operator+ 的对象作为参数