在C语言程序中,经常看到NULL赋值给指针变量,如下:
1 示例
char *str = NULL;
解释:定义了一个指向char类型的指针变量,赋值NULL。赋值NULL的意思就是,此指针变量不指向任何地址。
作用1:若指针变量定义时候没有赋值,在某些编译器中会出错,发生程序混乱
作用2:若没有赋值,某些编译器会出现警告,赋值NULL可以去警告
作用3:指针变量初始化,不初始化容易埋下隐患!
2 示例 //可以用来检测指针变量是否分配了地址(malloc函数),或者检测内存是否释放(free函数)。
if( ptr == NULL) //检测指针变量是否为空地址
{
//code
}
或者 if(ptr != NULL)