Overview
Explore the evolution of C programming language standards and their "new" features in this comprehensive conference talk. Delve into the progression from C90 to C99, C11, and C18, examining why many programmers still predominantly use C90 with some C99 elements. Learn about key additions such as inline functions, complex arithmetic, extended integer types, variable-length arrays, flexible array members, compound literals, designated initializers, restricted pointers, type-qualified array parameters, anonymous structures and unions, alignment support, non-returning functions, and static assertions. Gain insights into undocumented identifiers, reserved identifiers, version detection, and features shared between C99 and C++. Discover the practical applications of minimum width integer types, fastest integer types, and other extended integer types. Understand the benefits of relaxed declaration ordering and how to leverage these advancements in your C programming projects.
Syllabus
Intro
C Standards Timeline
Undocumented Identifiers
Reserved Identifiers
Version Detection
C99 Features in Common with C++
Minimum Width Integer Types
Fastest Integer Types
Other Extended Integer Types
Relaxed Declaration Ordering
Inline Functions
Complex and Imaginary Types
Compound Literals
Designated Initializers
Flexible Array Members
Restricted Pointers
Type-Qualified Array Parameters
Taught by
NDC Conferences