En programmation informatique, une variable locale est une variable qui ne peut être utilisée que dans la fonction ou le bloc où elle est définie.
La variable locale s'oppose à la variable globale qui peut être utilisée dans tout le programme.
Selon le langage utilisé, une variable locale à une fonction sera accessible ou non aux fonctions que celle-ci appelle (notion de portée d'une variable ; voir aussi la notion de « fief » en Algol 68).
Types de variables dites locales
Il existe deux types de variables dites locales :
- une variable à déclaration locale qui est accessible à un ensemble de programmes, mais pas aux autres programmes, même si elle continue à exister ; on les trouve dans des langages à imbrications déclaratives de fonctions comme Algol et PL/I ;
- une variable locale proprement dite qui est déclarée à l'intérieur d'une fonction ; elle est alors allouée sur la pile d'exécution.
Exemple en C++
void swap(auto& a, auto& b) // échange les valeurs de a et b
{
auto tmp = a; // variable locale tmp
a = b;
b = tmp;
}