double (*parray[15])[] is not "pointer to array[15] of (double *)" but rather "array of 15 pointers to arrays of doubles". [] has precedence over *. I don't know whether this misunderstanding contributed to the original poster's problem or not. I do know that a lot of people make this []-vs.-* precedence mistake.