Platz für 2D-char mit malloc allozieren
-
Wie kann ich den Platz für ein 2D-char (array) mit malloc allozieren?
char *a[]; // oder char **a;
Danke
-
mittels "char **a";
wird allerdings üblicherweise als Array von Array von chars angelegt, siehe hierzu als Beispiel im thread http://www.c-plusplus.net/forum/viewtopic-var-t-is-157946.html (etwas weiter hinten), allerdings 2-dimensionales Array als int **.
edit: Man kann auch ein 1-dimensionales Array anlegen mit der Länge "nrow * ncolumn" und dann über einfache Rechenoperationen zugreifen, z.B.:
char * arr; arr = (char *) malloc(nrow * ncolumn * sizeof(char)); arr[(ncolumn * rowIndex) + columnIndex] = 'a';
ist zwar einfacher, aber "unsauberer".
-
http://www.c-plusplus.net/forum/viewtopic-var-p-is-933701.html#933701
http://www.c-plusplus.net/forum/viewtopic-var-p-is-989590.html#989590