Detailed coverage of each of the main elements of the C language and how to program in C, with special emphasis on the GNU/Linux compiler and associated toolset.
Quick introduction, written by a novice, intended for use by novices, but assumes familiarity with a programming language. By Greg Goebel. Public domain.
By Ian Cooke. Highlights the differences with C++ including comments, input/output, memory allocation, variable declarations, constants, structures, booleans, libraries and suggested reading.