Introduction to C Programming Language
Discover why C remains essential for systems programming — its history, design philosophy, …
Installing C Compiler
Install GCC or Clang on Linux, macOS, and Windows — verify your toolchain, choose a C standard, and …
C IDEs and Development Tools
Choose the best editor, IDE, and debugging tools for C development — VS Code, CLion, Vim, gdb, and …
Hello World in C
Write, compile, and run your first C program — understand the translation unit, main function, and …
Variables and Data Types in C
Master C primitive types, type modifiers, constants, literals, and formatted I/O with printf and …
Control Flow in C
Master C conditionals, loops, switch statements, break/continue, and structured control flow …
Functions in C
Define and call C functions, pass by value and by pointer, use recursion, static locals, and …
Arrays and Strings in C
Work with C arrays, multidimensional arrays, null-terminated strings, and string.h library functions …
Pointers in C
Understand C pointers, address-of and dereference operators, pointer arithmetic, null pointers, and …
Structures and Unions in C
Define C structs and unions, use typedef, bit fields, padding, alignment, and nested composite …
File I/O in C
Read and write files in C using fopen, fprintf, fscanf, fread, fwrite, and proper resource cleanup.
Dynamic Memory in C
Allocate and free heap memory with malloc, calloc, realloc, and free — avoid leaks, double-free, and …
Preprocessor and Macros in C
Use the C preprocessor for #define macros, conditional compilation, include guards, and compile-time …
Makefiles and Multi-file Projects
Organize C projects across multiple source files and automate builds with Make, Makefiles, and …
Systems Programming in C
Low-level C systems programming — POSIX APIs, process management, signals, file descriptors, and …
Debugging C Programs
Master GDB, AddressSanitizer, Valgrind, and systematic debugging techniques for C memory and logic …
Network Programming in C
Build TCP/UDP clients and servers in C using BSD sockets — connect, bind, listen, accept, and …
Embedded C Programming
Write C for microcontrollers — registers, volatile, interrupts, memory-mapped I/O, and bare-metal …