龙空技术网

C/C++编程笔记:详解三种指针(悬空指针、空指针和野指针)

C语言编程 520

前言:

此刻姐妹们对“c语言指针编程题经典”都比较珍视,你们都想要知道一些“c语言指针编程题经典”的相关内容。那么小编也在网摘上搜集了一些对于“c语言指针编程题经典””的相关资讯,希望大家能喜欢,姐妹们快快来学习一下吧!

悬空指针

指向已删除(或释放)的内存位置的指针称为悬空指针。指针用作悬空指针有三种不同的方式

①内存分配:

②函数调用:

如果x是静态变量,则不会出现问题(或p不会悬空)。

输出:5

变量超出范围

无效指针

无效指针是一种特定的指针类型– void * –指向存储中某个数据位置的指针,它没有任何特定的类型。空是指类型。基本上,它指向的数据类型可以是任何类型。如果我们将char数据类型的地址分配给void指针,它将成为char指针,如果是int数据类型,则将成为int指针,依此类推。任何指针类型都可以转换为空指针,因此可以指向任何值。

(1)void指针不能被取消引用。但是,可以使用类型转换void指针来完成

(2)由于缺少具体的值和大小,因此无法对void指针进行指针算术运算。

例子:

输出:

整数变量为= 4

浮动变量是= 5.500000

空指针

NULL指针是没有指向任何内容的指针。如果没有将地址分配给指针的情况,则可以简单地使用NULL。

输出 :

ptr的值为(null)

注意

(1)NULL与未初始化的指针–未初始化的指针存储未定义的值。空指针存储定义的值,但是环境定义的值不是任何成员或对象的有效地址。

(2)NULL vs void 指针–空指针是一个值,而空指针是一个类型

野指针

尚未初始化为任何值(甚至不是NULL)的指针称为野生指针。可以将指针初始化为一个非NULL垃圾值,该值可能不是有效地址。

每天学点小知识,希望对你有帮助~

另外如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!笔者这里或许可以帮到你~

编程学习书籍分享:

编程学习视频分享:

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

点击下方【了解更多】获取更多学习资料帮助你学习成长哦~

标签: #c语言指针编程题经典