对于串的顺序存储,串值的存储空间可在程序执行过程中动态分配而得,比如在计算机中存在一个自由存储区,叫做“堆”。
在堆中,以一组地址连续的存储单元存放串值字符序列即顺序存储,但是它们的存储空间是在程序执行过程中动态分配而得。高级语言利用函数为每个新产生的串分配一块实际串长所需的存储空间,若分配成功,则返回一个指向起始地址的指针。作为串的基址,同时为了以后处理方便,约定串长也作为存储结构的一部分。堆分配存储结构的串既有顺序存储结构的特点,处理方便,操作中队串长又没有限制,因此在串处理的应用程序中也常被选用。