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 typeVielleicht 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]);