Why is 'arrays' uninitialized?
int **split_array(const int *s, int length) {
        int **arrays;
        int half_length;
        if (length%2 == 0){
                half_length = length/2 + 1;
        }
        else {
                half_length = length/2;
        }
        int *array1 = malloc(sizeof(int) * half_length);
        int *array2 = malloc(sizeof(int) * half_length);
        for (int i = 0; i < length; i = i + 2){
                array1[i] = s[i];
        }
        for (int i = 1; i < length; i = i + 2){
                array2[i] = s[i];
        }
        arrays[0] = array1;
        arrays[1] = array2;
        return arrays;
}
