>> persino il valore ha tenuto bc dai cambiamenti. ma niente accade a bMember.
Naturalmente qualcosa accade a bMember: lo scrivete sopra qui:
>> *bb = *ba;
punti di bb allo stesso oggetto di B di aa2->bMember, IE. entrambe il punto all'oggetto quel bc indica.
Così, quando dereference l'indicatore di bb (*bb), ottenete quell'oggetto (lo stesso oggetto che tutti gli tre indicatori accennati indicano).
Quando allora assegnate il *ba a quell'oggetto, lo scrivete sopra con i nuovi dati. Ciò significa che tutti e tre le hanno accennato che gli indicatori ora indicheranno quell'oggetto scritto sopra.
Devo dire comunque che state facendo un certo roba realmente pazzesco qui. Che cosa è il punto di tutto questo codice? Sembra altamente soggetto a errori e complicato inutilmente.