Anzahl der Einträge einer Liste ermitteln
-
Meiner Meinung nach ist das ein Array und keine Liste :), bei einer Liste bräuchtest du die Anzahl nicht
-
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 gebrachtsizeof() 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!!!!