More precisely what affect does the * symbol have on the parameter float?
The * symbol is representative of the pointer in C.
A pointer is basically a variable which holds the address of another variable in the program.\
eg:
Code:
float x = 5.0;
float* px = &x;// & is the address of operator which returns the address of x
printf("The variable x = %f lives at the adress %p",*px, px);//*px dereferences the pointer and returns the value the pointer is pointing to
a pointer is usually 4 bytes in memory.
in your example
Code:
malloc(arraySizeX*sizeof(float*))
is usually used when allocating memory to a pointer to a pointer or perhaps a 2D array.
and
Code:
malloc(arraySizeX*sizeof(float)
is used when allocating memory for a pointer, or in your case and array.