Dear all,
I have to use a funny structure in my code which has a 2D array and allocate it in the program. I do not know how to use malloc for that. This is the code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#define NUMBER_DECISION_VARIABLES (int)4
#define DIM (int)50
struct Results{
double *DV[NUMBER_DECISION_VARIABLES];
};
int main(){
int i, j;
struct Results results[DIM][DIM];
/* now I want to use malloc to get space for DV*/
for(i = 0; i < DIM; i++){
for(j = 0; j < DIM; j++){
/* it should be something like this */
results[i][j].DV = (double(*)[DIM])
malloc(DIM * sizeof(results[i][j].(*DV) ));
}
}
return 0;
}
But I get the following error during compilation:
te.c:32: error: expected identifier before ‘(’ token
te.c:32: error: incompatible types when assigning to type ‘double [4]’ from type ‘double ()[50]’
Could you tell me please how can I use malloc here?
Thanks in advance for your help.