码迷,mamicode.com
首页 > 编程语言 > 详细

c/c++中空指针,空指针常量,NULL

时间:2015-05-19 21:01:38      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:c   c++   

如何是一个指针变量成为空指针:
如果 p 是一个指针变量,则 p = 0;、p = 0L;、p = ‘\0’;、p = 3 - 3;、p = 0 * 17; 中的任何一种赋值操作之后(对于 C 来说还可以是 p = (void*)0;), p 都成为一个空指针,由系统保证空指针不指向任何实际的对象或者函数。
NULL: 是一个标准规定的宏定义,用来表示空指针常量。用 p = NULL; 来使 p 成为一个空指针。
空指针的判断:指针变量 p 是空指针的判断:
if ( p == 0 )
if ( p == ‘\0’ )
if ( p == 3 - 3 )
if ( p == NULL ) /* 使用 NULL 必须包含相应的标准库的头文件 */
if ( NULL == p )
if ( !p ) <—————(这里和下面的if(p)都被专门说过一次,null定义不一定是0.这里如果贸然使用!p会很危险的.所以这种写法不能被提倡)

指针变量 p 不是空指针的判断:
if ( p != 0 )
if ( p != ‘\0’ )
if ( p != 3 - 3 )
if ( p != NULL ) /* 使用 NULL 必须包含相应的标准库的头文件 */
if ( NULL != p )
if ( p )
if ( p != q )

c/c++中空指针,空指针常量,NULL

标签:c   c++   

原文地址:http://blog.csdn.net/cpp12341234/article/details/45848985

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!