Skip to content

c_useful_resources

The following resources contain additional information on C programming. Use them to deepen your understanding and explore specific topics.

  • cppreference.com (C Section): https://en.cppreference.com/w/c - An excellent and comprehensive reference for the C language standard library, keywords, and concepts. Highly recommended.
  • C Standard Drafts: WG14 N3096 (C23 Draft), WG14 N2596 (C17/C18 Final Draft) - Direct access to the working group documents defining the C language. Can be technical but authoritative.
  • GNU C Library Manual: https://www.gnu.org/software/libc/manual/ - Detailed documentation for the glibc library, commonly used on Linux systems.
  • Compiler Documentation: Refer to the official documentation for your chosen compiler (GCC, Clang, MSVC) for compiler-specific options, extensions, and details.
  • Compiler Explorer: https://godbolt.org/ - Interactively see the assembly output generated by various compilers for your C code. Great for understanding optimization.
  • Debuggers: Learn to use a debugger like GDB (GNU Debugger) or LLDB (LLVM Debugger), or the integrated debugger in your IDE. Essential for finding and fixing bugs.
  • Build Systems: For larger projects, learn build automation tools like Make, CMake, or Meson. They manage the compilation and linking process.
  • Valgrind: https://valgrind.org/ - A powerful tool (primarily Linux/macOS) for memory debugging, leak detection, and profiling.
  • Static Analysis Tools: Tools like Clang Static Analyzer, Cppcheck, or PVS-Studio can automatically detect potential bugs and style issues in your code.
  • “The C Programming Language” (2nd Edition) by Brian W. Kernighan and Dennis M. Ritchie (K&R): The classic, seminal book. A bit dated regarding modern standards but foundational.
  • “C Programming: A Modern Approach” (2nd Edition) by K. N. King: Widely regarded as one of the best modern textbooks for learning C (covers C99). Clear, comprehensive, and well-structured.
  • “Effective C: An Introduction to Professional C Programming” by Robert C. Seacord: Focuses on best practices, security, and writing robust C code (covers C11/C17). Suitable for those with some C basics.
  • “21st Century C: C Tips from the New School” by Ben Klemens: Explores modern C development practices, tooling, and libraries.