How should this fft output be intepreted?
"[...] the real part is the amplitude, and the complex part is the phase [...]" No, complex numbers (and that's what the output of a DFT/FFT is) can be represented either by their real and imaginary parts (as in the output vector of your routine), or by their magnitudes and phases. Please refer to the linked page on how to convert one representation to the other.

The indices $i=0,1,\ldots N-1$ of the output vector of a length $N$ DFT/FFT are related to actual frequencies via the sampling frequency $f_s$:

$$f_i=\frac{if_s}{N}$$

If the input vector is real-valued, the first $N/2+1$ values (assuming $N$ is even) contain all information about the signal.