C99 and C11 Features You Should Actually Be Using
Learn the C99 and C11 features that improve everyday code: designated initializers, compound literals, stdint.h, _Bool, _Generic, and atomic operations.
Read articleArchive
Learn the C99 and C11 features that improve everyday code: designated initializers, compound literals, stdint.h, _Bool, _Generic, and atomic operations.
Read articleLearn how void pointers work in C, how to write generic functions and data structures, and the rules for casting, alignment, and type safety.
Read articleLearn how to implement a stack data structure in C using a dynamic array. Push, pop, peek, and error handling with a growable implementation.
Read articleLearn why atoi cannot detect errors, how strtol provides complete error checking, and the full pattern for converting strings to integers safely in C.
Read articleLearn how to implement a circular buffer (ring buffer) in C. Fixed-size FIFO, head/tail pointers, overflow handling, and thread-safe considerations.
Read articleLearn how realloc works under the hood, when it copies vs extends in place, how to grow dynamic arrays correctly, and the bugs that come from misusing it.
Read articleLearn the C portability traps that cause bugs when moving between Linux, macOS, and Windows. Integer sizes, endianness, type signedness, and compiler differences.
Read article