在计算机科学中, 动态内存分配（Dynamic memory allocation）又称为堆内存分配，是指计算机程序在运行期中分配使用内存。它可以当成是一种分配有限内存资源所有权的方法。动态分配的内存在被程序员明确释放或被垃圾回收之前一直有效。与静态内存分配的区别在于没有一个固定的生存期。这样被分配的对象称之为有一个「动态生存期」。
细节.分配过程包括寻找一块足够大未被使用的内存。通常，内存是从一个被称为堆的内存池中分配出来的。高级语言封装了内存地址的概念，内存通常是通过