Interdiction de modification des éléments d'un tableau passé en paramètre

Lors de la normalisation du langage C, le comité en charge du travail a pensé qu'il était important d'introduire dans le langage un mécanisme permettant au programmeur d'exprimer l'idée : « cette procédure qui admet en paramètre ce tableau, ne doit pas en modifier les éléments ». Pour réaliser cela, un nouveau mot-clé a été introduit, le mot const, qui permet de déclarer des variables de la manière suivante :
const int i = 10;
qui déclare une variable de nom i dont il est interdit de modifier la valeur. L'intérêt de const se manifeste pour les paramètres de fonction. Reprenons l'exemple de la procédure imp_tab, pour exprimer le fait que cette procédure ne doit pas modifier les éléments du tableau t, on peut (et il est recommandé de) l'écrire de la façon suivante :
void imp_tab(const int t[], int nb_elem)   /*   définition de imp_tab       */
{
int i;

for (i = 0; i < nb_elem; i++) printf("%d ",t[i]);
}



Matthieu Moy 2017-02-08