Zweidimensionales char-Array
-
Guten Tag!
In C++ ist es ja mit std::string möglich, mehrere Zeichenketten in eine Variable zutun. Geht das auch mit einem zweidimensionales char-Array?In C++ geht ja:
std::string Dinge = {"Tulpe", "Speber", "Tukan", "Senftorte"};
Wie würde das in C aussehen?
Ich dachte mir folgendes, was aber nicht durch den gcc will:char Dinge[][] = {"Tulpe", "Speber", "Tukan", "Senftorte"};
Da bekomme ich Ärger:
error: array type has incomplete element type
Vielleicht weiß ja einer von euch weiter?
Umbruch
-
Habe gerade gemerkt, dass ich die Größe der zweiten Dimension festlegen muss.
char Dinge[][10] = {"Tulpe", "Speber", "Tukan", "Senftorte"};
Finde das aber ziemlich unflexibel, wenn ich mal einen Wert nachträglich einbauen will. Weiß da jemand weiter?
-
Speicher auf dem Heap anfordern, so wie man es in C++ auch machen würde... Nur nicht wie in C++ sondern mit malloc()/free().
-
char *Dinge[] = {"Tulpe", "Speber", "Tukan", "Senftorte"}; size_t anzahl = sizeof Dinge/sizeof*Dinge; while( anzahl-- ) puts(Dinge[anzahl]);