Hey all, postmodern here, the person who gave that Real-world lessons writing Crystal C Bindings talk. When you start writing Crystal Bindings you are essentially reading a C header file and translating it’s C typedefs, structs/unions, and function signatures into the Crystal equivalents; not writing actual C programs. So you really only need to know C’s data types, how to read pointers, and how to read basic C #macros. Thankfully, Crystal provides most all of C’s primitives, so you’re probably already familiar with ints vs. uints, static arrays, double arrays, enums, structs vs. unions, pointers, etc. Any old C tutorial that covers C data types or book should be sufficient.
For reference, I first learned the basics of ANSI C via one of those “C: The Complete Reference” books, which covers the basics then goes into the stdlib. Later in university I had to use the famous K&R “C Programming Language” book, who’s preferred C syntax is kind of uncommon now days.