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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.