Dynamisches Mehrdimensionales Array an funktion übergeben
-
Ich habe folgendes Problem:
Und zwar will ich mit der funktion
void init_text(char **text,int *nlines)
{
int i;*nlines=30;
text = ( char** )malloc( *nlines*sizeof( char* ) );
for(i=0;i<nlines;i++)
{
text[i] = ( char )malloc( 1023*sizeof( char ) );
}
}ein dynamisches Array initialisieren.
Auszug aus main
char **text;
int nlines=0;init_text(text2,&nlines);
Im unterprogramm kann ich auf jede stelle des text arrays mit dem index zugreifen. (zb. text[0][1])
Das Problem ist ,dass dies in der Mainfunktion nicht mehr möglich ist
da der pointer *text[0] auf einen falschen speicher verweist
woran kann das liegen??
-
Es gibt Codetags, siehe:
void init_text(char ***text,int *nlines) { int i; *nlines=30; *text = malloc( *nlines*sizeof( char* ) ); for(i=0;i<*nlines;i++) { (*text)[i] = malloc( 1023 ); } }
ein dynamisches Array initialisieren.
Auszug aus main
char **text; int nlines=0; init_text(&text,&nlines);
-
Wutz schrieb:
void init_text(char ***text,int *nlines)
ein three star programmer