Hallo,
habe da ein für mich derzeit nicht lösbares Problem. 😕
Ich möchte "Stings" die in Zeilen unbekannter Anzahl, immer gleicher Längendefinition, untereinander stehen in ein Array überführen (per char Array ), wo ich per Zeiger (* oder **) darauf zugreifen kann und die Zeilen dann per qsort() sortiere. Bei einem Array z.B. int kein Problem **zeiger,... zeiger[i][j]... Wenn ich das gleiche per char **zeigerstring; mache kommt beim Sortieren nichts brauchbares raus. Der Zeiger (*) hat ja die Adresse des ersten Elements als Adresse, beim char Array den Wert[0]. Wenn ich sortieren will möchte ich ja nicht nur nach Inhalt des Zeichens in [0] sondern bis \0 sortieren und auch nicht nur das Element[0]. Mir fehlt irgend wie das Versändnis der Behandlung von Strings in char Array ab 2ter Dimension, vor allem wie ich nicht das einzelne Zeichen im Array anspreche, sondern die Zeichenkette bis jeweils \0 nutzen kann.
Ich gehe davon aus, dass wenn ich malloc() verwende, das Array von mehrdimensionalen char Arrays einfach im Speicher immer hintereinander weg geschrieben wird. Wenn ich eine feste Länge des 1D char Arrays[] Anteils im gesamten mehrdimensionalen Array vereinbart habe, könnte man einfach durch Zählen der Vielfachen und deren Länge irgend wie zugreifen... oder ist das Quatsch?
1 | Code folgt. |
Über Tipps, Infos, Links zu mehrdimensionalen, dynamischen char Arrays fester 1D char Arrays Anteile wäre ich sehr dankbar. Auch wie man das per Zeiger organisiert und per qsort anspricht. Habe schon Stunden Dokus, Anleitungen gelesen, programmiert und getestet.. komme aber durch Verständnisproblem nicht weiter.
Gruß Und Dank Markus