According to Wikipedia,
Void safety is a guarantee within an object-oriented programming language that no object references will have null or void values
That's all good and true, however C is not an object-oriented PL, and the definition only applies to the derefencing of null pointers or references to object instances.
So, is there void safety in C or not? Can the term (or its opposite) even be applicable to describe the language?
Best How To :
No. But nor is there in the C++ (one of the object-oriented programming languages) if you use pointers. C++ references are the things that are supposed to always refer to a real object, pointers can be NULL in both C and C++. You may be able to get dangling references in C++ but, as undefined behaviour, you've broken the rules and all bets are off.
C itself has no references, only pointers, and you don't get that level of protection at all, unless you manually do it yourself:
if (ptr != NULL)
In C, code like:
char *xyzzy = NULL;
char plugh = *xyzzy;
is just asking for trouble but the compiler won't stop you from doing it because it's perfectly legal (though, as for the C++ case, undefined behaviour).