I suggest C Interfaces and Implementations: Techniques for Creating Reusable Software by David Hanson.[1] It focuses on helpful engineering practices for reliably and efficiently implementing algorithms in C.<p>I also second the recommendation for Peter van der Linden&#x27;s Expert C Programming for its masterful treatment of how C really functions, including the surprisingly frequent areas in which real-world constructs produce &quot;undefined behavior&quot; from the perspective of the C standard.<p>[1] <a href="http:&#x2F;&#x2F;www.amazon.com&#x2F;Interfaces-Implementations-Techniques-Creating-Reusable&#x2F;dp&#x2F;0201498413" rel="nofollow">http:&#x2F;&#x2F;www.amazon.com&#x2F;Interfaces-Implementations-Techniques-...</a>