动态内存分配与释放 // -------------------- 1. 为什么需要动态内存分配 -------------------- / 静态内存分配(栈内存): - 在编译时确定大小 - 生命周期由作用域决定,自动分配和释放 - 快速高效 - 空间有限 - 灵活性差,无法在运行时根据需要调整大小 动态内存分配(堆内存): - 在运行时确定大小 - 生命周期由程序员手动控制,需要显式分配和释放 - 相对较慢,可能产生内存碎片 - 空间较大,受系统可用内存限制 - 灵活性高,可以根据程序运行时的需求动态调整内存大小 动态内存分配主要解决以下问题: 需要在运行时才能确定大小的数据结构,例如动态数组、链表、树等。