【发布时间】:2014-09-06 08:46:08
【问题描述】:
经过一番思考。
变量情况下的static关键字在内存中为变量提供了一个静态位置,即使在调用的函数结束
虽然通过引用传递,意味着您正在传递一个指向函数的指针,因此函数结束后变量保留在内存中。
这是对的还是我没有注意到其他差异?
【问题讨论】:
-
一个不同之处在于,您传递给被调用函数的地址的变量可以具有
auto或static存储空间。 -
@Don'tYouWorryChild 我没听懂!
-
关于
static它的作用因上下文而异。例如,函数局部static变量的行为不同于文件全局static变量。而且 C 没有传递引用语义。 -
@JoachimPileborg :你说“全局静态变量”,请问为什么要使用全局变量的静态,而“全局”就足够了?
-
@MohamedElShenawy 链接时的链接和可见性:全局静态变量是定义变量的 translation unit 的本地变量,不能被其他翻译单元使用。
标签: c static pass-by-reference