codice:
Client* clients[100];
Dichiari un array di puntatori a Client che passi alla funzione Menu (che mascherata, riceve un Client* come tipo di dato e un Client** come parametro).

Alla funzione InsertClient passi una locazione di quell'array per puntatore. Quella locazione però contiene un Client* quindi per riceverlo la InsertClient deve ricevere un Client* come tipo di dato e un Client** come parametro.

In parole povere Client* non vederlo come puntatore ma come tipo di dato vero e proprio.

Nella mia funzione, invece di passare una locazione dell'array e metterci un nuovo Client*, lo alloco e lo restituisco subito mettendolo nella locazione i dell'array. Tutto li.