在某些语言中,例如 lisp
或 scheme
,程序员可以使用 let
定义仅适用于特定局部范围的变量。例如,一个函数仅在另一个函数中调用。
有 C 语言的等价语言吗?
最佳答案
在 C 中,变量在它们所括起来的 { } 括号的范围内是局部的。这在 C++ 和 Java 中是相同的。
如果变量是在函数外部定义的,则该变量对于该模块来说是全局的,并且可以通过在想要使用该变量的模块中的另一个模块对变量的引用之前添加“extern”前缀来在其他模块中引用该变量。
如果变量是在函数外部定义的并且具有“static”前缀,则它仅对该模块是全局的。
当我说模块时,这意味着同一源文件中包含的所有内容。 Java不支持全局变量,但它支持静态类变量,这与全局变量几乎相同。
关于c - C 有本地绑定(bind)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38137929/