Wolfram Research, Inc.
int MLPutRealArray(MLINK link, double *a, long *dims, char **heads, long d) puts an array of floating-point numbers to the MathLink connection specified by link to form a depth d array with dimensions dims.
The array a must be laid out in memory like a C array declared explicitly as double a[m][n]... .
If heads is given as NULL, the array will be assumed to have head List at every level.
The length of the array at level i is taken to be dims[i].
See The Mathematica Book: Section 2.12.4.
See also: MLPutRealList.