1. C语言动态分布是指在程序运行时,根据需要动态地分配内存空间来存储数据。2. 这种分布方式的原因是为了更有效地利用内存资源,避免静态分布造成的内存浪费。动态分布可以根据实际需要来分配内存,当数据不再需要时,可以及时释放内存,提高内存的利用率。3. 动态分布还可以提供更灵活的内存管理,可以根据程序的运行情况动态地调整内存的分配大小,避免内存溢出或者内存不足的问题。同时,动态分布也可以支持动态数据结构的实现,如链表、树等,使程序的设计更加灵活和高效。

由于C语言中的数组一但定义,其大小就不能再在程序运行过程中改变,为了能够在程序运行的过程中根据需要定义所需要大小的数组,就要使用动态分配。动态分配的数组在运行的过程还可以改变其大小。