码迷,mamicode.com
首页 > 编程语言 > 详细

C语言中的alloca内存分配函数

时间:2014-12-19 23:21:04      阅读:657      评论:0      收藏:0      [点我收藏+]

标签:

在读程序源代码时,时不时地看到alloca这个函数。一开始并没有多在意,直到今天看<<APUE>>时才留意了下。

微软MSVC提供的是_alloca。

简要说明:

  • 它的动作方式及功能跟malloc差不多,都是内存分配。但alloca是在当前调用者函数的栈帧上分配的,而不是在堆中。

优点:

  • 当函数返回时,自动释放该内存。无需手动释放。

缺点:

  • 增加了栈帧的长度,而某些系统不支持增加栈帧长度,于是就不能支持alloca函数。
  • 如果分配内存时导致栈溢出,程序的行为是未知的。

参考:

 

C语言中的alloca内存分配函数

标签:

原文地址:http://www.cnblogs.com/memset/p/alloca_in_c.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!