C语言:空指针与不指向任何对象的指针的区别
2009-03-18 21:50
197 查看
指针是存储地址的变量。
空指针是初始化为NULL的指针,其指向的状态是确定的。
不指向任何对象的指针是没有初始化的指针,其指向的状态是由编译器来确定的。其状态不能确定。
空指针并不是安全的指针,空指针同样有可能破坏系统的安全性。
我们使用空指针,只是因为其指向NULL这个确定的状态,并且程序员
们约定好不使用其指向的内容。而且编译器,也对引用NULL地址的内容
会报警告。
这里需要清楚的是,空指针确切的指向NULL值,我们可以通过p==NULL来辨认一个指针是否为空;
还有,空指针并不是绝对安全的,同样需要大家小心的使用。
空指针是初始化为NULL的指针,其指向的状态是确定的。
不指向任何对象的指针是没有初始化的指针,其指向的状态是由编译器来确定的。其状态不能确定。
空指针并不是安全的指针,空指针同样有可能破坏系统的安全性。
我们使用空指针,只是因为其指向NULL这个确定的状态,并且程序员
们约定好不使用其指向的内容。而且编译器,也对引用NULL地址的内容
会报警告。
这里需要清楚的是,空指针确切的指向NULL值,我们可以通过p==NULL来辨认一个指针是否为空;
还有,空指针并不是绝对安全的,同样需要大家小心的使用。
相关文章推荐
- c语言中定义结构体指针并指向一片内存空间和直接定义一个结构体变量的区别 Node *p=(Node *)malloc(sizeof(Node)); 和 Node p 两个有什么区别??? Node是一
- 指向const对象的指针 和 const指针的区别
- 指向常量对象的指针 和 常量指针 区别
- C语言——常量指针、指针常量以及指向常量的指针常量三者区别详解
- C语言中字符数组和指向字符数组的指针的区别
- 指向对象的常指针变量与指向常对象的指针变量区别
- 【C++】基类指针可以指向派生类对象,派生类指针不可以指向基类对象
- const int *p和int * const p的区别(常量指针与指向常量的指针)
- 解析C++普通局部变量与指针类型的对象变量的应用区别
- 深入探讨常量、指向常量的指针,常量与变量的区别
- C++ 基类指针指向派生对象/派生类指针指向基类对象
- C++类的对象和类的指针的区别
- 简要说明C语言中指针函数与函数指针的区别
- 数组指针——指向数组首元素和指向数组的区别
- 指向当前对象的this指针
- 第09天C语言(15):指向结构体的指针
- 第09天C语言(07):指向函数的指针-基本概念
- 对象数组+对象指针+指向对象的指针
- C++指向const对象的指针和const指针
- C语言指针/指向指针的指针