串的顺序存储结构 定长顺序存储表示:事先定义字符串的最大长度 # define maX string255∥用户可能达到的最大串长 typedef unsigned char StringMAX STRING+I; ∥0号单元存放串的长度,字符从1号单元开始存放 “堆”分配存储表示:在程序执行过程中,利用标准函数 malloc和fre动态地分配或释放存储字符串的存储单元,并 以一个特殊的字符(例如’W0)作为字符串的结束标志 称串值共享的存储空间为“堆” typedef struct { char *str;若是非空串,则按串长分配存储区,否则str为NULL int length;/串长度,不包括’W0 aSTring13 串的顺序存储结构 • 定长顺序存储表示:事先定义字符串的最大长度 #defineMAX_STRING 255 ∥用户可能达到的最大串长 typedef unsigned char String[MAX_STRING+1]; ∥0号单元存放串的长度,字符从1号单元开始存放 • “堆”分配存储表示:在程序执行过程中,利用标准函数 malloc和free动态地分配或释放存储字符串的存储单元,并 以一个特殊的字符(例如’\0’)作为字符串的结束标志 • 称串值共享的存储空间为“堆” typedef struct { char *str; //若是非空串,则按串长分配存储区,否则str为NULL int length; //串长度,不包括’\0’ }HString;