How to structure C code? It appears to reward shallow functions and doing everything in the global scope, whereas other languages let you go as deep as you want at no cost.

This page summarizes the projects mentioned and recommended in the original post on

Our great sponsors
  • Scout APM - Less time debugging, more time building
  • SonarLint - Deliver Cleaner and Safer Code - Right in Your IDE of Choice!
  • SaaSHub - Software Alternatives and Reviews
  • Klib

    A standalone and lightweight C library

    You will probably want to invest some time into either finding a good data structures library (preferable) or writing your own data structures (fine to do but not a good use of your time if you're starting out). You can try SGLIB or klib.

  • STC

    A modern, user friendly, generic, type-safe and fast C99 container library: String, Vector, Sorted and Unordered Map and Set, Deque, Forward List, Smart Pointers, Bitset and Random numbers.

    I have a "templated" intrusive singly linked list (also circular) in my STC library here which uses container_of, if you're interested.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts