Clearing up misconceptions about copyright.
While “int” is typically used as the default integer type, it’s often not the most appropriate.
A description of the "restrict" keyword in C.
All about inline functions in C and C++.
A careful reading of the C or C++ grammar will reveal that the switch statement can be used in some odd ways.
The proper way to create and include header files in either C or C++.
A few questions I’d ask a candidate during an interview for a job programming in C++.
A few questions I’d ask a candidate during an interview for a job programming in C.
How to implement a generic SWAP() macro in C.
How to make your program wait on start-up for a debugger to attach.
A programmer’s nerdy interest in sundials.
Given an integral expression, how to cast it to an unsigned type of the same size.
How to declare and implement functions with a variable number of parameters in C++.
How to declare and implement functions with a variable number of parameters in C.
Implementing custom stream manipulators in C++.
How to declare multiple variables in a for-loop initialization clause.
How I DIY’d my own home security camera system.
A description of compound literals in C.
After tinkering with computers for 45 years, here’s my advice for a career in software development.
A description of unions in C++, their uses, how they differ from unions in C, and std::variant, C++’s type-safe alternative.
A retrospective of my tinkering with computers for 45 years.
Descriptions of const and the new constexpr in C23, and when to use which.
Using assert() in C & C++ for less buggy code.
A description of the typeof and typeof_unqual keywords in C23.
A description of _Generic in C11 to do compile-time type introspection.
A update on cdecl, including its new macro-expandsion feature.
A set of C/C++ preprocessor macros that are useful is most any program.
The weird language of the C/C++ preprocessor macros.