FFT can have any number of measurements, but 1D FFT is usually used for data that is essentially one-dimensional, for example. Audio and 2D FFTs are used for 2D data such as images.
In the general case, both the input data and the output data are complex, i.e. there are real and imaginary components in each input / output value. However, for most "real", that is, physical data, the imaginary part of the input data will be zero. The FFT output, although for purely real input, will have both real and imaginary components.
Depending on the implementation of the FFT, the input / output data can be simply alternating arrays where the real components are in 2 * i and the imaginary components are at the index 2 * i + 1 or they can use some complex data type, or sometimes real and imaginary components can be in separate arrays. This is just an API part, but the basic algorithm is still the same.
source share