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