Hallo Leute, kurz vorab: bin Anfänger - also bitte nicht mekern. wie ich ein zweidimensionales Array erstelle habe ich bereits rausgefunden. z.B. so: (Dabei erzeuge ich 3 Elemente mit jeweils 4 Zeichen.) char test [3][4]={"abcd","efgh","ijkl"}; Jetzt mein Problem: ich möchte z.b. eine bestehende Variable vom Typ Char in das zweite Element meines zweidimensionalen Arrays einfügen. Wie mach ich das? also z.B. char test1 [4]="baum"; char test [3][4]; der Inhalt von test1 soll jetzt im zweiten Element von test stehen. Wie mache ich das? Vielen Dank
strcpy bzw. strncpy. Ansonsten char * array verwenden, also char * test[3], dann kannst du mit = zuweisen, hast jedoch dann eine Referenz, also beim ändern eines Wertes werden alle Werte geändert. mfg Andreas
Du brauchst übrigens noch platz für einen nullterminator character! char test [3][4]={"abcd","efgh","ijkl"}; sollte eine dimension von char test [3][5]={"abcd","efgh","ijkl"}; haben. Ansonsten wird strncpy nicht funktionieren und du zerhaust dir deinen speicher! Und benutze strncpy (mit längenprüfung!) anstatt strcpy Grüsse Andreas
Denkbar ist auch
1 | char *test[] = { "abcd", "efgh", "ijkl" }; |
2 | |
3 | void foo (void) |
4 | {
|
5 | text[2] = "Hallo"; |
6 | }
|
Allerdings musst du dir dann über die andere Semantik im klaern sein und beurteilen, ab das im Programm angemessen ist.
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.