speicherprob bei realloc
-
hi han da n prob wenn cih was realloce und hab um ehrlich zu sein ka warum das auftritt
falls mir einer weiterhelfen könnte wärs goil...
also das prog läuft als zum kurz vorm ende des zweiten durchganzs stürzt also an der stelle "*pointer[outer][inner] = 0;" ab#include <stdio.h> #include <stdlib.h> int resizer(int*** pointer, int outer, int inner, int outerSize, int innerSize, int isNFirst); int main(){ int counter = 0; int counter2 = 0; int** intP = NULL; while(counter < 50){ if(counter2 == 10){ counter = counter + 1; counter2 = 0; } resizer(&intP, counter, counter2, 0, 0, 0); counter2 = counter2 + 1; } return 0; } int resizer(int*** pointer, int outer, int inner, int outerSize, int innerSize, int isNFirst){ int** tmpIntP = NULL; int* tmpInt = NULL; int tmpCoutner = 0; if( outerSize != outer + 1 ){ tmpIntP = (int**)realloc(*pointer, (sizeof(int*) * (outer + 1))); if( tmpIntP == NULL ){ return 1; } if( outer != 0 ){ tmpIntP[outer] = NULL; } *pointer = tmpIntP; } if( isNFirst == 0 || innerSize < inner + 1){ if( outer != 0){ } *pointer[outer] = NULL; } if( innerSize != inner + 1){ tmpInt = (int*)realloc(*pointer[outer], (sizeof(int) * (inner + 1))); if( tmpInt == NULL ){ return 1; } *pointer[outer] = tmpInt; } *pointer[outer][inner] = 0; return 0; }
hab ich da irgendwo n fehler in meiner logik oder is das einfach nur wirres verhalten
-
... if( outer != 0){ } *pointer[outer] = NULL;
...
das sieht schon mal verdächtig aus. das 'if' bewirkt hier nix.
-
hmm ne das is nix han den code nur sagen wir mal von debug ausgaben befreit und das war so eine
also einfach ignorieren das ... ah so und auch bitte nit drauf achten das da n memory leak is... das is momentan irelevant...
würd das oben aj ändern aba han verpeilt micha nzumelden o_O
-
dann lass es mal im debugger laufen. single-step, variablen angucken, usw.
-
Und bitte beim nächsten Mal die deutsche Sprache nicht zu stark vergewaltigen
-
soweit war ich leider schon sowohl mit ddd drüber egschaut als auch mit valgrind.. aba nicht gutes rausbekommen... han gehofft jemand anderem fällt am was auf
-
flasche schrieb:
soweit war ich leider schon sowohl mit ddd drüber egschaut als auch mit valgrind.. aba nicht gutes rausbekommen...
du kennst doch die logik von dem code da^^
wenn du schrittweise durchsteppst und irgendwas nicht deinen erwartungen entspricht, dann hst du einen fehler gefunden. das ist nicht so schwer.