Resources
books
- Beej's Guide to Network Programming ~ Brian "Beej Jorgensen" Hall
- C Programming: A Modern Approach ~ K. N. King
- C Programming FAQs: Frequently Asked Questions ~ Steve Summit
- Compiler Design in C ~ Allen I. Holub
- Effective C: An Introduction to Professional C Programming ~ Robert C. Seacord
- Modern C ~ Jens Gustedt
- Secure Coding in C and C++ ~ Robert C. Seacord
- The C Book ~ Mike Banahan, Declan Brady, Mark Doran
- The C Programming Language, 2nd ed. ~ Brian Kernighan, Dennis Ritchie
- Writing a C Compiler ~ Nora Sandler
guidelines
humour, art
- Bits in the C poem
- C Hacker in Paradise song
only lyrics - C Humor - Softpanorama
- Coding In C song
only lyrics - Have a donut. – a1k0n.net
- Naval Applications of the C Programming Language song
- Obfuscated C Code
- Program in C song
lyrics by Twitter user @Cinememer - The Ten Commandments for C Programmers (Annotated Edition)
- Write in C song
journals, zines
derivative standards
- ISO/IEC TR 18037:2008
Embedded C - POSIX C
discussions, Q&A
- Are there three types of array memory allocation?
- Can C syntax define a self-contained, statically allocated, totally const data structure with backward and forward references (pointers)?
- Does C require to be compiled on a computer that uses the Von Neumann architecture?
- ITT: Make Up Awful Extensions to the C Language
- Macro definition to determine big endian or little endian machine?
- What and where are the stack and heap?
- What Could Go Wrong If You Mix C Compilers
- What is the strict aliasing rule? And why does it help with optimisation? How should I do type punning "safely"?
- Why is
while(!feof(file))
always wrong?
papers, articles
- An empirical analysis of C preprocessor use
- A beginners' guide away from
scanf()
- Best C language textbooks - Softpanorama
- Clockwise/Spiral Rule
- CompCertS: A Memory-Aware Verified C Compiler using Pointer as Integer Semantics
- Dynamic linking best practices
- Energy Efficiency across Programming Languages
- GOTOphobia considered harmful
- How can C Programs be so Reliable?
- How Do I Declare a Function Pointer in C?
- How I cut GTA Online loading times by 70%
- Lesser known tricks, quirks and features of C
- Massacring C Pointers
- The 0xC days of Christmas
- The Development of the C Language by Dennis Ritchie
- The Evolution of C Programming Practices: A Study of the Unix Operating System 1973–2015
- Undefined behavior, and the Sledgehammer Principle
- What every programmer should know about memory, Part 1
revisions, history
- "A damn stupid thing to do" – the origins of C - Ars Technica
- C standardisation:ISO - clc-wiki
- History of C - cppreference.com
- The Development of the C Language by Dennis Ritchie
- The Standard - Wiki of #C on Libera
- Where can one find the C89/C90 standards in PDF format? - Stack Overflow
- Where do I find the current C or C++ standard documents? - Stack Overflow
- B
- Users' Reference to B
by Ken Thompson - A Tutorial Introduction to the Language B
by Brian Kernighan - User's Reference to B on MH-TSS
by Steve Johnson
- Users' Reference to B
- pre-K&R C
- K&R C
- C89
ANSI C - C90
- C95
N325- A brief description of Normative Addendum 1
by Clive D.W. Feather - ISO C Amendment 1 (MSE)
- C99
- N843
draft from before FCD ballot N869archived by Unicals Group N949C99 + TC1 - N1124
C99 + TC1,TC2 - N1256
C99 + TC1,TC2,TC3 - Technical Corrigendum 1
- Technical Corrigendum 2
- Technical Corrigendum 3
- C99RationaleV5.10
- N843
- C11
- C17
N2176- N2310
- C23
tutorials, courses
- A gentle introduction to static analyzers for C
- C Tutorial - Learn C - Cprogramming.com
- Intro to C on Windows — Handmade Hero
- Structures in C: From Basics to Memory Alignment – Abstract Expression
- Tips for stable and portable software
- Tired of being called a dummy? - C For Smarties
- Tutorial: Polymorphism in C | by Christopher Bazley
- Writing a Simple Garbage Collector in C
videos, lectures
- "C" Programming Language: Brian Kernighan - Computerphile
- Advanced C: The UB and optimizations that trick good programmers.
- Brian Kernighan - C and C++ at Bell Labs
- Brian Kernighan on successful language design
- Comparing C to machine language
- Elements of Programming Style - Brian Kernighan
- How I program C by Eskil Steenberg
- Jacob Sorber - YouTube
- Why C is so Influential - Computerphile
webpages, blogs
wikis, references
- Articles linking to Template:C programming language on Wikipedia
- C reference - cppreference.com
- Cee Language on WikiWikiWeb
- clc-wiki by comp.lang.c
- CS50 Manual Pages
- GNU C Language Intro and Reference Manual
- OSDev.org
- Pre-defined C/C++ Compiler Macros
- The C Library Reference Guide
by Eric Huss, 1997 - Wiki by #C on Freenode and Libera
More lists of ...
books
Q&A, FAQ
- C gotchas - Wiki of #C on Libera
- C Information Bulletin # 1
N261; mirror - comp.lang.c Frequently Asked Questions
- FAQ - Cprogramming.com
- How to mix C and C++, C++ FAQ
- Infrequently Asked Questions in comp.lang.c
humorous - Tech Talk About C++ and C / Comeau C++ and C FAQ
- Tech Talk About C99 / Comeau C99 FAQ
tools
compilers
- BaseMax/AwesomeCompiler - GitHub
- C Cross Compilers - The EE Compendium
- C Programming/C Compilers Reference List - Wikibooks
- C resources:Compilers - clc-wiki
- C/C++ compilers - Black Duck Documentation Portal
- Category:C (programming language) compilers - Wikipedia
- Compiler Explorer
- Free C / C++ Compilers and Interpreters (thefreecountry.com)
- List of C Compilers (As early as 1973 and with the latest one at 2017) - OpenGenus IQ
- List of compilers - Wikipedia
- Small, lesser known C compilers - a list : r/Cprog
linters, analyzers
reverse engineering
misc.
- 'Source code reading' related sites
- C resources:Parsing tools - clc-wiki
- Catalog of compilers: C
bit misleading title; list has other tools too - Comparison of documentation generators
- List of build automation software - Wikipedia
- List of debuggers - Wikipedia