非计算机专业,好奇为什么会出现“程序依赖bug运行”的情况?
- 作者:admin
- 发表时间:2025-06-24 12:25:13
举个例子。
比如在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返回了;那么下游的使用者还真就能读到里面的值——内存是被收回了,但数据仍然在内存条上…。
最新文章
-
张学友在澳门演唱会被要求讲普通话,这背后反映了哪些文化和社会问题?
-
vue + tsx 的开发体验能追得上 react+tsx么?
-
如何评价睡前消息第917期《B2骗过全世界,给伊朗留下七个洞》,你怎么看?
-
Go语言对象的内存布局是怎样的?
-
韦东奕的牙怎么没了?
-
Node.js是谁发明的?
-
小米 YU7 推出晕车舒缓模式,晕车发生率降低 51%,如何看待此功能?抗晕能力未来会成为汽车标配吗?
-
有哪些冷门但含金量很高的书?
-
为什么有的人喜欢带着 MacBook 去咖啡店或者书店上网,而不是 ThinkPad 之类的?
-
三门峡划给陕西,南阳划给湖北,商丘划给山东,安阳划给山西。减少几十万考生。这样能减轻河南高考压力吗?