非计算机专业,好奇为什么会出现“程序依赖bug运行”的情况?

2025-06-24 12:55:18

举个例子。

比如在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返回了;那么下游的使用者还真就能读到里面的值——内存是被收回了,但数据仍然在内存条上…。

非计算机专业,好奇为什么会出现“程序依赖bug运行”的情况?
广告位810*200
相关阅读
怎么看待苏超宿迁队组织粉丝见面会,将13太保生生变成12太保!?

怎么看待苏超宿迁队组织粉丝见面会,将13太保生生变成12太保!?

“十三太保坐一桌吃饭,凉菜还没上,宿迁就把烟酒顺走了。 ”这...

2025-06-28
我上大一,需要买电脑,一共9000,但我妈说她给我3000,我心里很不舒服,怎么办?

我上大一,需要买电脑,一共9000,但我妈说她给我3000,我心里很不舒服,怎么办?

在我小的时候,我爸曾掐着我妈脖子,让她拿出钱来买一台六千块钱...

2025-06-28
Rust开发Web后端效率如何?

Rust开发Web后端效率如何?

先叠几个定语: 你要是写Reactive Web,用Web ...

2025-06-28
为什么go和rust语言都舍弃了继承?

为什么go和rust语言都舍弃了继承?

因为继承关系粒度太粗,它实际上可以并有必要拆分成三个关系。 ...

2025-06-28
如何评价最新发布的 vivo X Fold5,作为首款「三防」折叠屏手机,都有哪些亮点值得关注?

如何评价最新发布的 vivo X Fold5,作为首款「三防」折叠屏手机,都有哪些亮点值得关注?

vivo X Fold5发布会看完了吧?它就是目前全球最轻三...

2025-06-28