1 .字符串顺序存储结构1.1字符串的定长顺序存储结构
# define maxlen6typedef struct { charch [ maxlen1]; //用于存储字符串的一维数组int length; //字符串的当前长度(}SString; 1.2系列堆型序贯记忆结构
typedef struct{char *ch; //对于非空字符串,按字符串长度分配存储区。 否则,ch为空int length; //字符串的当前长度}HString; 2 .链接存储结构使用链接表存储链接值时,存在“一个节点大小”的问题
每个节点可以存储一个或多个字符
节点大小为4的链表
节点大小为1的链表
为了便于操作字符串,如果要将字符串值存储在链表中,除了头指针外,还可以添加尾指针以指示链表中的最后一个节点,并给出当前字符串的长度。 这样定义的串存储结构称为块链结构
#define CHUNKSIZE 80//用户可定义的块大小typedefstructchunk { charch [ chunk size ]; 结构chunk * next } chunk; typedef struct{Chunk *head,*tail; //串头指针和尾指针int length; //字符串的当前长度(}LString;