Ich will die Anzahl der Elemente in einer Tabelle verarbeiten. Bekomme mit dem Programm jetzt nur die Anzahl der belegten Bytes ausgegeben. Wie kann ich die Länge dynamisch bestimmen ? #include <iostream> using namespace std; int Tabelle[] = {1,2,3,4 }; int Elemente = sizeof( Tabelle ); int main () { cout << Elemente; system("PAUSE"); return EXIT_SUCCESS; } Gruß aus Berlin Ingo
Ingo Laabs schrieb: > Ich will die Anzahl der Elemente in einer Tabelle verarbeiten. Bekomme > mit dem Programm jetzt nur die Anzahl der belegten Bytes ausgegeben. > Wie kann ich die Länge dynamisch bestimmen ?
1 | int Tabelle[] = { ... }; |
2 | int Elemente = sizeof (Tabelle) / sizeof (Tabelle[0]); |
Das ist allerdings keine dynamische Bestimmung zur Laufzeit. Diese musst du selber implementieren, die kann kein Compiler für dich machen weil nur du weißt, was deine Daten bedeuten. Johann
Oder (auch nicht dynamisch):
1 | ...
|
2 | int Elemente = sizeof( Tabelle ) / sizeof( int ); |
3 | ...
|
Ingo Laabs schrieb:
> woran erkennt jetzt die Funktion das "sizeof (Tabelle[0])" 4 ist?
Das erkennt nicht die Funktion, das weiß der Compiler. Du könntest
ebensogut auch "sizeof(int)" schreiben.
Johann
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.