首页 > 编程语言 > 详细

C语言和C++语言中关于NULL 的定义

时间:2017-10-09 22:14:20      阅读:297      评论:0      收藏:0      [点我收藏+]
声明一个指针变量并不会自动分配任何内存。
NULL指针就是不指向任何东西的指针。它可以赋值给一个指针,用于表示那个指针并不指向任何职。对NULL指针执行间接访问操作的后果因编译器而异,两个常见的后果分别是返回内存位置零的值以及终止程序。
我声明了一个指针,并赋值为NULL,查看了在VS2013中关于NULL的定义,如下:
/* Define NULL pointer value */
#ifndef NULL
#ifdef __cplusplus
#define NULL    0
#else  /* __cplusplus */
#define NULL    ((void *)0)
#endif  /* __cplusplus */
#endif  /* NULL */
其中包含一些预编译指令。如果前面代码中未定义NULL,那么在C++ 中我定义NULL的值为0,否则为((void *)0);
同时不能对NULL 指针进行解引用。
 

C语言和C++语言中关于NULL 的定义

原文:http://www.cnblogs.com/3120931037cnk/p/7643003.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!