今天看下关于'0' 0 NULL '\0'一点小结及他们之间的区别.
在C语言中,NULL和0的值都是一样的,但是为了目的和用途及容易识别的原因,NULL用于指针和对象
NULL: 指的是 宏常量(#define NULL 0)或(void *)0(空指针),多用于后者,来指示一个指针为空;
int *p = NULL;
printf("%d\n", p); //0
printf("%s\n", p); //<NULL>
printf("%d\n", NULL == 0); //1
printf("%d", '\0' == 0); //1
'0' :只表示字符'0',并无其他特殊作用
0: 只表示数值0。
'\0': 使用'\0',它的值也是0,但是让人一看就知道这是字符串的结尾