Über einen String mit Pointer laufen.



  • Hallo alle zusammen,

    ich lerne gerade C und habe eine Frage:

    ich habe 2 Pointer die auf Elemente eines Strings zeigen. Der eine ist Am Anfang des Strings, der andere am Ende.

    Die beiden Pointer sollen jetzt über den String wandern. Der eine inkrementiert, der andere dekrementiert. Das soll solange passieren, wie der eine Pointer "kleiner" ist, also linksstehend vom anderen Pointer.

    Kann man sagen das Speicheradressen eine Hirarchie nach größe haben? Angenommen p1 und p2 sind Pointer.

    while (p1 < p2)
    {
    p1++;
    p2--;
    }
    

    Wäre das generell zulässig? Oder gibt es da andere Möglichkeiten?

    Ich bedanke mich.

    Viele Grüße

    🙂


  • Mod

    Ja, Pointer die auf Elemente des gleichen Arrays zeigen sind nach Größe vergleichbar und es ist auch so, dass der "hintere" Pointer der größere ist.

    Bei Pointern die nicht auf das Elemente des gleichen Arrays (oder sonstigen zusammengesetzten Datentyps) zeigen, ist es theoretisch möglich, dass solche Vergleiche nicht funktionieren. Praktisch kannst du aber davon ausgehen, dass du alle Pointer immer vergleichen kannst und ein eindeutiges, geordnetes Ergebnis erhältst. Außer du machst Programme für Mikrocontroller oder 16-Bit DOS. Und dann wüsstest du sicherlich bereits, was da geht und was nicht 🙂 .



  • Hallo SeppJ,

    ich bedanke mich für die ausführliche Antwort um die späte zeit 🙂 !

    Liebe Grüße


Anmelden zum Antworten