2026-06-17 21:50:33 -04:00
2026-06-17 21:50:33 -04:00
2026-06-17 21:39:58 -04:00
2026-06-17 21:40:29 -04:00

Embedded C Fundamentals

Fundamental C concepts, memory model, pointers, data structures, and embedded programming examples.

Overview

This repository contains notes, explanations, and runnable examples covering fundamental concepts of the C programming language commonly encountered in embedded software development.

The goal is not to teach C from scratch.

Instead, the focus is on understanding how things work under the hood and revisiting language features that are often hidden behind modern C++ abstractions.

Topics are explored through small, self-contained examples that can be compiled, executed, modified, and studied.

Topics

Planned topics include:

  • Memory layout
  • Variables and storage duration
  • Pointers
  • Arrays
  • Strings
  • Structures
  • Dynamic memory allocation
  • Function pointers
  • Linked lists
  • Bit manipulation
  • Volatile
  • Const correctness
  • Undefined behaviour
  • Memory-mapped I/O concepts
  • Common embedded programming patterns
  • Common interview questions

Repository Structure

examples/
notes/
diagrams/
interview_questions/

The structure may evolve as additional material is added.

Philosophy

Understanding C is not about memorizing syntax.

It is about understanding:

  • where data is stored
  • who owns memory
  • how pointers behave
  • what the compiler is allowed to do
  • where undefined behaviour begins

Every topic should be supported by practical examples whenever possible.

Intended Audience

This repository may be useful for:

  • Embedded software engineers
  • Firmware developers
  • C++ developers refreshing C fundamentals
  • Engineers preparing for technical interviews
  • Students interested in low-level programming

Building Examples

Examples are intended to be compiled using standard toolchains available on Linux systems.

Example:

gcc example.c -o example
./example

Individual examples may provide additional build instructions.

License

MIT License

S
Description
No description provided
Readme MIT
30 KiB
0 Stars 1 Watchers 0 Forks