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 :
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
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; }
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 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]); }
Pouvez-vous m'aider svp ? Merci d'avance !
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
Partager