Dear all,

It's been a long time that I haven't done C and I've forgot almost all about it. I'm trying to catch up with it!

Well, first I need to understand one part i.e. dynamic matrix declaration; specifically, I am trying to understand these lines of code:

Especially, I have problem understanding the bold lines. Could you try to explain it in a very clear way what exactly is going on here. I mean I know (by book) what malloc does and all that I just don't understand the details like what this initialization does:Code:// 0. write Data matrix int size_x = 210; int size_y = 7; double **Data, *pDataData; Data = (double **)malloc(size_x*sizeof(double *)+size_x*size_y*sizeof(double));for (i = 0, pDataData = (double *)(Data+size_x); i < size_x; i++, pDataData += size_y) Data[i]=pDataData;for(i=0;i<size_x;i++) for(j=0;j<size_y;j++){ Data[i][j] = *(Data_in+size_y*i+j); //printf("%f ", Data[i][j]); } //printf("\n\n\n\n\n");and how a pointer to pointer equals a pointer in this line:Code:pDataData = (double *)(Data+size_x)Thank you very much in advanceCode:Data[i]=pDataData

Elnaz