Local variable: Difference between revisions

Content deleted Content added
m rv vandal
In the last sentence of the 2nd paragraph, I added "in which" before "they are declared".
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 in which they are declared.
 
Some advocate that all variables should be of local scope to avoid issues with [[Side-effect (computer science)|side-effects]].