定义:
    ADT String{
    数据对象:D={ai| ai∈CharacterSet, i=1,2,…,n,n≥0}
    数据关系:R1={|ai-1,ai∈D,i=1,2,…,n}
    基本操作:
    (1)StrAssign(&T,chars)//串赋值
    (2)StrCompare(S,T)//串比较
    (3)StrLength(S)//求串长
    (4)Concat(&T,S1,S2)//串连接
    (5)SubString(&Sub,S,pos,len)//求子串
    (6)StrCopy(&T,S)//串拷贝
    (7)StrEmpty(S)//串判空
    (8)ClearString(&S)//清空串
    (9)Index(S,T,pos)//子串的位置
    (10)Replace(&S,T,V)//串替换
    (11)StrInsert(&S,pos,T)//子串插入
    (12)StrDelete(&S,pos,len)//子串删除
    (13)DestroyString(&S)//串销毁
    }ADT String
    串的顺序存储结构:
    #define MAXLEN 255
    typedef struct{
    char ch[MANLEN+1];//存储串的一维数组
    int length;//串的当前长度
    }SString;
    串的链式存储结构——块链结构
    #define CHUNKSIZE 80 //块的大小可由用户定义
    typedef struct Chunk{
    char ch[CHUNKSIZE];
    struct Chunk next;
    }Chunk;
    typedef struct{
    Chunk
    head, *tail; //串的头指针和尾指针
    int curlen; //串的当前长度
    }LString; //字符串的块链结构