Pour les chaînes c'est la
même chose (ce sont des tableaux de caractères):
char* s1;
char s2[8]= "BONJOUR";
char* s3;
s1 = s2;
- s1 et s2 contiennent la même adresse, ils
pointent donc vers la même zone mémoire.
- Donc modifier s1 modifie s2:
s1[3] = 's';
s1[5] = 'i';
printf("%s et %s1", s1, s2);
/* affichera bonsoir et bonsoir */
- Une variable de type char* peut être
interprétée comme un pointeur d'un caractère
où une chaîne:
s3 =
&s1[2];
printf("%c", s3); /* va afficher 'N'
*/
printf("%s", s3); /* va afficher
"NJOUR" */
suivant
plan