当前位置:当前位置: 首页 >
非计算机专业,好奇为什么会出现“程序依赖bug运行”的情况?
文章出处:网络 人气:发表时间:2025-06-24 16:25:19
举个例子。
比如在c/c++语言里,这个写法是非法的,bug: int* fun(int nums[], size_t len) { int sth; char c1; float other; char c2; int tmpNum[len]; char str[len]; //do sth return tmpNum; }其中的tmpNum叫局部变量,它分配在栈上;当fun执行了return时,这块内存就被自动收回了,就不能再读写了。
但如果你不懂,你就是把tmpNum返回了;那么下游的使用者还真就能读到里面的值——内存是被收回了,但数据仍然在内存条上…。
同类文章排行
- 什么才是真正的爱情?
- 买到烂尾楼到底该有多绝望?
- ***如古代长城用的是C140混凝土,那千百年下来会完整的留存至今还是损坏的更加严重?
- 为什么微软会允许中国有那么多盗版?
- 为什么多地「国补」暂停了?
- 前端因为像素还原设计稿而离职,这是个别现象吗?
- 为什么程序员独爱用Mac进行编程?
- 微软宣布 5 月 28 日开始下架「Microsoft 远程桌面」应用,背后原因有哪些?
- 广东人吃东西讲究「食材本味」,那为什么西湖醋鱼没有在广东流行开来?
- 网传西藏六月发生三起藏马熊吃人***,藏马熊真的这么可怕吗?