
函数与堆栈的关系
文章平均质量分 68
讲解C++的内存分布问题
萧炎_
曾任职于柳叶刀机器人,现任中科院物理研究所软件工程师
展开
-
C/C++高级程序员和必经之路-何为栈(详解)
这种就很危险,第二种就是函数嵌套或者函数递归造成的,函数中有较多的变量,一层一层的调用,栈中的内存没有得到释放的情况下继续调用下一个函数,最终导致栈溢出。一般情况下第二种最常见。所谓的栈就是计算机的运行内存,我们一般的栈内存是2MB左右,这是家庭常用的电脑配置,而我们C/C++语法中,所有使用的变量都是会有内存占用的,其中1KB = 1024字节,1MB = 1024KB。关于栈,之前我是写过文章的,但是考虑到文章质量和图片没有很好的展示出来,所以我决定重构一篇栈的文章,整篇文章格局之高,只给有缘人拜读。原创 2024-11-29 10:43:20 · 265 阅读 · 0 评论 -
C/C++高级程序员必经之路-何为堆(详解)?
看过我文章的都知道,我讲东西呢都是比较深入的,既然要讲堆,首先就要把C/C++的特性稍微说一下,作为一名合格的C程序员,如果你不知道堆,那么你是失败的。那么指针和堆的关联用法或者稍微复杂点的都是必须掌握的,更何况我写的这个模拟代码,代码量才多少呢?我们都知道,C/C++都是以指针操作内存的,可是一般情况下,栈区是没有多少内存的,也就2MB左右(一般的笔记本或家用型电脑),而且栈区内存也不是自由调配的,他只能操作已经存在于栈区的变量,而栈区中变量的生命周期一般由函数决定,所以用起来并不方便。原创 2024-07-11 16:00:27 · 852 阅读 · 1 评论