> For the complete documentation index, see [llms.txt](https://isubasinghe.gitbook.io/isithas-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://isubasinghe.gitbook.io/isithas-wiki/software_engineering/languages/c.md).

# C

## Basic idea

A small, low-level imperative language (Ritchie, 1972) that maps directly onto the abstract machine of a typical CPU. Manual memory, weak static typing, no runtime — still the *lingua franca* of systems programming.

## Key facts

* Year / creator: 1972, Dennis Ritchie at Bell Labs.
* Paradigm: imperative, procedural.
* Typing: static, weak (implicit conversions, casts).
* Memory: manual (`malloc` / `free`); undefined behaviour on misuse.
* Standardised: ANSI C (C89), C99, C11, C17, C23.
