C语言空指针

空指针
定义:不指向任何数据的指针,用NULL表示;

  int *p=NULL;

分析:空指针保证与任何对象或函数的指针值都不相等,也就是说空指针不会指向任何对象或函数的地址;
典型用法:malloc函数,当分配内存失败时就会返回空指针,因而空指针绝对不等同于未初始化的指针。
NULL是一个宏定义,在头文件中表示为

   #define NULL ((void*) 0)

(void*) 0表示将数值0强制转换成void*类型,注意是大写的NULL;
特别需要说明的是在源码中用来表示空指针的空指针常量使用整数0,NULL使p指向地址0,大多数系统都将0作为不被使用的地址,但也有系统会使用地址0,而将NULL定义为其他值,所以NULL不能说等于0,即定义空指针要写成

   int *p=NULL;

而不是

   int *p=0;
发布了208 篇原创文章 · 获赞 182 · 访问量 8640

猜你喜欢

转载自blog.csdn.net/qq_45645641/article/details/105342255