C++中null与0的区别
来源:互联网 发布:网络彩票代理合法吗 编辑:程序博客网 时间:2024/05/22 04:51
0是一个数字,本身有着一些原生的特性诸如:起始,没有,正负的分界线,0/1中的0还可以表示否定。 NULL用于将指针指定为空指针,也就是说该指针不指向任何对象,不可以对该指针进行解引用,否则系统会报错。 很巧合并且可能令人迷惑的是,在Windows环境下,NULL正好被定义为0,对于Windows程序,将指针初始化为0或NULL的作用是相同的,都使指针无效。这是因为Windows的内存管理将0x00000000地址设为无效内存,不允许代码对它进行读写。仅仅微软的一个定义,令不少人误以为NULL和0有着天生的紧密关系,这显然是一个历史的误区。 既然设计NULL是为了满足将指针规定为无效的逻辑上的功能,那么假如某个系统指定无效内存地址为0x20000000,那么基于这个系统的编译器就很有可能将NULL定义为0x20000000,这时0和NULL就不能等同了。 千万记住,0以及其他所有数字在编程中仅仅是一个常量,并不一定具有某一逻辑上的功能。
0 0
- C/C++中NULL与0的区别
- C/C++_中NULL与空字符串的区别
- C++中null与0的区别
- Objective-C中NULL与nil的区别
- c++中NULL,null,"",\0的区别
- C 空指针(NULL)与0的区别
- C ++中的NULL与nullptr的区别
- C/C++语言中NULL、'\0’和0的区别
- c和c++中NULL和0的区别
- C和C++中NULL和0的区别
- c和c++中NULL和0的区别
- c和c++中NULL和0的区别
- c和c++中NULL和0的区别
- c和c++中NULL和0的区别?!
- '\0'与NULL的区别
- php中0与空 Null false的区别
- PHP中0与空 Null false的区别
- MySql中IS NOT NULL与!=NULL的区别
- 如何利用链接诱饵来为网站获取强大的流量?
- hdu 1007
- Unity3d教程游戏目标 (GameObjects)停用游戏目标 (GameObjects)
- 简单利用触发器监控表记录的更改
- 重载、覆盖和隐藏
- C++中null与0的区别
- 解决远程访问mysql时变慢
- DAO层,Service层,Controller层、View层
- unity3d教程游戏目标 (GameObject) 和组件 (Component) 的联系
- ios开发中view.layer.shouldRasterize = YES 的使用说明
- socket阻塞与非阻塞,同步与异步、I/O模型
- MAC OSX Chrome Jsonviewer 插件中文乱码问题解决方法
- 笔试题之二进制输出两数相加
- 关于sqlserver字符类型查询条件区分大小写