C

Definition

C is a compiled, imperative programming language designed for systems programming. Created by Dennis Ritchie at Bell Labs in 1972, it is the foundation of modern computing — the linux kernel, unix, and most system software are written in C.

Key Details

  • Paradigm: Imperative, procedural, compiled
  • Standardization: ISO/IEC 9899 (C23 is the latest standard, published 2023)
  • Memory model: Manual memory management (malloc/free), direct hardware access
  • Pointer arithmetic: Low-level memory manipulation capability
  • Portability: Compiles to machine code for virtually every architecture

Language Standards

Standard Year Key Features
K&R C 1978 Original (pre-standard)
C89/C90 1989 First ISO standard
C95 1995 Wide characters, ellipsis
C99 1999 Inline, VLAs, // comments, restrict
C11 2011 Threads, atomic, _Generic, static asserts
C17/C18 2018 Bug fixes, no new features
C23 2023 typeof, let statements, binary literals, [_] attributes

Compiler Implementations

Compiler License Notes
GCC (gcc) GPLv3 + GCC Runtime Most widely used
Clang/LLVM Apache 2.0 + MIT Apple default, fast compilation
MSVC (cl) Commercial Windows default
Intel ICC/ifx Commercial Optimized for Intel hardware

Use Cases

  • Operating systems (Linux, Windows, macOS kernels)
  • Embedded systems and IoT
  • Device drivers
  • Compilers and interpreters
  • High-performance libraries
  • Game engines

Influence