Bonjour,

Je voudrais écrire une function en C qui prend en paramètre un tableau générique et l'indice d'un element à supprimer. Voilà ma fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
void  delete_data(void * array[], size_t nb_elt, size_t size_elt, int index)
{
	size_t i;
	for (i = index; i < nb_elt-1; i++)
	{
		void *ptr = array +i;//pointer on the (i+1)-th element
		array[i]=array[i+1];
	}
	array[nb_elt-1]= 0;
}
Je la teste dans mon main sur un tableau d'entier :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
	int T[]={0,1,2,3,4,5,6,7,8,9};
 
	delete_data(T, sizeof(T)/sizeof(T[0]),sizeof(T[0]), 1);
	int i;
	for (i=0; i< sizeof(T)/sizeof(T[0]); i++)
	{
		printf("%d\n", T[i]);
	}
Malheureusement voilà le résultat affiché :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
0
1
4
5
6
7
8
9
0
0
Pouvez-vous m'aider svp ? Merci d'avance !