Booleans

One of the weaknesses of the C language when measured against the newer, trendier programming languages is that it lacks a Boolean type. That is, a variable that’s either one or zero. This issue was addressed with the C99 standard and its addition of the underscore _Bool data type. It’s furthered in the C23 standard with the (better) bool type as well as the true and false keywords available in just about every other programming language used today. It’s time for a deep dive into the binary pool of bool.
Continue reading →

Creating Your Own Library

Anyone who’s programmed in C for a while has worked with other libraries. In Linux, it’s common to link in the math library, libm.a. Other libraries are available to expand what the C language can do. I have books available on Ncurses, curl, XML and JSON, each of which has a library that makes it easy to use these powerful utilities. But what about making your own library?
Continue reading →