最佳答案
alloca()
在堆栈上而不是在堆上分配内存,就像 malloc()
一样。所以,当我从例程返回时,内存就被释放了。实际上,这解决了释放动态分配的内存的问题。释放通过 malloc()
分配的内存是一个令人头疼的问题,如果错过了,就会导致各种各样的内存问题。
尽管有上述特性,为什么不鼓励使用 alloca()
?