NULL
Defined in header <stddef.h>
|
||
---|---|---|
Defined in header <string.h>
|
||
Defined in header <wchar.h>
|
||
Defined in header <time.h>
|
||
Defined in header <locale.h>
|
||
Defined in header <stdio.h>
|
||
Defined in header <stdlib.h>
|
||
|
The macro NULL
is an implementation-defined null pointer constant, which may be.
- an integer constant expression with the value
0
- an integer constant expression with the value 0 cast to the type
void*
A null pointer constant may be converted to any pointer type; such conversion results in the null pointer value of that type.
Possible implementation
|
Example
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
// any kind of pointer can be set to NULL
int* p = NULL;
struct S *s = NULL;
void(*f)(int, double) = NULL;
// many pointer-returning functions use null pointers to indicate error
char *ptr = malloc(10);
if (ptr == NULL) printf("Out of memory");
free(ptr);
}
See also
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/c/types/NULL