一、结构体(两种)
//顺序串的静态分配方式
#define MaxSize 100
typedef struct{
char ch[MaxSize+1];//1用来存放'\0'
int length;
}Str;
//顺序串动态分配方式的结构体定义
typedef struct{
char *ch;
int length;
}Str;
二、赋值
代码如下(示例):
//赋值:将a所指的串中的内容赋值给str中的ch所指
//1.清空str;2.记录a所指串的长度len;3.判断len是否为0;
//4.若len不为0,str.ch申请len+1空间(1是指'\0');
//5.判断str.ch是否为空指针;
//6.若不为空,赋值(包括ch和length)
int Strassign(Str &str,char *a){
//清空str;
if (str.ch){
free(str.ch);
str.ch = NULL;
}
//记录a所指串的长度len
int len = 0;
char *b = a;
while (*b){
len++;
b++;
}
if (len == 0){
str.ch = NULL;
str.length = 0;
return 1;
}
else{
//若len不为0,str.ch申请len+1空间(1是指'\0')
str.ch = (char *)