Probléme de compréhension avec les pointeurs
Bonjour,
j'ai trouve sur le site le code d'une fonction qui permet de réaliser l'échange de pointeurs mais je n'arrive pas à comprendre son fonctionnement. En effet, je me perds dans la signification des pointeurs. J'ai du mal à comprendre la signification du pointeur générique void * et encore plus de *(void **)d1. Pourquoi avoir placé deux opérateurs de déférencence aprés le void?
Code:
1 2 3 4 5 6 7 8
|
void swap( void * d1 , void * d2 )
{
void * tmp;
tmp = *(void **)d1;
*(void **)d1 = *(void **)d2;
*(void **)d2 = tmp;
} |
Merci beaucoup pour votre aide et pour vos réponses.