Could someone please explain what the correct answer is?

We have

Code:
double* myArray;
declared in main.

An array is dynamically allocated in a function called "createArray" Which function declaration would be THE BEST for "createArray"?
Code:
void createArray(double* array, int size);
void createArray(double** arrays, int size);
void createArray(double& array, int size);
void createArray(double array, int size);

Could someone explain WHY they got the answer that they did? This was on a test, and I still can't understand why the answer is (what it is). I don't want to publish his/her answer until i get a couple of the same answers. Thanks for the help.