Wo ist der fehler 2D array
-
Hallo 1000 mal habe ich ein 2d array gemacht aber dismal funktionierts nicht kann mir einer helfen.
void DArrayCreate(double **Array, long int yi, long int xj) { //dhlosh Metablhton register long int Counter; // Counter = 0; //dhlosh Metablhton //arxika ton xj -aksona Array = (double **)malloc( yi * sizeof(double *)); //Check mnimh if(Array == NULL) { fprintf(stderr,"!!!FATAL ERROR!!!. __FILE__ 000 007. Den exoume allh dia8esimh mnhmh.\n"); exit(EXIT_FAILURE); } //Kataskeuazoume ton xj -aksona for(Counter = 0; Counter < xj; Counter++) { //desmeush tou xorou Array[Counter] = (double *)malloc(xj * sizeof(double)); if(Array[Counter] == NULL) { fprintf(stderr,"!!!FATAL ERROR!!!. __FILE__ 000 008. Den exoume alloi dia8esimh mnhmh.\n"); } }
-
Damit der Array verändert wird, musst du sowas schreiben:
void foo(double ***bar) { *bar = malloc(VIEL); } ... double **D2arr; ::foo(&D2arr);
-
hat sich erledicht
-
Juhu ich habs rasus danke saxxor
void DArrayCreate(double ***Array, long int yi, long int xj) { //dhlosh Metablhton register long int Counter; // Counter = 0; //dhlosh Metablhton //Elenxos yi if(yi <= 0) { fprintf(stderr,"!!!FATAL ERROR!!! __FILE__ 000 007. Den mporo na fiakso pinaka (yi).\n"); exit(EXIT_FAILURE); } //Elenxos xi if(xj <= 0) { fprintf(stderr,"!!!FATAL ERROR!!! __FILE__ 000 008. Den mporo na ftiakso oinaka (xi).\n"); exit(EXIT_FAILURE); } //arxika ton xj -aksona *Array = (double**)malloc( yi * sizeof(double *)); //Check mnimh if(*Array == NULL) { fprintf(stderr,"!!!FATAL ERROR!!!. __FILE__ 000 007. Den exoume allh dia8esimh mnhmh.\n"); exit(EXIT_FAILURE); } //Kataskeuazoume ton xj -aksona for(Counter = 0; Counter < xj; Counter++) { //desmeush tou xorou *((*Array)+Counter) = (double*)malloc(xj * sizeof(double)); if(*((*Array)+Counter) == NULL) { fprintf(stderr,"!!!FATAL ERROR!!!. __FILE__ 000 008. Den exoume alloi dia8esimh mnhmh.\n"); } //////////////////////////////test//////////////////////////////////////////////////////// // printf("Counter = %d\n",Counter); // ////////////////////////////////////////////////////////////////////////////////////////// } }