A
variable with
lexical scope, i.e. one
which only exists in some particular part of the
source code, typically within a
block or a
function or
procedure body. This contrasts with a
global variable,
which is defined throughout the whole program.
Code is easier to understand when the scope of variables is as
small as possible because it is easier to see how the variable
is set and used. Code containing global variables is harder
to modify because they create more interdependencies between
sections of code.