gpt4 book ai didi

c - 为什么要传递一个指向全局结构的指针?

转载 作者:太空狗 更新时间:2023-10-29 17:00:59 24 4
gpt4 key购买 nike

这可能是一个愚蠢的问题,但我正在审查一些代码,我只是不明白这个人在做什么。在一个 C 文件中,他定义了一个全局结构,其中包含许多类型的许多元素。因此,从函数“A”调用了函数“B”。在调用中,他们传递了一个指向全局结构的指针,然后在函数“B”中完成了一些工作,并更新了部分全局结构。现在这一切似乎都是多余的矫枉过正,因为它已经是全局性的。如果结构是函数“A”的本地结构,我完全可以看到将结构的地址传递给函数“B”。然而,内存已经永久分配在 C 文件的最顶部。事实上,我可以争辩说,对于其他人进行更改但没有意识到他们已经创建了一个错误,这是一个潜在的问题。

所以我确信有一个“良好的编码实践”BKM 或类似的东西可以做到这一点,但我就是看不到它。所以简而言之,当变量已经是全局变量时,为什么要创建一个地址指针并将其不必要地传递给函数呢?

最佳答案

传递指针是好的风格,主要是因为全局变量是不好的风格。可能原开发者考虑的可能是 global 可能不是 global,或者接受它的 function 可能操作不同的变量(可能也可能不是 global,但仍然需要识别)。

关于c - 为什么要传递一个指向全局结构的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11974372/

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