在lisp
或scheme
等语言中,程序员可以使用let
定义仅适用于某个本地范围的变量。例如,只在另一个函数中调用的函数。
是否有C等价物?
答案 0 :(得分:1)
在C中,变量是它们所包含的wrap {}括号范围的局部变量。这在C ++和Java中是相同的。
如果变量是在函数之外定义的,那么它对该模块是全局的,并且可以通过添加“extern”来在其他模块中引用。在从想要使用它的模块中的另一个模块引用变量之前的前缀。
如果在功能之外定义了变容器,并且具有“静态”功能。然后它只是那个模块的全局。
当我说模块时,这意味着包含在同一源文件中的所有内容。 Java不支持全局变量,但它支持静态类变量,它几乎与全局变量相同。
答案 1 :(得分:-1)
简单地说,如果你想变量“count”有自己的范围:
void test()
{
int input; //input is usable in function test()
...
{
int count; //count only usable in scope {}
...
}
}