STM32F4

It's common for a microcontroller to have many fewer A-D converters than it has analog pins, with an analog multiplexer in between the pins and the A-D converter. The Atmel AVR used on the Arduino only has ONE A-D converter, fronted by a 16
:1 analog multiplexer (some of whose inputs are not connected), so that when you do an "analogRead(port)", what actually happens is more like:

SelectAnalogInput(port);
delay(MUXSETTLETIME);
StartADConversion();
delay(ADCONVERTTIME);
return(readADC();

The STM32F4 actually has three separate A2D converters, each with an 8:1 mux (and some complex connections to pins that I didn't look into very much.) So you could read up to three Analog inputs without messing separately with the muxes (except at setup time), or you'll have to do something similar to what the Arduino core SW does.

In general, it is a useful technique in learning a new processor/board to try to COPY (only be sure to call it "port") an existing familiar set of software. So the question shouldn't be "how do I read analog inputs on STM32F4?", but "How do I duplicated the AnalogRead() function on STM32F4?" It may seem very similar, but the process is different. Instead of starting from scratch, you get to look at the steps that the arduino code uses, and figure out whether they have equivalents on the STM. Since the individual steps are smaller, they may be easier to understand. Of course, you end up needing to understand both the existing Arduino code AND the new processor code. But ... it's good for you!