A pointer variable should always have an assigned value. Its value should never be unknown. However, there are times when a proper address cannot be assigned or the desired address is currently unknown. For these instances, there is a constant NULLpointer. This value is defined in stddef.h and represents a value of 0. It is defined as follows:
#define NULL ((void*)0)
Here, (void*) specifies a pointer to the voidtype. Thevoidtype represents no type—a type that is unknown or a non-existent value. You cannot assign a variable to have the voidtype, but a function can returnvoid(nothing). As we have already seen, functions with thevoidreturn type don't return anything.