Skip to content
Laviyx Learn

Try

Learn C

Learn C from your first program to pointers, dynamic memory and data structures. Every lesson explains one idea in plain language and shows complete programs with their real output, and most lessons end with an exercise so you learn by doing.

Your progress0 / 47 lessons

Progress is saved in this browser. Accounts are coming later.

Lessons available
47
In the full course
47
  • Beginner

    Start from zero. No experience needed.

  • Intermediate

    Combine ideas to solve real problems.

  • Advanced

    The techniques used in professional work.

Course syllabus

All 47 lessons are available. Start anywhere, or follow the parts in order.

  1. Part 1 · Beginner

    C Fundamentals

    Install a C compiler, write your first program, and learn how values, variables, types and input and output work.

  2. Part 2 · Beginner

    Control Flow

    Make decisions with conditions and repeat work with loops.

  3. Part 3 · Beginner

    Functions

    Organize code into functions, understand pass by value, scope and storage classes, and recursion.

  4. Part 4 · Beginner

    Arrays and Strings

    Store collections of values in arrays and work with text as null-terminated strings.

  5. Part 5 · Intermediate

    Pointers

    Understand addresses and pointers, pointer arithmetic, how arrays and pointers relate, and pointers to functions.

  6. Part 6 · Intermediate

    Memory Management

    Allocate memory at runtime, and find and avoid the memory bugs C is famous for.

  7. Part 7 · Intermediate

    Structures and Data Structures

    Group data with structs, unions and enums, then build linked lists, stacks and queues.

  8. Part 8 · Advanced

    Advanced C

    Files, the preprocessor, multi-file programs, bitwise operations, command-line arguments, error handling and undefined behaviour.

  9. Part 9 · Intermediate

    C Interview Preparation

    Questions and coding problems asked in C, embedded and systems programming interviews.

Keep going with C

Become a Better Programmer

Get new tutorials, coding challenges, and cheat sheets.

No spam. Unsubscribe any time.