Programming abstractions in C : a second course in computer science - Roberts, Eric (Addison Wesley, 1998)