Cours:PointeursCppEtudiants
Aller à la navigation
Aller à la recherche
Simuler le fonctionnement de ce programme :
int main()
{
int n1 = 10; // on supposera que n1 est à l'@ 0x10
int *n2 = nullptr;
int n3 = 20; // on supposera que n3 est à l'@ 0x12
int *n4 = nullptr;
cout << &n1 << " " << n2 << " " << &n3 << " " << n4 << endl;
cout << n1 << " " << *n2 << " " << n3 << " " << *n4 << endl; // crash du programme
// ---------------------------------------------------------
n2 = &n1;
n4 = n2;
cout << &n1 << " " << n2 << " " << &n3 << " " << n4 << endl;
cout << n1 << " " << *n2 << " " << n3 << " " << *n4 << endl;
// ---------------------------------------------------------
n1 = 30;
*n2 = 40;
n4 = &n3;
n3 = 5;
cout << &n1 << " " << n2 << " " << &n3 << " " << n4 << endl;
cout << n1 << " " << *n2 << " " << n3 << " " << *n4 << endl;
return 0;
}
Indiquez ce qu'affiche ce programme :
int main()
{
int tab[5] = {1,2,3,4,5}; // on supposera que le tableau est à l'@ 0x5F
int *pTab = tab;
cout << tab << " " << pTab << endl;
cout << tab[0] << " " << *pTab << endl;
pTab++;
cout << tab << " " << pTab << endl;
cout << tab[1] << " " << *pTab << endl;
pTab+=3;
cout << tab << " " << pTab << endl;
cout << tab[4] << " " << *pTab << endl;
pTab++;
cout << tab << " " << pTab << endl;
cout << tab[5] << " " << *pTab << endl;
// attention, ne surtout pas déborder d'un tableau en écriture, par ex
tab[5] = 3;
return 0;
}