alloca()与malloc的区别

来源:互联网 发布:数据库发展趋势 编辑:程序博客网 时间:2024/06/03 22:59

看了云风的_alloca 函数的实现

在 C99 标准中,允许程序员在堆栈上开启变长数组,gcc 其实就是通过 _alloca 分配的内存来实现这个特性的。

区别:

alloca是在栈上申请 ,所以是不需要自己手动释放的。。再一个在栈上是不能开辟大内存空间的!  
malloc是在堆上申请