j'ai une structure comme ceci:Utilisation des syndicats avec des structures
struct data
{
char abc[10];
int cnt;
struct data *next, *prior;
};
struct data *start, *last;
struct data *start1, *last1;
struct data *start2, *last2;
L'entier 'cnt' peut avoir deux valeurs. Les pointeurs:
struct data *start, *last;
sont utilisés pour relier toutes les données avec toutes les valeurs de « cnt ». Les pointeurs:
struct data *start1, *last1;
struct data *start2, *last2;
sont utilisés pour relier les données lorsque la valeur de « cnt » est 1 ou 2. Mon problème est que lorsque je change la valeur de « abc » ou « cnt » pour une liste chaînée, disons 'start-> abc', les valeurs 'start1-> abc' et 'start2-> abc' sont inchangées car elles résident dans des emplacements mémoire différents.
Je voudrais qu'un changement de données sous une liste soit reflété dans les deux autres listes. Je crois que les 'syndicats' pourraient m'aider à le faire mais je ne sais pas comment le mettre en place.
Toute aide appréciée!
Pointez les pointeurs vers le même emplacement de mémoire. –
J'avais pensé à le faire mais m'emmêler ici: – user1674921
La liste de départ a 20 listes. Start1 a 12 de ces 20 dans sa liste et start2 a les 8 restants. Comment puis-je traverser la liste start1 avec le pointeur suivant à sa 8ème liste qui est la 17ème liste sur la liste de départ et faire un changement pour effectuer les deux listes? – user1674921