栈是一个内存区域,自动管理局部变量和函数调用数据,随着函数的调用和返回而增长和缩小,它速度快但大小有限。堆是用于动态分配内存的区域,通过 malloc 和 free 等函数手动管理,在大小和生命周期上提供更大的灵活性,但代价是需要承担更多责任。在它们之间选择取决于数据的大小是否在编译时已知以及它需要存活多长时间。
malloc
free
用自己的话写下这一站的结论。