Head First CEver wished you could learn C from a book? Head First C provides a complete learning experience for C and structured imperative programming. With a unique method that goes beyond syntax and how-to manuals, this guide not only teaches you the language, it helps you understand how to be a great programmer. You'll learn key areas such as language basics, pointers and pointer arithmetic, and dynamic memory management. Advanced topics include multi-threading and network programming—topics typically covered on a college-level course. This book also features labs: in-depth projects intended to stretch your abilities, test your new skills, and build confidence. Head First C mimics the style of college-level C courses, making it ideal as an accessible textbook for students. We think your time is too valuable to waste struggling with new concepts. Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First C uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep. |
Contents
Getting Started with C Diving in | 1 |
Memory and Pointers What are you pointing at? | 41 |
Strings String theory | 83 |
Creating Small Tools Do one thing and do it well | 103 |
Using Multiple Source Files Break it down build it up | 157 |
Arduino | 207 |
Structs Unions and Bitfields Roll your own structures | 217 |
Data Structures and Dynamic Memory Building bridges | 267 |
OpenCV | 389 |
Processes and System Calls Breaking boundaries | 397 |
Interprocess Communication Its good to talk | 429 |
Sockets and Networking Theres no place like 127001 | 467 |
Threads Its a parallel world | 501 |
Blasteroids | 523 |
Leftovers The top ten things we didnt cover | 539 |
C Topics Revision roundup | 553 |
Other editions - View all
Common terms and phrases
allocated archive Arduino arguments array variable beers Blasteroids bytes CHAPTER characters child process client command command-line compiler connect const char create Cygwin data stream data type display Dumb Questions dynamic libraries Edit Window Help encrypt.h enum error("Can't exec fgets File Edit Window float fprintf(stderr function pointers geo2json handler header file heap include stdio.h int main Isla Nublar island latitude linked list Linux longitude look loop machine malloc means memory mutex NULL object files OpenCV operating system option parameter piece of data pieces of code pipe pointer variable rssgossip.py scanf server sigaction signal snappy socket source code source files Standard Input Standard Output stdin strerror(errno string literal string.h system call tell telnet TEST DRIVE there's things threads thruster.o tool typedef struct update valgrind variadic functions void waitpid write


