Pourquoi a pour le mot entier et *a pour le caractère?
Parce que a est un pointeur
La valeur de a est l'adresse du premier élément de la chaine "allo" (qui est, rappelons-le, un tableau de char initialisé, non modifiable et terminé par un 0) La valeur de *a est donc l'élément pointé, soit le premier caractèr e de la chaine. *a est équivalent à *(a + 0) qui peut s'écrire a[0].
On 8 mai, 14:14, j4e8a16n <davia...@videotron.ca> wrote:
Bonjour à tous,
const char *a = "allo";
printf("%s %cn", a, *a);
Pourquoi a pour le mot entier et *a pour le caractère?
Parce que a est un pointeur
La valeur de a est l'adresse du premier élément de la chaine
"allo" (qui est, rappelons-le, un tableau de char initialisé, non
modifiable et terminé par un 0)
La valeur de *a est donc l'élément pointé, soit le premier caractèr e
de la chaine. *a est équivalent à *(a + 0) qui peut s'écrire a[0].
Pourquoi a pour le mot entier et *a pour le caractère?
Parce que a est un pointeur
La valeur de a est l'adresse du premier élément de la chaine "allo" (qui est, rappelons-le, un tableau de char initialisé, non modifiable et terminé par un 0) La valeur de *a est donc l'élément pointé, soit le premier caractèr e de la chaine. *a est équivalent à *(a + 0) qui peut s'écrire a[0].