非计算机专业,好奇为什么会出现“程序依赖bug运行”的情况?
举个例子。
比如在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返回了;那么下游的使用者还真就能读到里面的值——内存是被收回了,但数据仍然在内存条上…。
相关推荐
最新更新
推荐阅读
怎么才能让孩子在不牺牲睡眠和运动时间的前提下,成绩名列前茅?
把《武林外传》中的打工人郭芙蓉放在现代,她能干长久吗?
为什么面对 Adobe 的版权要求下,vposy 大神还能从容不迫?
中国女篮张子宇身高 2 米 26 制霸赛场,身高因素在篮球比赛中能占多大优势?她会是下一个「姚明」吗?
为什么我感觉黑神话剧情的风评反转了?
都说时尚是一个轮回,有哪些老电视剧里面的穿搭到现在都还是很潮的呢?
蜂鸟音乐指控邓紫棋侵权,要求 48 小时内下架重录歌曲,邓紫棋回应「不会下架」,这一指控合理吗?
曼德拉是南非的罪人吗?
夸克网盘有可能超越百度网盘吗?
男朋友说我穿衣服太开放,难道好身材不应该显示出来吗?
猜你喜欢
关注我们

包装制品配附件
网站首页
