C Companion
Most texts on C programming lack essential technical background material--assuming (erroneously) that beginning programmers wouldn't understand it, and that advanced programmers already know it. Intermediate- level programmers on the other hand find the existing texts either not sufficiently comprehensive, or inaccessible and overwhelming. This supplement corrects these problems in two ways: 1) it provides background material useful for understanding the C language (making even the most advanced texts more intelligible, and 2) it looks in depth at several advanced topics (e.g., sophisticated uses of pointers and subroutines with a variable number of arguments).