thanks alot guys the braces where mssing... that kept me gioing like forever...
and it is c code and i know i dont have to cast the pointer but i tried everything to solve the problem :/
like is said THANKS ALOT
ahh damit ... that not quit it... ok i tryed to compress the code more.... i want to allocate a dynamic 2 dimensional array with the code with variaable sizes in each rows
Code:
int main(){
int counter = 0;
int counter2 = 0;
int** pointer = NULL;
int** intPP = NULL;
int* intP = NULL;
int** tmpP = NULL;
while(counter < 50){
printf("inner %i, outer%i\n", counter2, counter);
if(counter2 == 10){
counter = counter + 1;
counter2 = 0;
}
resizer(&tmpP, counter, counter2, -1, -1, 0);
counter2 = counter2 + 1;
}
return 0;
}
int resizer(int*** pointer, int outer, int inner, int outerSize, int innerSize, int isFirst){
printf("-----------\tresizer( pointer = %p, outer = %i, inner = %i, outerS = %i, innerS = %i, isNFirst = %i)\t--------------\n", *pointer, outer, inner, outerSize, innerSize,
isFirst);
int counter = outerSize;
int counter2 = innerSize;
if( inner == innerSize && outer == outerSize){
return 0;
}
int** intPP = NULL;
int* intP = NULL;
if( outer != outerSize ){
intPP = realloc(*pointer, (sizeof(int*) * (outer + 1)));
if( intPP == NULL){
return 1;
}
*pointer = intPP;
if( isFirst != 0 ){
(*pointer)[outer] = NULL;
}
}
if( inner != innerSize ){
intP = realloc((*pointer)[outer], (sizeof(int) * (inner + 1)));
if( intP == NULL){
return 1;
}
(*pointer)[outer] = intP;
(*pointer)[outer][inner] = 0;
}
return 0;
}