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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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