http://kor.i2p/books/The%20C%20Programming%20Language%20by%20K&R/chapter4.html
The main function would go in one file, which we will call main.c ; push , pop , and their variables go into a
second file, stack.c ; getop goes into a third, getop.c . Finally, getch and ungetch go into a
fourth file, getch.c ; we separate them from the others because they
would come from a separately-compiled library in a realistic program.