C Functions

In a procedural language functions are the only way to structure code. To really understand C one must understand how a function call works: What kind of role does the stack play? How are parameters and return values transported (reference vs. value). This will take us down into some assembly language as well.

With such a small set of keywords like in C or Java the functions are what makes those languages usable. Without functions C could not even read anything from a keyboard or show anything on a screen.