Conversion des chaînes littérales next up previous contents index
Suivant: Retour sur printf Début: Relations entre tableaux et Précédent: Interdiction de modification des


Paragraphes

Conversion des chaînes littérales

    On rappelle que les chaînes littérales peuvent être utilisées lors de la déclaration avec initialisation d'un tableau de caractères, comme ceci :
char message[] = "Bonjour!!";
ou être utilisées dans une expression et être passées en paramètre de fonction par exemple, comme cela :
printf("Bonjour");

Règle

Lorsque les chaînes littérales apparaissent dans un autre contexte qu'une déclaration avec initialisation de tableau de caractères, elles subissent une conversion en pointeur vers char. Si une fonction a comme paramètre formel un tableau de caractères, on pourra lui passer en paramètre effectif aussi bien le nom d'un tableau de caractères qu'une chaîne littérale. Exemple :
char mess[] = "Bonjour";
void f( char t[])
{
...   /*   corps de la fonction f  */
}

f(mess);       /*   un appel possible de f         */
f("Hello");    /*   un autre appel possible de f   */




30/9/1997