Pointeur, tableau et chaines de caractères.
Bonjour,
J'ai un petit problème de compréhension sur les pointeurs.
J'ai fait un premier programme avec un pointeur sur un tableau :
Code:
1 2 3 4 5 6 7 8 9
| int main()
{
int tableau[]={ 0,1,2,3,4,5};
int *p=tableau;
cout << p << endl;
cout << *p << endl;
return 0;
} |
Dans ce cas, je vais afficher l'adresse pointée ( qui est en fait l'adresse de tableau[0] ) et le contenu de cette adresse ( *p), c'est à dire tableau[0].
J'ai fait ensuite un autre programme avec un pointeur sur chaine de caractères :
Code:
1 2 3 4 5 6 7 8 9 10 11
| int main()
{
char chaine[]="maison";
char *p=chaine;
cout << p << endl;
cout << *p << endl;
return 0;
} |
Dans ce cas la, *p va m'afficher le contenu de chaine[0], c'est à dire m, par contre, p va m'afficher 'maison'.
Ma question est la suivante : je ne comprends pas ici pourquoi p n'affiche pas l'adresse de chaine[0] ?
Merci d'avance,
Julien