begin process at 2012 05 29 13:52:21
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

Pointeurs ...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pointeurs ...

lundi 28 août 2006 à 16:39:29 | Pointeurs ...

Ziman

Bonjour,

J'ai une petite question, c'est pas vraiment un probleme de code mais plutot de théorie. Imaginez qu'en global j'ai déclaré un pointeur vers une structure à qui j'alloue de l'espace mémoire avec HeapAlloc() que j'ai par exemple appelé lpGlobal. Ensuite dans une procédure, je crée un pointeur vers une structure, mais je ne l'initialise pas avec HeapAlloc mais je fais ceci :

Pointeur = lpGlobal

Il prend l'adresse de la structure, aucun soucis. Je voudrai savoir comment détruire Pointeur sans détruire l'espace mémoire occupé par lpGlobal.

J'arrive pas à bien m'exprimer lol. Posez moi vos questions si vous ne comprenez pas la mienne.

Merci :p

Apprendre le VB6
lundi 28 août 2006 à 16:59:49 | Re : Pointeurs ...

Joky

Membre Club
Réponse acceptée !
Ben Pointeur n'a aucune mémoire alloué
Il pointe juste vers l'addresse de ta structure donc tu n'as rien à détruire je suppose
Tu peux toujours faire

Pointeur = NULL;

ULARGE_INTEGERJokyQi=QI("Joky"

lundi 28 août 2006 à 17:03:25 | Re : Pointeurs ...

Ziman

Justement c'est la question que je me pose. Est-il utile de le détruire ? Occupe-t-il de la place mémoire ? Je pense comme toi que non mais il doit bien exister quelque part vu qu'il arrive à contenir une adresse non ?

Apprendre le VB6
lundi 28 août 2006 à 17:04:54 | Re : Pointeurs ...

racpp

Administrateur CodeS-SourceS
Salut,
Un pointeur est tout simplement une variable qui contient l'adresse mémoire d'une autre variable. Dans ton cas il s'agit d'une structure. Pour rendre un pointeur inutilisable il suffit de lui affecter la valeur 0.
pointeur =0;
Dans ton code tu fais les tests nécessaires pour que ce pointeur ne soit pas utilisé tant qu'il est nul.
Ainsi, le pointeur est inutilisable mais la zone mémoire allouée est toujours accessible avec l'autre pointeur.
lundi 28 août 2006 à 17:09:51 | Re : Pointeurs ...

racpp

Administrateur CodeS-SourceS
Un pointeur ne prend que 4 octets quelque soit la taille de la zone mémoire allouée.


lundi 28 août 2006 à 17:15:44 | Re : Pointeurs ...

Ziman

Merci, c'est la réponse que j'espérais, merci

Apprendre le VB6
lundi 28 août 2006 à 18:50:33 | Re : Pointeurs ...

luhtor

Si tu alloues ton pointeur dynamiquement, il faut le libérer. Dans le cas contraire, tu n'as rien a faire:

{
int * pointeur; <= RIEN a faire pour le libéré, il est détruit a la fin du bloc
}

{
int ** pointeur = new int*; <= un delete s'impose

delete pointeur;
}




Cette discussion est classée dans : espace, mémoire, structure, pointeurs, pointeur


Répondre à ce message

Sujets en rapport avec ce message

Pointeur qui fait planter Windows !!! [ par coyito ] Salutquand je défini moi même une addresse pour un pointeur (exemple pour lire n'importe ou dans la mémoire) j'ai une erreur windows "access violation pb de pointeur sur la mémoire de la carte vidéo [ par NeoFab ] Salut à tous!J'étudie en ce moment la programmation en C sous Turbo c++ pour faire du graphisme, en écrivant directement dans la mémoire de la carte v Pointeurs [ par Nykkoo ] Salut,Etant debutant dans la programmation en C, j'arrive aux chapitres des pointeurs (sniff) et je me trouve confonté aux problemes suivants :double Mémoire partagée et pointeur [ par darsh99 ] Bonjour,J'essai de faire passer un tableau dynamique, un pointeur donc, d'un programme à un autre, l'adresse est bien passée et les champs non dynamiq Espace mémoire occupé par une structure [ par HCJarod ] Salut,j'ai un vague souvenir concernant les structures en C (struct) qui n'occupe pas la même place mémoire en fonction du sens de la déclaration. Ca libération de mémoire allouée [ par moloko2000 ] Je me trouve confronté à un petit problème d'allocation mémoire.En fait je dois rapatrier une base de données de 90000 enregistrements et en fait à ch pointeurs [ par djkill55 ] bonjour,j aimerai savoir cmt on fait un scanf sur une suite de pointeur, je m explike, je dois faire ca ms sans utiliser les [] , cad les tableux, ms Pointeurs et mémoire [ par hilairenicolas ] Salut,après un petit voyage dans la msdn, j'ai découvert cette méthode IsBadReadPtr qui permet de savoir si le processus à les droits de lecture de la POINTEURS sur pointeurs [ par ledeveloppeurfou ] Voila je suis en train de construire une aplication pour une jeu de role, et je suis bloqué. Il me faudrait acceder à des pointeurs en employant de pr problème espace mémoire [ par borgeomi ] borgeomibonjouuuuuuur !!!!!encore une question stupide d'un programmeur cobol MVSsous VISUAL C ++ 6J'ai crée une classe Personne du stylePersonne Tab


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,967 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales