c - C 有本地绑定(bind)吗?

标签 c let

在某些语言中,例如 lispscheme,程序员可以使用 let 定义仅适用于特定局部范围的变量。例如,一个函数仅在另一个函数中调用。

有 C 语言的等价语言吗?

最佳答案

在 C 中,变量在它们所括起来的 { } 括号的范围内是局部的。这在 C++ 和 Java 中是相同的。

如果变量是在函数外部定义的,则该变量对于该模块来说是全局的,并且可以通过在想要使用该变量的模块中的另一个模块对变量的引用之前添加“extern”前缀来在其他模块中引用该变量。

如果变量是在函数外部定义的并且具有“static”前缀,则它仅对该模块是全局的。

当我说模块时,这意味着同一源文件中包含的所有内容。 Java不支持全局变量,但它支持静态类变量,这与全局变量几乎相同。

关于c - C 有本地绑定(bind)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38137929/

相关文章:

c - 如何使用预编译的驱动模块制作WinDivert 程序?

C: 类型转换警告

binding - Clojure 中的 Let 与 Binding

scheme - 以降序生成卢卡斯数列表(使用 let)

lisp - 在 clojure 中让 vs def

Swift 1.2 在初始化后分配 let

c++ - 在其函数定义中使用相同的函数?

c - 用换行符在 C 中编码 Url?

c - 如何在 C 中检查 array[index] == "someString"?

haskell - 这让表达式如何工作?