//来源:公众号【编程珠玑】 博客:https://www.yanbinghu.com//null.c#include<stdio.h>intmain(void){
int a = NULL;
printf("%p\n",a);
return0;
}
我们编译它:
$ gcc -o null null.c
null.c: In function ‘main’:
null.c:14:10: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
int a = NULL;
^
它给了我们一个警告,提示尝试将指针转换为整数。这也就正验证了我们前面的说法。
实际上NULL通常是如下定义:
#define NULL (void*)0
所以,如果要给一个指针类型初始化,那么你给它一个NULL,使得能够明显的看到这是一个指正。
当然,在C++中,你更应该使用nullptr,而不是NULL。
'\0'
我们都知道\是转义符,用单引号包起来,再加转义,实际上就是0,只不过它表示的是字符。就向下面这样:
//来源:公众号【编程珠玑】 博客:https://www.yanbinghu.com//nul.c#include<stdio.h>intmain(void){
char a = '\0';
char b = '0';
printf("a = %d,b = %d\n",a,b);
return0;
}