In C, NULL
is a special reserved pointer value that does not point to any
valid data object. It is typically defined as an integer constant expression
with the value 0, or such an expression cast to type void *
. When a null
pointer constant is converted to a pointer type, the resulting pointer, called
a null pointer, is guaranteed to compare unequal to a pointer to any object or
function
. It is commonly used to initialize a pointer variable when the pointer variable hasn't been assigned any valid value, and to check if a pointer is null using the equality operator (==)
. For example:
c
int *ptr = NULL;
if (ptr == NULL) {
// pointer is null
}
The null character '\0'
is a single character that evaluates to 0 and is
used to denote the end of a string in C. This is different from the null
pointer NULL
. In summary, NULL
in C is a reserved pointer value that represents a null
pointer, while '\0'
is a null character used to terminate strings