Content deleted Content added
m Robot-assisted disambiguation (you can help!): Haskell programming language |
No edit summary |
||
Line 1:
In [[computer science]], a '''local variable''' is a [[variable]] that is given ''local [[scope (programming)|scope]]''. Such variables are accessible only from the [[Subroutine|function]] or [[block]] in which it is declared. Local variables are contrasted with [[global variables]].
Local variables are special because in most languages they are [[automatic variable]]s stored on the [[call stack]] directly. This means that when a [[Recursion (computer science)|recursive function]] calls itself, local variables in each instance of the function are given separate memory [[address space]]. Hence variables of this scope can be declared, written to, and read, without any risk of [[Side-effect (computer science)|side-effects]] to processes outside of the block they are declared.
Some advocate that all variables should be of local scope to avoid issues with [[Side-effect (computer science)|side-effects]]
==Static local variables==
|