Variable (informatique)


Variable (informatique)
Page d'aide sur l'homonymie Pour les articles homonymes, voir variable.

En informatique, les variables associent un nom (le symbole) à une valeur ou un objet, elles font partie des identificateurs. La notion de variable est alors intimement liée au langage de programmation. Il est notable que beaucoup de ces langages (les langages impératifs) autorisent les variables à changer de valeur au cours du temps.

Sommaire

Les variables dans les langages de programmation

Dans un langage de programmation, une variable est un espace de stockage pour un résultat. Cependant les possibilités d'une variable sont intimement liées au langage de programmation auquel on fait référence. Par exemple une variable en C++ aura six caractéristiques:

  • son nom c'est-à-dire sous quel nom est déclaré la variable;
  • son type, c'est la convention d'interprétation de la séquence de bits qui constitue la variable. Le type de la variable spécifie aussi la longueur de cette séquence ( 8 bits, 32 bits, 64 bits);
  • sa valeur, c'est la séquence de bits elle-même, elle ne peut varier au cours du temps si on utilise le mot-clef const;
  • son adresse, c'est l'endroit dans la mémoire où elle est stockée;
  • sa visibilité, c'est un ensemble de règles qui fixe qui peut utiliser la variable (mots-clefs public, private, protected);
  • sa durée de vie, c'est la portion de code dans laquelle la variable existe, en C et en C++ la variable est contenue dans un bloc de code limité par des accolades "{}". Il ne faut pas confondre la durée de vie d'une variable locale et sa visibilité.

Toutefois on peut trouver des langages qui simplifient ces caractéristiques :

  • la notion du nom de la variable est problématique dans tous les langages qui permettent la création dynamique de variable (new en C++);
  • le PHP ne possède pas un typage fort, comme une grande partie des langages scripts;
  • le prolog ne permet pas qu'une variable change de valeur au cours du temps une fois la première identification faite;
  • la visibilité de la variable est public par défaut en C;
  • la notion de pointeur en C++ est remplacée par la notion de référence en Java, en prolog l'adresse d'une variable n'a aucun sens;

Nom des variables

Dans certains langages, les noms de variables (comme ceux des identificateurs) doivent nécessairement commencer par une lettre (majuscule ou minuscule) ou par un _ (souligné). Les autres caractères composant le nom de la variable doivent être une lettre, un chiffre ou un _. La différenciation des majuscules et des minuscules (sensibilité à la casse) dans le nom d'une variable dépend du langage considéré.

Exemples de noms de variables valides, en C :

  • _var
  • __var2
  • Var

Exemple de nom de variable non valide en C :

  • 2var

Ainsi, le premier caractère ne peut être un chiffre, car cela permet de faciliter la compilation ou l'interprétation du programme en ôtant une ambiguïté : quand le compilateur lit un chiffre, il sait que les caractères qui suivront constitueront une valeur numérique. De même, s'il lit une lettre ou un souligné, il saura qu'il a affaire à une variable.

Tous ces noms de variables sont valides en Lisp.

Typage

Lorsque le type d'une variable est déterminé à la compilation (explicitement par le programmeur ou automatiquement par inférence de types), on parle de typage statique. Les valeurs de cette variable devront être obligatoirement de ce type (au sens large, c'est-à-dire du même type ou d'un type dérivé)

Le typage statique aide à la génération de code objet plus efficace (en consommation mémoire et vitesse d'exécution). Il interdit toutefois la réflexivité à l'exécution.

Autrement, dans les cas où ce ne sont pas les variables qui ont un type, mais les valeurs, on parle de typage dynamique, ou typage latent.

On parle de typage fort lorsque le langage impose que les variables soient déclarées dans un type et utilisées dans ce type (ex: Ada ou C++). On parle de typage faible lorsque le langage admet qu'une variable puisse changer de type au cours de son existence (en particulier pour se conformer à la sémantique d'une expression).

Cycle de vie des variables

On distingue généralement quatre opérations sur les variables, chacune pouvant revêtir des formes syntaxiques différentes.

  • la déclaration permet de déclarer un nom de variable, éventuellement de lui associer un type, ainsi qu'une valeur initiale,
  • l'affectation consiste à attribuer une valeur à une variable,
  • la lecture consiste à utiliser la valeur liée à la variable,
  • la suppression réalisée soit automatiquement soit par une instruction du langage.

Les langages, comme le C, Caml ou Pascal, imposent de déclarer une variable voire de lui donner un type avant son usage. La déclaration imposée des variables permet au compilateur ou à l'interpréteur d'identifier les erreurs typographiques comme des variables non déclarées ou des variables homonymes. D'autres langages effectuent la déclaration au moment de la première affectation (c'est le cas de la plupart des langages de script) ou lors de leur première apparition dans le code (comme dans Prolog).

En ce qui concerne l'initialisation des variables, c'est-à-dire l'association d'une première valeur, certains langages imposent d'initialiser une variable avant sa première lecture alors que d'autres fournissent une valeur implicite (spécifiée ou indéterminée). Des langages comme Oz ou Prolog ne réalisent pas à proprement parler d'initialisation. Lors de la déclaration des variables aucune valeur n'est associée, on dit que la variable n'est pas liée. La valeur de la variable est déterminée au fur et à mesure de l'exécution du programme, on parle alors d'unification.

Dans les langages de programmation fonctionnelle ou de programmation logique, les variables ne peuvent être associées qu'à une seule valeur au cours de leur existence.

Réflexivité

Dans la plupart des langages, les variables n'existent qu'en tant qu'outils pour le programmeur. Ainsi, renommer toutes les occurrences d'une variable ne modifiera pas le fonctionnement du programme.

Au contraire, pour offrir une expressivité supplémentaire, certains langages permettent de considérer un nom de variable comme une valeur comme une autre (par exemple, ce sont les symboles de Common Lisp et Smalltalk). C'est une technique très utile pour implémenter efficacement des algorithmes de calcul symbolique.

Constante

Une constante est un identificateur associé à une valeur fixe. Syntactiquement, cet identificateur a tous les aspects d'une variable. Cependant, il n'est possible de lui affecter une valeur qu'une seule fois, généralement au moment du lancement du programme.

Notes et références


Voir aussi


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Variable (informatique) de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • variable — ● n. f. ►TYPE Emplacement en mémoire stockant une donnée pouvant varier au cours de l exécution d un programme (par opposition aux constantes). Une variable peut avoir un type, définissant a priori la nature de son contenu. Voir aussi variable d… …   Dictionnaire d'informatique francophone

  • variable d'environnement — ● loc. f. ►SYSTM►EXEC variable stockant certains paramètres du shell, et définissant le contexte d exécution des commandes et des programmes. Parfois abrégé en envvar. Exemples: LANG=fr FR …   Dictionnaire d'informatique francophone

  • Variable (mathématiques) — Pour les articles homonymes, voir variable. En mathématiques et en logique, une variable est un symbole utilisé pour marquer un rôle dans un prédicat, une formule ou un algorithme. Sommaire 1 Notion intuitive de variable …   Wikipédia en Français

  • Variable liée — Variable libre En programmation informatique une variable libre est une variable référencée dans une fonction et qui n est pas une variable locale, ni un paramètre de cette fonction. En mathématiques, et dans d autres disciplines comprenant des… …   Wikipédia en Français

  • Variable metasyntaxique — Variable métasyntaxique En programmation informatique, une variable métasyntaxique est une variable générique, utilisée dans les exemples pour se concentrer sur le fond plutôt que sur la forme, et dont le nom est choisi pour être tacitement… …   Wikipédia en Français

  • INFORMATIQUE ET SCIENCES HUMAINES - Histoire et informatique — Les historiens utilisent l’informatique depuis quelques dizaines d’années. À partir des années 1970, après la parution de quelques livres pionniers (M. Couturier, T. K. Rabb), l’emploi de l’ordinateur pour le traitement de données historiques… …   Encyclopédie Universelle

  • Variable bitrate — (ou Variable bit rate, ou encore VBR), est un terme anglais que l on peut traduire en français par : « taux d échantillonnage variable », en opposition au constant bitrate (CBR). Description Lorsque l on se réfère aux codecs, un… …   Wikipédia en Français

  • INFORMATIQUE - Informatique et médecine — Depuis les travaux des premiers pionniers américains vers la fin des années cinquante, les centres de calcul biomédical se multiplient partout dans le monde, et le nombre des biologistes et des médecins qui, directement ou indirectement,… …   Encyclopédie Universelle

  • variable — [ varjabl ] adj. et n. • fin XII e; lat. variabilis 1 ♦ Qui est susceptible de se modifier, de changer souvent au cours d une durée. ⇒ changeant, 1. incertain, instable. Temps variable. N. m. Météor. L aiguille du baromètre est au variable, sur… …   Encyclopédie Universelle

  • INFORMATIQUE - Formalisation et communication — L’information est partout présente dans notre existence. Les messages les plus variés ne cessent de nous parvenir de tous les points du globe, sous des formes de plus en plus diversifiées, au point que certains s’inquiètent de l’ampleur de ce… …   Encyclopédie Universelle


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.