Salut.
Je suppose que tu as creer une struct dans laquelle tu as mis toute les données d'une personne :
struct personne{char *nom;etc...}
à chaque personne corespond un identifiant.
Ce que je ferai, c'est dans personne mettre un pointeur de personne pour les enfants.
Ainsi, tu défini les enfants dans une structure personne, ensuite tu fait pointé la variable enfant vers cette structure :
struct personne{char *nom;personne* enfant[20];}
personne mere("brigitte","bardot");
mere.nbenfant=2;
personne bibi("bibi","bardot");
personne foc("foc","bardot");
mere.enfant[0]=&bibi;
mere.enfant[1]=&foc;
Ensuite, si tu veux un lien vers l'ascendant, c'est pareil, tu defini une variable personne pointeur :
bibi.maman=&mere;
Ensuite, tu peut même definir une fonction pour lier les deux :
void parent_enfant(personne &mere,personne &bibi);
Salutation !
Char Snipeur