Scusami non è molto tempo che programmo e non sapevo si potesse eseguire una linea di codice per volta, comunque nella definizione di inserisci_dipendente l'errore compare qui:
void inserisci_dipendente(struct dipendente A,struct dipendente* B,int* C)
{
int i;
struct dipendente* organico2;
organico2=malloc((*C+1)*sizeof(struct dipendente));
for(i=0;i<*C;i++)
organico2=B; <==============
*C=*C+1;
organico2[*C]=A;
scambia(B,organico2);
free(organico2);
}