Q:

error: assignment makes integer from pointer without a cast

I wanted to do a scan chain in following order but I face to an error : 
    error: assignment makes integer from pointer without a cast
What is wrong with my assignments?
/****************************************************/
void * x1_in[1024];
int x_out[1024];
double a1, a2;

for (k=0; k<init_num; k++) {
    a1 = *(x1_in + k);
    a2 = *(x1_in + (k+1));
    x_out[k] = a1 + a2;
}
/****************************************************/

A:

void * x1_in[1024]; is a pointer to an array which is equal to a pointer, so you have a pointer to a pointer.
Dereferencing a1 = *(x1_in +k); returns a pointer, you need a1 = *(double*)(x1_in +k);

