gpt4 book ai didi

c - 在函数中声明静态变量

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

海湾合作委员会 4.4.2 c89

我一直在重新设计其他人的源代码。

在一个函数中有人声明了一些静态变量,但似乎并没有达到使它们成为静态的任何目的。我只是想知道我下面的评论是否准确?

static char tempstr[64]; 

据我了解,在函数内声明静态变量时,它将保留作用域,因此就像全局变量一样。

此外,如果在全局范围内声明静态变量,则其范围仅限于文件。

非常感谢您的任何建议,

最佳答案

如果我理解你的解释,它是准确的。

在函数内部 static 意味着“分配数据段内存,使值在函数调用之间保持不变,以便所有函数实例(思考、递归或线程)共享相同的实际存储。”

如果在以后的函数调用中使用了先前的值,或者如果引用通过外部调用或返回指针从函数中泄露出来,这就很重要了。

关于c - 在函数中声明静态变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2270604/

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