指针指向空间的申请和释放易错点
  TEZNKK3IfmPf 2023年11月14日 22 0

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

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

详细说明:

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

何为销毁?

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

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

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

static作用之一

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

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月15日   21   0   0 指针golang
  TEZNKK3IfmPf   17天前   21   0   0 指针C++
  TEZNKK3IfmPf   2023年11月14日   18   0   0 指针C++
  TEZNKK3IfmPf   2023年11月14日   38   0   0 指针go
TEZNKK3IfmPf