Lexique C

Ce lexique contient les définitions des principaux concepts utilisés en programmation impérative, et plus spécifiquement en langage C.

Adresse
La mémoire associée à un programme en cours d'exécution est une séquence ordonnée d'emplacements. Une adresse est le numéro d'un emplacement.
Affectation
Une affectation est l'action qui consiste à écrire une valeur dans un emplacement mémoire.
Allocation de mémoire
Pour exister, une entité a besoin de mémoire. Toute entité définie bénéficie donc d'une allocation mémoire implicite. De plus, certains objets en mémoire sont pointés par des entités et nécessitent eux aussi de la mémoire. On utilise pour cela une allocation mémoire explicite.
Application
On dit d'une expression qu'elle applique une fonction si elle contient un appel à cette fonction.
Argument
Un argument est une valeur passée en paramètre à une fonction lors d'un appel de cette fonction.
Automatique
Une variable est automatique si sa durée de vie n'excède pas le bloc dans lequel elle est définie.
Bloc
Un bloc est une séquence d'instructions pouvant contenir aussi des déclarations et définitions. Aucune instruction ne peut exister en dehors d'un bloc.
Constante
Une constante est une entité associée à un identificateur qui ne peut prendre qu'une seule valeur. Une expression constante est une expression qui ne peut prendre qu'une seule valeur.
Déclaration
La déclaration d'une entité fournit le type de cette entité et des informations sur l'endroit où peut se trouver la définition de cette entité. Une même entité peut être déclarée à plusieurs endroits ; toutes les déclarations doivent s'accorder avec la définition de cette entité.
Définition
La définition d'une entité déclare le type de cette entité et lui réserve un espace en mémoire. Dans un programme donné, une entité n'est définie qu'en un seul endroit. Le corps d'une fonction doit être fourni lors de sa définition.
Durée de vie
La durée de vie d'un objet correspond à la période de l'exécution d'un programme comprise entre la création de cet objet et sa destruction.
Effet de bord
Une expression a un effet de bord si elle modifie un emplacement mémoire. Une fonction a un effet de bord si elle contient une expression dont l'effet n'est pas limité aux variables automatiques de cette fonction. Par exemple, écrire ou lire dans un fichier est un effet de bord.
Entité
Dans ce lexique, parmi tous les objets qui peuvent exister dans la mémoire d'un programme en cours d'exécution, nous avons distingué les objets nommés déclarés dans le programme et les appelons entités. Par exemple, dans la définition 'const char *s = "bla";', 's' est une entité qui pointe sur un objet représentant la chaine de caractères "bla".
Évaluation
Afin qu'une expression produise un effet, elle doit être évaluée.
Exécution
Une instruction, une fonction, ou un programme doivent être exécutés afin qu'ils produisent les résultats dont ils décrivent la marche opératoire.
Expression
Une expression est une construction du langage dont l'évaluation fournit une valeur, à l'exception des expressions de type 'void'.
Fonction
Une fonction est un bloc précédé d'un prototype donnant un nom à la fonction. Une fonction peut être appelée à partir d'autres endroits du programme et peut recevoir des arguments au travers de paramètres.
Global(e)
Une entité est globale si sa portée dépasse le cadre d'une fonction. Sinon, on parle d'entité locale.
Identificateur
Un identificateur est le nom d'une entité.
Initialisation
L'initialisation d'une entité consiste à donner à son espace mémoire associé un contenu suffisamment déterminé pour être cohérent.
Instruction
En C, la notion d'instruction est syntaxique : elle dénote les morceaux du programme source qui ne sont pas des déclarations de variables mais qui sont terminés par des point-virgules, ou des blocs délimités par des accolades. Un bloc peut commencer par des déclarations de variables dont la durée de vie est limitée à ce bloc.
Local(e)
Une entité est locale à un bloc si elle n'est visible qu'à l'intérieur de ce bloc.
Mémoire
La mémoire associée à un programme en cours d'exécution contient plusieurs entités et objets : le code du programme, issu des fonctions, une pile d'exécution où se trouvent les variables internes aux fonctions, une zone de données où se trouvent les autres entités, et enfin un tas, dans lequel peuvent avoir lieu des allocations de mémoire.
Opérateur
Un opérateur est une des opérations de base proposées par le langage, et qui est utilisée par l'intermédiaire d'une syntaxe spécifique qui n'est pas l'appel de fonction, pour former des expressions. Par exemple, l'addition et l'affectation sont deux opérateurs du langage C.
Paramètre
Un paramètre est une variable locale à une fonction qui est initialisée, lors de l'appel de la fonction, par une copie de l'argument correspondant.
Pointeur
Un pointeur est une entité contenant l'adresse d'un objet.
Portée
La portée d'une entité est la partie du code source dans laquelle il est possible d'utiliser cette entité.
Prototype
Le prototype est le nom donné à la déclaration d'une fonction.
Type
Chaque objet possède un type qui définit les opérateurs ou fonctions qui peuvent le manipuler, et quelle est leur action. Tout type, à l'exception du type void, possède une taille, qui représente la quantité de mémoire requise pour le stockage des valeurs du type.
Valeur
Une valeur est un objet sur lequel on ne peut pas faire d'affectation.
Variable
Une variable est une entité typée, associée à un identificateur, qui peut contenir toutes les valeurs de son type.
Visibilité
La visibilité d'une entité associée à un identificateur est la partie du code source où l'utilisation de l'identificateur est possible et où il correspond à cette variable. Il est possible que la réutilisation d'un même identificateur pour une deuxième variable masque temporairement la première variable.