1、串的定义:由零个或多个字符组成的有序序列:’abcdef‘
2、串的长度:串中字符的数目称为串的长度
3、空串:’’ ‘ ’空格串
4、子串:子串包含空串和串本身,如 ab 的子串:a、b、ab 和一个空子串共 4 个
5、子串在主串中的位置:比如:a,b,c,d 为以下的 4 个串a = ‘gao’; b = ‘bo’; c = ‘gaobo’; d = ‘gao bo’;首先他们的长度分别是3,2,5,6;同时 a,b 都是 c 和 d 的子串。a 在 c 和 d 中的位置都为 0.而 b在 c 中的位置是 3,在 d 中的位置是 4. 对于串’abcd’来说,他的子串有’a’, ’b’, ’c’, ’d’, ‘ab’, ‘bc’, ‘cd’, ‘abc’, ’bcd’,‘abcd’, ‘ ’总共 11 个
6、串相等:只有当两个串的长度相等,并且各个对应位置的字符都相等时才相等。比如:串’abcdef’和’abcdef’就是相等。但是上面的 4个串 a,b,c,d 彼此都不相等。
串的定长顺序存储
串的顺序存储结构是用一组地址连续的存储单元来存储串中的字符序列的。按照预定义的大小,为每个定义的串变量分配一个固定长度的存储区。一般是用定长数组来定义。 既然是定长数组,就存在一个预定义的最大串长度。
串的定长顺序存储数据结构定义
#define SIZE 20
typedef struct Str
{
char elem[SIZE];
int length;//在串里面没有'