Also eine mit inline deklarierte Funktion in C wird vom Compiler quasi wie eine Art Makro* behandelt.
d.h. es wird kein Call-Befehl erzeugt, sondern der Funktionsrumpf einfach an die Stelle kopiert (dadurch größerer Code).

Für kleine Funktionen kann das sehr praktisch sein.


Aber:
nur weil inline vor der Funktion steht heisst das noch lange nicht, daß der Compiler sie dann auch wirklich inline macht!
Es ist also eher als eine Art "Empfehlung" zu verstehen.

Bei sehr grossen Funktionen wird der Compiler das inline ignorieren,
ebenso wird er bei sehr vielen kleinen inline-Funktionen nur einen Teil wirklich als inline behandeln.




*Im Gegensatz zu einem Makro ist es aber eine echte Funktion mit Typprüfung etc.