Anzahl der Einträge einer Liste ermitteln



  • Horst2 schrieb:

    Meiner Meinung nach ist das ein Array und keine Liste

    ist es auch. ein array von char-pointern.

    Horst2 schrieb:

    bei einer Liste bräuchtest du die Anzahl nicht

    warum nicht?



  • Es funktioniert!

    @/bin/bashOR:
    Dein Vorschlag hat's gebracht

    @Taurin:
    Natürlich könnte ich auch einfach zählen, aber das wär ja vollkommen witzlos!



  • tuttmaster schrieb:

    @/bin/bashOR:
    Dein Vorschlag hat's gebracht

    sizeof() ist besser (jedenfalls wenn die grösse des arrays beim compilieren feststeht). da wird kein zusätzlicher code benötigt sondern es ist einfach eine feste zahl.



  • @ bin/bash0r

    Hast du ICQ..... weil dann kann man sich besser schreiben, wegen Ideen und so !



  • net schrieb:

    Horst2 schrieb:

    Meiner Meinung nach ist das ein Array und keine Liste

    ist es auch. ein array von char-pointern.

    Horst2 schrieb:

    bei einer Liste bräuchtest du die Anzahl nicht

    warum nicht?

    z.B. bei einer verketteten Liste sollte der letzte Eintrag immer auf NULL zeigen und dann kann man dies abprüfen



  • @net:
    sizeof() hatte ich auch ausprobiert, ging auch zu kompilieren, allerdings ist mir beim ausführen des Programms eben jenes jedesmal abgeschmiert!



  • tuttmaster schrieb:

    @net:
    sizeof() hatte ich auch ausprobiert, ging auch zu kompilieren, allerdings ist mir beim ausführen des Programms eben jenes jedesmal abgeschmiert!

    muss ein anderer fehler gewesen sein. in deinem beispiel..

    char *seek_sign[] = {"@far",".interupt","@","far","using[1]","using[3]","END"};
    

    ergibt:
    sizeof(seek_sign)/sizeof(char*) --> 7



  • Hab meinen Fehler gefunden!

    sizeof(seek_sign)/sizeof(char*)

    funktioniert jetzt auch bei meiner for - schleife:

    for(x=0;x<sizeof(seek_sign)/sizeof(char*);x++)
              prozedur(seek_sign[x]);
    

    Abgeschmiert ist das Programm, wenn ich anstatt

    x < sizeof(seek_sign)/sizeof(char*)

    die Bedingung:

    x <= sizeof(seek_sign)/sizeof(char*)

    gewählt hab. Aber warum der ausgerechnet dann abstürzt, weis ich immer noch nicht.



  • tuttmaster schrieb:

    Abgeschmiert ist das Programm, wenn ich anstatt

    x < sizeof(seek_sign)/sizeof(char*)

    die Bedingung:

    x <= sizeof(seek_sign)/sizeof(char*)

    gewählt hab. Aber warum der ausgerechnet dann abstürzt, weis ich immer noch nicht.

    ersteres zählt von 0 bis 6
    der andere von 0 bis 7, also wohl 1 zu weit



  • AHHHHHHHHHH........mir fällt es wie Schuppen aus den Haaren

    Hatte ja total verdrängt, das beim Aufruf bei 0 angefangen wird!!!!


Anmelden zum Antworten