Cours:PointeursCpp : Différence entre versions
m |
|||
Ligne 22 : | Ligne 22 : | ||
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; | ||
} | } | ||
</source> | </source> |
Version du 22 septembre 2022 à 08:40
Analyse de code
Simuler le fonctionnement de ce programme :
int main()
{
int n1=10;
int *n2=nullptr;
int n3=20;
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;
}