Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Programming languages

C (C23)

The planned outline of 23 modules. Lessons are written, run and reviewed before they are published.

Coming soon 23 modules

Coming soon. This track is being written. Below is its planned outline: a lesson appears here once its examples have been run and its technical review is signed off.

Planned outline

  1. Module 1

    Getting started: what C is, a compiler and your first program

    Coming soon
  2. Module 2

    Values, types and variables

    Coming soon
  3. Module 3

    Operators and expressions

    Coming soon
  4. Module 4

    Control flow, input and output

    Coming soon
  5. Module 5

    Functions

    Coming soon
  6. Module 6

    Arrays, searching and sorting

    Coming soon
  7. Module 7

    Pointers, part 1: addresses, nullptr, parameters and arithmetic

    Coming soon
  8. Module 8

    Strings and text

    Coming soon
  9. Module 9

    Pointers, part 2: indirection, callbacks, generic code and aliasing

    Coming soon
  10. Module 10

    Structures, unions, enumerations and typedef

    Coming soon
  11. Module 11

    Dynamic memory: the heap, ownership and memory bugs

    Coming soon
  12. Module 12

    Files, errors, the command line, time and sockets

    Coming soon
  13. Module 13

    The preprocessor

    Coming soon
  14. Module 14

    Multi-file programs, linkage, libraries and the ABI

    Coming soon
  15. Module 15

    Build tools: make and CMake, warnings and hardening

    Coming soon
  16. Module 16

    Debugging, undefined behaviour, testing and analysis

    Coming soon
  17. Module 17

    Bits, bytes and data representation

    Coming soon
  18. Module 18

    Data structures in C: memory, pointers and APIs

    Coming soon
  19. Module 19

    Concurrency: C11 threads, mutexes and atomics

    Coming soon
  20. Module 20

    C23 in depth and what comes next (C2y)

    Coming soon
  21. Module 21

    Secure and robust C

    Coming soon
  22. Module 22

    Embedded C on Arm Cortex-M (with QEMU)

    Coming soon
  23. Module 23

    Exams and interviews: C questions done right

    Coming soon

Official documentation

More in Programming languages

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.