1 串的定义
(1)串是由零个或多个字符组成的有限序列。
(2)串中任意多个连续的字符组成的子序列称为该串的字串。
(3)由一个或多个空格组成的串称为空格串,其长度为串中空格字符的个数。
注:空格串不是空串。
(4)当两个串的长度相等且每个对应位置的字符都相等时,称这两个串是相等的。
2 串的存储结构
(1)定长顺序存储表示
串的实际长度只能小于或等于MAXLEN,超过预定义长度的串值会被舍去,称为截断。
(2)堆分配存储表示
(3)块链存储表示
每个结点既可以存放一个字符,也可以存放多个字符。每个结点称为块,整个链表称为块链结构。
3 串的基本操作
(1)StrCopy(&T,S):复制操作,由串S复制得到串T;
(2)StrEmpty(S):判断字符串是否为空;
(3)StrCompare(S,T):比较操作,若S>T,则返回>0的值;若S=T,则返回0;若S<T,则返回<0的值。
(4)SubString(&Sub,S,pos,len):求子串。用Sub返回串S的第pos个字符起长度为len的子串。
(5)Concat(&T,S1,S2):串联接。用T返回由S1和S2联接而成的新串。