All these arrays are in different and not contiguous locations in memory. To get the contents all in one place efficiently this is one option.
double little_arrayA[] = {1, 2, 3, 4, 5};
double little_arrayB[] = {6, 7, 8, 9, 10};
double *BIG_array = (double *) new char [sizeof(little_arrayA) + sizeof(little_arrayB)];
memcpy(BIG_array, little_arrayA, sizeof(little_arrayA));
memcpy(BIG_array + sizeof(little_arrayA), little_arrayB, sizeof(little_arrayB));