I have a hydrophone which sends voltage as input into my PC. I want to pass this through an FFT, yet from what i can find real and imaginary numbers are given as input. How will this work for me? Or are there other FFT's i should be using?
If efficiency is of no concern, you can just use your data as the real part of the input to the FFT, and set the imaginary part to zero. If you want to compute the result more efficiently, you can use a length $N/2$ complex FFT to compute the FFT of a real-valued length $N$ sequence. For the latter, see this answer for the theory, and this one for a code example.