Ciao, grazie per la risposta. Non ho messo tutto il codice perchè non volevo appesantire il topic

codice:
//Dizionario implementato con tavola hash con funzione hash perfetta (Comporta spreco di memoria)//con n chiavi distinte a cui viene associato un indice distinto, di consegunza n<=m


#include <stdio.h>
#include <stdlib.h>


#define M 100
#define DIM_ELEM 20


void insert(char* v[], char* e, int k);
void delete(char* v[], int k);
char* search(char* v[], int k);
int funzHash(char* v[], const void* k); //può trasformare chiavi di qualunque tipo in indici dell'array v[]
void print(char* v[]);
int menu();




int main(){
	char* v[M];
	int i;
	for(i=0;i<M;i++)
		v[i]=NULL;
	int chiave;
	
	while(1){
		int scelta= menu();
		char* elemento = (char*)malloc(DIM_ELEM * sizeof (char));
		switch (scelta){
			case 1: 
				printf("Inserisci chiave:\n");
				scanf("%d", &chiave);
				printf("Inserisci elemento:\n");
				scanf("%s", elemento);
				insert(v,elemento,chiave);
				break;
			case 2:	
				printf("Cerca chiave:\n");
				scanf("%d", &chiave);
				elemento=search(v,chiave);	
				if(elemento==NULL)
					printf("Chiave non trovata.\n");
				else
					printf("Elemento trovato: %s\n", elemento);
				break;
			case 3:
				printf("Cancella chiave:\n");
				scanf("%d", &chiave);
				delete(v,chiave);
				break;
			case 4:
				print(v);
				break;	
			default:
				return 0;
		}
	}
	
	return 0;
}


void insert(char* v[], char* e, int k){
	k=funzHash(v, &k);
	if(v[k]!=NULL){
		printf("Esiste già un elemento con questa chiave.\n");
		return;
	}
	v[k]=e;
	printf("Voce inserita nel dizionario.\n");
	return;	
}


void delete(char* v[], int k){
	k=funzHash(v, &k);
	if(v[k]==NULL){
		printf("Chiave non presente.\n");
		return;
	}
	free(v[k]);
	v[k]=NULL;
	printf("Voce cancellata dal dizionario.\n");
	return;
}


char* search(char* v[], int k){
	k=funzHash(v, &k);
	return v[k];
}


int funzHash(char* v[], const void* k){
	return *(int*)k;
}
Questo è il codice. Puoi capire come viene usata e perchè.E' un esercizio di tipo accademico giusto per far comprendere la logica.

Grazie ancora