int *p=0 与 int *p=NULL 的区别?

来源:互联网 发布:php 权限管理框架 编辑:程序博客网 时间:2024/05/21 13:59

转自:http://bbs.csdn.net/topics/30446998

一般头文件中有 #define NULL 0

请看NULL的定义:
#if !defined(__cplusplus)
#define NULL ((void*)0)
#else
#define NULL 0
#endif
形式不同,一个是整型,一个是指针,但本质应该是一样的。

以下是C++一教材的解释:
指针应在声明时或在赋值语句中初始化。指针可以初始化为0、NULL或—个地址。数值为0或NULL的指针不指任何内容。NULL是头文件<iostream.h>(和另外几个标准库头文件)中定义的符号化常量。将指针初始化为NULL等于将指针初始化为0,但C++中优先选择0。指定0时,它变为指针的相应类型。数值0是惟一可以不将整数转换为指针类型而直接赋给指针变量的整数值。


原创粉丝点击