Single field structures in C and their use in Objective-C

Mike Ash on type-safe scalars with single-field structs:

The C type system is fairly weak, and the common technique of using typedef to produce new type names makes it easy to mix up values of different conceptual types in code. The struct keyword creates an entirely new type which can be used to avoid this, allowing the compiler to enforce the difference between your types.