Free E-Books for C Programming
An Introduction to GCC
This manual provides an introduction to the GNU C and C++ Compilers, gcc and g++, which are part of the GNU Compiler Collection (GCC). You can buy the printed version which raises money for more free documentation
Become an Xcoder - Xcode and Objective-C
Bert Altenburg, author of AppleScript for Absolute Starters, in co-operation with Alex Clarke and Philippe Mougin, has released a book for newcomers to Cocoa programming using Objective-C and XCode. This tutorial is written for non-programmers, and is aimed at levelling the learning curve as much as possible. It is released as a free booklet in pdf format under a CC Attribution license.
Beej's Guide to Network Programming
This is a 110 page PDF (or very long html web page) on network programming using Internet sockets, or "sockets programming". It covers the sockets API, including Unix, Linux, and even Windows. Plenty of code examples and how to do things.
Bull Mountain Software Implementation Guide
A 32 page PDF, the guide explains random number generators and describes how to use Bull Mountain; this is a true random number generator being built into their 64 Bit CPUs.
C Programming in Linux E-Book
This is an 84 page PDF on Linux Programming in C, by author David Haskins this is provided by BookBoon publishers. You need to register with them (so they can send you updates on similar free e-books).
C programming Style Guide Ebook
C Elements of Style was published by M&T books in 1992. An abbreviated copy of the book is presented here that can be viewed online or downloaded in chapters, each a PDF.
Current C ISO Standard ISO/IEC 9899:TC3 (PDF)
This is the September 2007 Committee Draft with 8 annexes.
Exact Text Matching Algorithms
This is a free e-book from the Computing Labns (Laboratoire d'Informatique ) at the University of Rouen on exact text matching algorithms. Along with the well known Boyer-Moore algorithm there are 35 algorithms, each explained with a function in C and a static or animated example.
Free Object Oriented Programming in ANSI-C Book (in PDF)
Though C is not regarded as an Object Oriented language, this book teaches you the principles of Object Oriented Programming using ANSI-C. The link is to a website where you can download the book in PDF for free.
Graphics Black Book by Michael Abrash
Michael Abrash's classic Graphics Programming Black Book is a compilation of his previous writings on graphics programming (including from his "Graphics Programming" column in Dr. Dobb's Journal). Much of it is on profiling and code testing, plus performance optimization. It also examines much of the technology behind the Doom and Quake 3-D games, and 3-D graphics problems such as texture mapping, hidden surface removal etc.
Handbook of C Programming Style
This links to the downloadable PDF for This is the Nectarine City LLC C Programming Style Guide by Joseph Miklojcik. This is also available in Print form for a nominal sum. The book lays down a programming style to make your C code more readable and understandable, helping you and anyone else who works on your code.
Learn C the Hard Way
This is a book by Zed A Shaw that's available in alpha form online. It's for programmers with skills in one other "scripting" language, or who need to relearn C, Objective-C programmers who want better C skills and people who like a challenge.
Rob Pike's Notes on C Programming
A short set of notes on programming (from 1989) by Rob Pike who is a Canadian Software Engineer now at Google and is one of the Google Go team and co-creator of UTF-8. The rules are succinct and you should always obey rule 6!
The Little Book of Semaphores
This is a 279 page PDF dealing with the problem of synchronization solutions using semaphores in C and Python. A semaphore is a special flag that helps solve synchronization problems in queues, barriers, mutexes and others. Written by Allen B. Downey it is an excellent and comprehensive introduction and includes three example programs in C.