C Odyssey

ISO C spec

@ https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf

Document to be used to make C portable by following an international standard.

The C Programming Language reading notes

@ https://www.hypertext.download/c-programming-language-reading-notes.html

Classic book by the designer of C. Short summary notes as I read through the book, complete exercises, attempt to answer my own questions.

Building a C Compiler

@ https://www.hypertext.download/building-c-compiler.html

Collection of resources regarding designing and building a C compiler.

Build your own redis

@ https://build-your-own.org/redis/

Learn how various coding principles and using C by building a well-known piece of software.

Programming in C

@ http://www.lysator.liu.se/c/

Collection of links to resources for learning about C and the C community.

cpp reference

@ http://cppreference.com/

A reference website for C and C++.

C board

@ https://cboard.cprogramming.com

C programming BBS


@ https://c-faq.com/

Hypertext answers on all kinds of questions asked about C.

C programming wiki book

@ https://en.wikibooks.org/wiki/C_Programming

Community wikibook to learn C. It's OK, not as good as other wikibooks.

Writing a simple 16 bit VM in less than 125 lines of C

@ https://www.andreinc.net/2021/12/01/writing-a-simple-vm-in-less-than-125-lines-of-c

Tutorial to learn how some Virtual Machines work, while learning C. By writing a LC-3 VM.

Write your Own Virtual Machine

@ https://www.jmeiners.com/lc3-vm/

Another LC-3 tutorial for C.

A Brief intro to X11 Programming

@ http://mech.math.msu.su/~vvb/2course/Borisenko/CppProjects/GWindow/xintro.html

Contains the basics necessary to create a single window X program.

Few lesser known tricks, quirks and features of C

@ https://blog.joren.ga/less-known-c

Collection of code examples and explanations on how to do interesting things with C that aren't in many books.

Demystifying bitwise operations

@ https://www.andreinc.net/2023/02/01/demystifying-bitwise-ops

Tutorial for using bitwise operations in C in order to make code more performant.

Advanced Programming in the UNIX Environment

@ https://stevens.netmeister.org/631/

Course for developing complex system-level software in C.

Beej's Guide to C Programming

@ https://beej.us/guide/bgc/html/split/index.html

Hypertext work on C by a well known author of programming guides.


@ https://docs.gtk.org/glib/

Bunch of data structures in C.


@ https://github.com/goodpaul6/Tiny

Language, embeddable compiler, and bytecode interpreter.


@ https://github.com/wren-lang/wren

Small, fast, concurrent scripting language.

Write a shell in C

@ https://brennan.io/2015/01/16/write-a-shell-in-c/

Tutorial for writing a simplistic Unix shell in C.

Tiny C compiler

@ http://www.iro.umontreal.ca/~felipe/IFT2030-Automne2002/Complements/tinyc.c

Compiler for stripped down version of C, to use a learning tool for compilers.