Links on C and UNIX

Programming on a Unix System

The Missing Semester of Your CS Education
This MIT elective lecture the introduces students to various topics that are not traditionally part of a computer science curriculum, and that students would have to acquire on their own. If you have the time, take a look at Introduction to the Shell, Development Environment and Tools or Debugging and Profiling.
The website explainshell.com
If you are not yet familiar with how to use a Shell (the program that interprets the commands you type into a terminal emulator), you might stumble upon cryptic looking commands from time to time. This website tries to parse these commands for you; instead of executing them, it generates a description of the meaning of each command and arguments are.
The intro(1) man page
If you ever need an introduction to how to use a Unix-CLI, you can take a look at this manual page. It should be installed, and even available offline by typing
$ man intro
in your terminal emulator (note that the $ is the shell prompt, do not copy this!).

Programming with C

The C Programming Language Homepage
This official site is a nice hub for useful links pertaining to C (such as the standards), including a collection of useful tools for working with C
The book Modern C
A nice introduction and refresher to C. Compared to many other books, Jens Gustedt does a good job at demonstrating how post-ANSI C features can be used to improve code quality. A number of takeaways are scattered throughout the book, which makes it worthwhile to even just skim.
The website cdecl:
If you have difficulties parsing declarations in C, or cannot recall the spiral rule, this website can help you translate C syntax into a quasi-prose description in English.
The operator(7) man page
If you are ever uncertain about the precedence of operators in C, you can look them up in this man page. Note, you probably have this already installed on your system, you can read it by typing man 7 operator in your shell.