指针指向空间的申请和释放易错点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针指向空间的申请和释放易错点相关的知识,希望对你有一定的参考价值。

指针指向空间的申请和释放易错点_指针

上面的代码有很隐晦的错误,但也是非常严重的错误!


详细说明:

首先明确 a 是一个局部变量,当局部变量出自己的大括号时,就自己销毁!


何为销毁?

当 a 进入局部空间时,会向内存申请4个字节的空间,当局部变量 a 出局部空间时,就会将空间(地址)还给电脑


当我们再一次用局部变量的空间的地址访问回去,此行为就是非法!!!(已经释放的空间)

总结:只要返回临时变量的地址,就是错误的,除非此局部变量出局部空间,不销毁(比如 static )!


static作用之一

static修饰局部变量时,使得被修饰的变量成为静态变量,存储在静态区。存储在静态区的数据生命周期与程序相同,在main函数之前初始化,在程序退出时销毁。(无论是局部静态还是全局静态)



以上是关于指针指向空间的申请和释放易错点的主要内容,如果未能解决你的问题,请参考以下文章

一级指针易错点整理

[Java基础]String对象的特点(易错点)

函数-易错点总结

JavaGuide易错点总结

Java 基础知识的一些易错点

C++基础知识 易错点 总结(待补)