Nachtraegliche Initialisierung
-
Hi
Folgendes Problem: Ich will einen Zeiger erst deklarieren und spaeter intitialisieren.
BSP:
char *zeiger[];zeiger[] = { "test", "test2" }; // geht nicht
Wie kann ich das realisieren?
-
weil in C zu laufzeitbeginn solche dinge bekannt sein müssen, oder ich mit dynamischer Speicherallokierung arbeiten muss
in deinem Fall z.B.
char **zeiger; int i; // Jetzt entscheide dich wievelie Strings zu in deinem Feldspeicher sollts z.B. NUM if (0==(zeiger=calloc(NUM, siezof(char *)))) { printf("Fehler in calloc"); exit(1); } // jetzt entscheide ich wie lang jedes einzelne dieser Elemente sein sollen for (i=0;i<NUM;i++) { if (0==(zeiger[i]=calloc(/*Länge des einzelstrings+1*/, siezof(char *)))) { printf("Fehler in calloc"); exit(1); } else strcpy(zeiger[i],"Inhalt des EinzelStrings");