NULL
NULL
在头文件 | | |
---|---|---|
在头文件<string.h>中定义 | | |
在头文件<wchar.h>中定义 | | |
在头文件<time.h>中定义 | | |
在头文件<locale.h>中定义 | | |
在头文件<stdio.h>中定义 | | |
在头文件<stdlib.h>中定义 | | |
#define NULL / *实现定义* / | | |
宏NULL是一个实现定义的空指针常量,可能是这样的。
- 一个整数常量表达式,值为0
空指针常量可以转换为任何指针类型; 这种转换会导致该类型的空指针值。
可能的实施
| // C ++ compatible:#define NULL 0 // C ++不兼容:#define NULL(10 * 2 - 20)#define NULL((void *)0)|
|:----|
例
#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
}
可能的输出:
(none)
扩展内容
| 用于NULL的C ++文档 |
|:----|