Anzeige:
Seite 3 von 3 ErsteErste 123
Ergebnis 31 bis 34 von 34

Thema: Array durchlaufen C

  1. #31
    Registrierter Benutzer
    Registriert seit
    19.04.2003
    Beiträge
    194
    da hier wir gerade OT sind, eine kleine frage:

    hab mal in einem Source folgendes gesehen:
    Code:
     
    Variante 1:
    char *feld[]={"Acker", "Weizen", "Roggen"};
    
    Variante 2:
    const char *grass[]={"Klee", "Löwenzahn", NULL};
    beide Varianten sind konstante String-Arrays. Warum schreib ich dann bei Variante 2 als letztes Argument NULL? Gehört dies so, oder wird das hier nur als Sicherheitsmaßnahme verwendet damit man weiss, wo das Ende ist? Könnte man das NULL Argument, auch bei Variante 1 schreiben?

    Ich erahne wahrscheinlich die richtige Antwort, aber ich möchte sicher sein, und frage daher euch!

    mfG

  2. #32
    Registrierter Benutzer Avatar von Berufspenner
    Registriert seit
    30.03.2002
    Ort
    Hamburg
    Beiträge
    567
    @Silver

    Ich hab nur so eine Ahnung: "NULL" terminiert das Array. Wenn man "NULL" entfernen würde könnte ich mit "*(grass + 3)" auf die Adresse von "feld[1]" zugreifen.
    Code:
    #include <iostream>
    using namespace std;
    
    int main()
    {
        char *feld[]={"Acker", "Weizen", "Roggen"};
        cout << *(feld +1) << endl;
        
        const char *grass[]={"Klee", "Löwenzahn"};
        cout << *(grass + 3) << endl;
        
        return 0;
    }
    Cu
    André
    C und C++

  3. #33
    Registrierter Benutzer
    Registriert seit
    24.06.2003
    Beiträge
    486
    Original geschrieben von Silver
    [B]
    Code:
     
    Variante 1:
    char *feld[]={"Acker", "Weizen", "Roggen"};
    
    Variante 2:
    const char *grass[]={"Klee", "Löwenzahn", NULL};
    beide Varianten sind konstante String-Arrays.
    Ja,und darum ist Variante 1 auch falsch (siehe mein Posting weiter oben).

    Warum schreib ich dann bei Variante 2 als letztes Argument NULL?
    So kannst du eine Schleife schreiben,die alle String ausgibt,ohne das zu weißt wieviele String drinsind.

  4. #34
    Registrierter Benutzer
    Registriert seit
    19.04.2003
    Beiträge
    194
    ich hab daher geglaubt wenn man als letzes arg. NULL hat, schreibt man const vorm char*, ansonsten nicht! danke für die antwort!

    mfG

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •