Hm, da gibt es viele Wege zum Ziel.
Im Endeffekt musst du aber den Inhalt vom Struct und damit von allen Arrays etc dadrinnen miteinander vergleichen.
Das kannst du z.B. mit einer Funktion machen.
Ein Beispiel dazu findest du hier:
http://www.hs-augsburg.de/~sandman/c_vo ... 17_004.htm
Du kannst natürlich auch das struct...auf andere Weise vergleichen (auch in einer Funktion):
Code: Alles auswählen
typedef struct _something { ... }Str;
Str eins;
eins->wert=5;
Str zwei;
zwei->wert=5;
char compare (Str* eins, Str* zwei) {
int size = sizeof(Str);
char *point1 = (char*) eins;
char *point2 = (char*) zwei;
while (size > 0) {
if ( (*point1) == (*point2) ) {
return 1;
}
size--;
point1++;
point2++;
}
return 0;
}
So dürfte es eigntl auch gehen.
Du vergleichst praktisch die Speicherplätze, in denen die structs liegen.
Das kommt zwar gleich mit einem Vergleich der einzelnen Variablen im Struct, ist aber leichter/schneller auf andere structs anzupassen.
Garantieren, dass das funktioniert (so wie's oben steht) kann ich dir aber nicht^^