What's Next?

Congratulations

You have completed all 18 lessons. You now have a solid foundation in C: variables, types, control flow, switch statements, enums, bitwise operators, functions, arrays, strings, pointers, and structs.

That is a real accomplishment. C is not easy, and understanding it gives you a deep appreciation for how software works at the system level.

What to Explore Next

Here are topics to dive deeper into:

  • Dynamic memory allocation -- malloc, free, calloc, realloc for heap-allocated memory.
  • File I/O -- fopen, fread, fwrite, fprintf for reading and writing files.
  • Preprocessor -- #define, #ifdef, #include for compile-time configuration.
  • Linked lists -- Build dynamic data structures with structs and pointers.
  • Header files -- Organize larger programs across multiple files.
  • Makefiles -- Build systems for C projects.

Build Something

The best way to learn is to build. Some project ideas:

  • A command-line calculator -- parse and evaluate arithmetic expressions
  • A linked list library -- insert, delete, search, and sort operations
  • A simple shell -- read commands, fork processes, and execute programs
  • A memory allocator -- implement your own malloc and free

References

  • The C Programming Language by Brian Kernighan and Dennis Ritchie (Prentice Hall, 1988) -- the definitive C book, still relevant today.
  • C Reference -- comprehensive online reference for the C standard library.
  • Beej's Guide to C Programming -- free online guide, well-written and practical.
  • Modern C by Jens Gustedt -- a modern take on C programming.
  • CS:APP -- Computer Systems: A Programmer's Perspective covers how C maps to machine code.
← Previous