串的定长顺序存储结构
#define MAX_STR_LEN 40//用户可在255(一个字节所能表示的最大整数)以内定义最大串长
typedef unsigned char SString[MAX_STR_LEN + 1];//0号单元存放串的长度
串采用定长顺序存储结构的12个基本操作
#define DestroyString ClearString//DestroyString()和ClearString()作用相同
#define InitString ClearSting//InitString()和ClearSting()作用相同
Status StrAssign(SString T, char *chars){
//生成一个其值等于chars的串T
int i;
if (strlen(chars) > MAX_STR_LEN)//chars的长度大于最大串长
return ERROR;
else
{
T[0] = strlen(chars);//0号单元存放串的长度
for (i = 1; i < T[0]; i++)//从1号单元起复制串的内容
T[i] = *(chars + i - 1);
return OK;
}
}
void StrCopy(SString T, SString S){
//由串S复制得串T
int i;
for (i = 0; i < S[0]; i++)
T[i] = S[i];
}
Status StrEmpty(SString S){
//若S为空串,则返回TRUE,否则返回FALSE
if (S[0] == 0)
return TRUE;
else