Inkrementieren von Zeigern für *char in einer while-Schleife

Hier ist was ich habe:

char* input = new char [input_max]
char* inputPtr = iput;

Ich will das inputPtr zum Durchlaufen des Arrays input. Aber ich bin nicht sicher, was richtig prüfen Sie, ob oder nicht erreicht habe ich das Ende der Zeichenfolge:

while (*inputPtr++)
{
    //Some code
}

oder

while (*inputPtr != '\0')
{
    inputPtr++;
    //Some code
}

oder eine elegantere Möglichkeit?

Sie sind gleichwertig. Natürlich, Sie müssen sicherstellen, dass es ist eigentlich eine \0 im array.
Dies ist eine Frage von, was Sie in Ihrem array. Sind Sie sicher, dass Sie einen '\0' element in deinem array? Wenn es Sie gibt, sind Sie sicher, dass die '\0' element ist in den Grenzen des Arrays?
Ich bin neu in der Programmierung, so entschuldigen Sie mich, wenn das, was ich zu Fragen ist überflüssig, aber ist '\0' == 0?
"ist '\0' == 0" - Ja. Schau hier.
So bedeutet das, dass die while-Anweisung prüft zunächst den Wert des inputPtr nach aufgelöst, und dann erhöht die die Speicher-Adresse, gespeichert in inputPtr??? (Ich bin noch neu auf Zeigern, also bin ich verwirrt, wenn es um diese Dinge geht)

InformationsquelleAutor Bbvarghe | 2013-06-14

Schreibe einen Kommentar