Anhänger von Zeichenketten in Zeichenketten



  • Kann mir jemand eine Frage beanworten?

    Wenn ich versuche mehrere Zeichenkette in Zeichekette versuche abzuspeichern, wie realisiere ich dass am besten?

    Es sind beliebig viele verschiedene Zeichenkette(ich nenne Sie mal 'B') in einer Zeichenkette('A') abzuspeichern.
    Wenn ich nun in A Zeiger auf jedes B erzeuge, muss ich B-viele Zeichenketten erstellen, dass scheint mir eine schlechte Lösung, oder?
    Gibt es eine Möglichkeiten Zeichenketten direkt in einer Zeichenketten-Pos. abzuspeichern?

    Danke, Jerome.



  • Vergesst alles, Problem gelöst, die Anwort Big Brother funktioniert einwandfrei!

    Ich werde mich jetzt nochmal hinsetzen und ausklamüsern, was ein Pointer, ein Array, etc. ist.

    Vielen dank!



  • Big - Brother schrieb:

    &zk2[klaenge]+ii
    

    Mit einer Mischung aus Geschmack und Verstand würde man vermutlich lieber lesen:

    zk2 + klaenge + ii
    // oder
    &zk2[klaenge + ii]
    

    🙂



  • Wirklich, sehr geschmackvoll. Bin echt beeindruckt, Bruder!



  • µngbd schrieb:

    Wirklich, sehr geschmackvoll. Bin echt beeindruckt, Bruder!

    Hätte ich freundlicher formuliert, wenn ich dich nicht wegen dem Bindestrich für irgendeinen anonymen Nachmacher gehalten hätte. Seit fricky gegangen ist, müssen wir zusammenhalten, sonst wird uns bald der Spass vergehen.
    😞



  • Ich schätze, früher oder später kommt er wieder, nach dem Motto "Der Kater lässt das Mausen nicht".
    Und wenns dazu ein paar Monate braucht. Wäre ansonsten IMO schon irgendwie doof.



  • Big Brother schrieb:

    Ich schätze, früher oder später kommt er wieder, nach dem Motto "Der Kater lässt das Mausen nicht".
    Und wenns dazu ein paar Monate braucht. Wäre ansonsten IMO schon irgendwie doof.

    Ich wäre gern so sicher wie du. Man weiss ja nie, vielleicht hat zu viel Zeit im Internet durchgebracht, und macht jetzt lieber nur mehr das, wovon er was lernt.

    Falls er nicht wieder kommt, musst leider du noch besser auf meine Fehler achten.
    🙄



  • µngbd schrieb:

    Ich wäre gern so sicher wie du. Man weiss ja nie, vielleicht hat zu viel Zeit im Internet durchgebracht, und macht jetzt lieber nur mehr das, wovon er was lernt.

    Werden wir sehen 😉

    µngbd schrieb:

    Falls er nicht wieder kommt, musst leider du noch besser auf meine Fehler achten.
    🙄

    Achwas, das machst du schon. 🙂



  • ich weiß nicht genau worüber ihr redet, scheint aber Insider-Wissen zu benötigen 😉

    falls ihr nochmal eine kurze frage beanworten könntet:

    zk2 = malloc(k * sizeof(int *));
    

    erzeuge ich eine ZK der Länge k..
    mit

    zk2[b] = malloc(rn1 * sizeof(int));
    

    die Spalten der Länge rn1.
    Nun ist rn1 immer unterschiedlich, wenn ich mir mittels

    printf("%d", sizeof(zk2[b]));
    

    die Länge der Spalte ausgeben lasse, ist jede Spalte immer 4 Lang.
    Wieso ist das so?
    Die Länge von zk2 ist auch nicht 4, sonder k, wie es auch sein sollte.

    Kann mir jemand den Fehler nennen?

    Danke euch nochmals,

    Jerome.



  • JeromeC schrieb:

    falls ihr nochmal eine kurze frage beanworten könntet:

    zk2 = malloc(k * sizeof(int *));
    

    erzeuge ich eine ZK

    Besser: ein Array. Und am besten: einen Speicherbereich mit bekannter Grösse, der über einen Zeiger ansprechbar ist. Ein Zeiger ist nämlich kein Array. Man nennt so ein Ding von malloc() nur manchmal, etwas ungenau, "dynamisches Array". Aus Sicht der Sprache ist er aber keines, obwohl man ihn ausserhalb von sizeof so verwenden kann. Das liegt daran, dass C unter der Haube Zeiger verwendet, um Arrays zu handhaben.

    JeromeC schrieb:

    der Länge k..

    mit

    zk2[b] = malloc(rn1 * sizeof(int));
    

    die Spalten der Länge rn1.
    Nun ist rn1 immer unterschiedlich, wenn ich mir mittels

    printf("%d", sizeof(zk2[b]));
    

    die Länge der Spalte ausgeben lasse, ist jede Spalte immer 4 Lang.
    Wieso ist das so?

    Das eine übliche Grösse für ein int* , und jedes Element von zk2 ist ein int* . Könnte also durchaus stimmen.

    JeromeC schrieb:

    Die Länge von zk2 ist auch nicht 4, sonder k, wie es auch sein sollte.

    Aber sizeof(zk2) ist doch auch 4, oder? Das muss die Grösse eines int** sein. zk2 ist als int** deklariert, oder?
    🙂


Anmelden zum Antworten