Try out c code online: T-Snippet | godbolt | cplayground | GDB Online
- C Standards
- C Working Group WG14 Docs
- C99
- C11
- C23 (final draft 2022)
- POSIX.1-2017 (opengroup.org)
C Reference Manual (Dennis M. Ritchie) - PDF
- C Programming: A Modern Approach, Second Edition(2008) - K. N. King
- C Primer Plus, 6th Edition(2014) - Stephen Prata
- Beej's Guide to C Programming (updated 2021)
- C programming tutorial
- Stanford CS
- Essential C - Nick Parlante (pdf, 2003)
- Pointers and Memory - Nick Parlante (pdf, 2000)
- Linked list basics - N. Parlante (pdf, 2001)
- Binary Trees - N. Parlante (html)
- comp.lang.c
- A tutorial on pointers and arrays in c Ted Jensen (pdf, 2003)
- How to properly use macros in C by Preslav Mihaylov
- The C Library Reference Guide by Eric Huss (1997)
- Notes, examples - Data Structures and Algorithms implementations in C
- How to implement a hash table in c Ben Hoyt (2021)
- Hash tables (from Crafting Interpreters, 2020) by Bob Nystrom
- A Regular Expression Matcher Brian Kernighan, code by Rob Pike
- A simple Makefile tutorial
- Another Makefile tutorial.
- A tutorial on portable Makefiles by Chris Wellons (nullprogram.com, 2017)
- Right-left rule deciphering c declaration
- Make a text editor - tutorial | code
- SDL tutorial
- Dan Gookin
- Inside the C Standard Library - Begriffs(2019)
- POSIX Threads Programming
- Microsoft - C language documentation - Learn to use C and the C runtime library. | PDF
Writing safe c code
- SEI CERT C Coding Standard
- Felix Palmen - A beginners guide away from scanf()
- John Regehr - A Guide to Undefined Behavior in C and C++
- Chris Lattner - What Every C Programmer Should Know About Undefined Behavior
- Seventeen steps to safer c - Thomas Honold
- Writing safer C code (github.com)
- Summary of C/C++ integer rules (nayuki.io)
- Everything I wish I knew when learning C (tmewett.com)
Online courses
- CPSC223 - Data Structures and Programming Techniques - PDF/HTML (2021)
- CS241 - System programming - linux/unix (2021)
- CS631 - APUE, Advanced Programming in the UNIX Environment (2020-2021)
Videos
- Study C (based on CS50)
- C tutorial Ashley Mills (2015 - youtube.com) source code on github
- Intro to C on Windows handmadehero
- Modern C and What We Can Learn From It - Luca Sas (ACCU 2021)
- Introduction to GDB
- CS50 Tutorial
- Jacob Sorber - GDB tutorial 1
- Jacob Sorber - GDB tutorial 2
- Data Structures CS50 (2017 - youtube.com)
- Linked Lists
- CS50 example 1 (2017 - youtube.com)
- CS50 example 2 (2017 - youtube.com)
- Jacob Sorber (2019 - youtube.com)
- Hash Tables
- Example 1 - CS50 (2018 - youtube.com)
- Example 2 - Jacob Sorber (2020 - youtube.com)
- Embedded Systems Programming - how to program embedded microcontrollers (MCUs) in C (2013 - youtube.com)
- Advaced Programming in the Unix Environment - video (2020-2021 youtube.com)
- "Making a game from scratch in C"- Ryan Ries, an excelent tutorial on how to program in C on Windows (started 2020 - youtube.com)
- Brian Kernighan interview by Lex Fridman (History of C, July 2020, youtube.com)
- Jacob Sorber channel on youtube.com
- OpenBSD libc
- musl-libc
- glibc
- gnu-coreutils
- curl/libcurl
- Rosettacode
- cat implemented in different os (on github)/ gist
String libraries example
- String functions from glib
- https://github.com/intel/safestringlib
- https://github.com/rurban/safeclib
- https://github.com/mpedrero/safeString
- https://github.com/antirez/sds
- https://github.com/maxim2266/str
- https://github.com/xyproto/egcc
- https://github.com/composer927/stringstruct
- https://github.com/c-factory/strings
- https://github.com/cavaliercoder/c-stringbuilder
- Awesome-c
- Project base tutorials
- C as a scripting language
- C Template Library
Practice, practice, practice ...