字符串:
1.用双引号包括的0个或者多个字符.例如"abc",""
2. 字符串一定有一个’\0’表示结尾
3.’\0’也是字符串的结尾标记
4.有两种情况表示字符串:
(1)、用""包括起来的字符序列;
(2)、有’\0’结尾的字符数组
注意:字符串的操作使用字符串的结尾标记’\0’,而不使用长度.所以字符串函数不需要传长度。
1.字符串的拷贝:
void Mystrcpy(char *des,char *src)
{
int i;
for(i=0;src[i]!='\0';i++)
{
des[i] = src[i];//des[i] == *(des+i)
}
des[i] = '\0';
}
int main()
{
char arr[] = "abcde";
char brr[] = "xyz";
char crr[10];
char drr[10];
char err[100];
//将arr复制到crr
Mystrcpy(crr,arr);
//将arr复制到drr
Mystrcpy(drr,arr);
//将arr复制到err
Mystrcpy(err,arr);
printf("%s\n",crr);
printf("%s\n",drr);
printf("%s\n",err);
return 0;
}
2.求字符串长度(字符的数量,不包含’\0’),例"abc"->3
int Mystrlen(char *str)
{
//int count = 0;
int i = 0;
for(i=0;str[i]!='\0';i++)
{
;
}
return i;
// return count;也可以定义一个count变量来计数
}
int main()
{
char arr[20] = "abcde";
int a = Mystrlen(arr);
printf("%d\n",a);
}
3.字符串的连接
void Mystrcat(char *des,char *src)
{
int i;
for(i=0;des[i]!='\0';i++)//找尾部
{
;
}
//复制src
int j;
for(j=0;src[j]!='\0';j++,i++)
{
des[i] = src[j];
}
des[i] = '\0';
}
int main()
{
char arr[] = "abcd";
char brr[10] = "xyz";
Mystrcat(brr,arr);
printf("%s\n",brr);
return 0;
}