le type void*

le type void* - C - Programmation

Marsh Posté le 11-02-2006 à 19:51:33    

salut
je suis débutant en C et je souhaite avoir de l'aide (merci d'avance) pour 2 trucs.
1)
je voudrais savoir comment j'affecte un objet de type void*?
par ex  
void* var;
apres je fais
*var = 4;
mais ca génère une faute . je comprends pas. pourtant ca marche avec int*
 
 
2)j'ia trouvé une variable affecte comme suit
ptr = (char*)0;
 
j'ai pas compris la signification de cette variable
 
merci bcp pour votre aide

Reply

Marsh Posté le 11-02-2006 à 19:51:33   

Reply

Marsh Posté le 11-02-2006 à 19:58:03    

ça pointe vers quoi comme type un "void*" chez toi ?

Reply

Marsh Posté le 11-02-2006 à 20:00:30    

poupointe sur rien le moment ca rien. il est juste déclaré comme suit:
void* var;
 
et après je voudrais l'affecter

Reply

Marsh Posté le 11-02-2006 à 20:15:52    

mbarekh a écrit :

poupointe sur rien le moment ca rien. il est juste déclaré comme suit:
void* var;
 
et après je voudrais l'affecter


c'est pas ma question ...

Reply

Marsh Posté le 11-02-2006 à 20:40:29    

tu devrais lire un bon tuto avant de poser ce genre de question, car c'est vraiment la base ! :)

Reply

Marsh Posté le 11-02-2006 à 21:11:45    

mbarekh a écrit :

poupointe sur rien le moment ca rien. il est juste déclaré comme suit:
void* var;
 
et après je voudrais l'affecter


 
Quand on déclare un pointeur de type "void" (pointeur universel), cela signifie qu'on ne connait pas d'avance le type de l'élément vers lequel ce pointeur sera amené à pointer, ou que ce pointeur sera utilisé pour pointer vers des éléments de type successivement différents.
Exemple

int i=5;
double dbl=3.14;
void *pt;
 
pt=(void*)&i;
...traitement utilisant "pt"...
pt=(void*)&dbl;
...traitement utilisant "pt"...


 
Maintenant, si ton pointeur est amené à ne traiter qu'un type particulier, alors déclare le en "<type *>".


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Marsh Posté le 11-02-2006 à 21:20:11    

Sve@r a écrit :

ou que ce pointeur sera utilisé pour pointer vers des éléments de type successivement différents.


 
ca me semble etre une mauvaise idée

Reply

Marsh Posté le 11-02-2006 à 21:26:31    

chrisbk a écrit :

ca me semble etre une mauvaise idée


Oui, j'ai essayé de trouver un exemple pertinent pour justifier mais j'ai pas tellement réussi...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed