我读到有一个名为alloca的函数,它从当前函数的堆栈帧而不是堆中分配内存.当函数退出时,内存会自动销毁.
这有什么意义,它与仅在函数中创建结构数组或局部变量有什么不同?它们会进入堆栈并在函数结束时被销毁.
PS:我看到了另一个alloca问题而且没有回答这两个事情是如何不同的:)
随着alloca你可以创建一个动态数组(的东西,通常需要malloc),这是非常快的.这里有GCC的优点和缺点alloca:
http://www.gnu.org/s/hello/manual/libc/Variable-Size-Automatic.html#Variable-Size-Automatic