"New" Features in C
summary
Many C projects still target C90 but newer standards actually add usable features and important portability traps. C99/C11 introduce fixed-width and "at least" integer types via <stdint.h>, full complex arithmetic and compound literals, and inline functions that require an extern definition in one .c to produce a single non-inline copy. Variable-length arrays become optional in C11 and can make sizeof non-constant, while restrict pointers enable aggressive aliasing optimisations but make overlapping buffers undefined behavior. Flexible array members and designated initializers simplify packed headers and sparse array setup.
AI-written summary · about
chapters (17)
- 0:00Intro
- 1:54C Standards Timeline
- 3:30Undocumented Identifiers
- 5:07Reserved Identifiers
- 9:06Version Detection
- 11:59C99 Features in Common with C++
- 18:20Minimum Width Integer Types
- 20:04Fastest Integer Types
- 22:00Other Extended Integer Types
- 27:01Relaxed Declaration Ordering
- 34:03Inline Functions
- 38:59Complex and Imaginary Types
- 42:27Compound Literals
- 45:23Designated Initializers
- 53:15Flexible Array Members
- 56:15Restricted Pointers
- 58:40Type-Qualified Array Parameters








