Bonjour,
je débute en c++, j'ai besoin d'aide concernant les pointeurs et les adresses.
En fait j'ai une variable de type structure que je veux sauvegarder son adresse mémoire et pouvoir récupérer cette adresse pour afficher le contenu de la variable plut tard.
j'ai sauvegarder l'adresse de root dans saveroot. mon problème, c'est que root change dans la suite du code, donc l'adresse change. ce que je souhaite c'est de sauvegarder le tout premier root et le récupérer par la suite. j'ai pensé à sauvegarder l'adresse récupérée dans une variable et la récupérer après mais le problème c'est que je connais pas le type de variable que je dois utiliser ( l'adresse est de cette forme 0x7fff73049aa0), quel type dois je mettre ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 tree_node* saveroot; // poiteur sur une variable de type tree_node (structure) saveroot=(tree_node*)malloc(sizeof(tree_node)); // allocation mémoire de saveroot saveroot= &root; // récupérer l'adresse de root qui est une variable de type tree_node //recupérer les informations du root pointé par savroot std::cout<<"adresse root: "<<saveroot<<"\n\n"; std::cout<<"contenu: \n Energy: "<<(*saveroot).energy<<"\n"; std::cout<<" * indice: "<<(*saveroot).indiceTreeCoef[(*saveroot).scale]<<"\n"; std::cout<<" * etat: "<<(*saveroot).hiddenState<<"\n"; std::cout<<" * echelle: "<<(*saveroot).scale<<"\n\n";
Partager