字符串
字符数组
1、使用字符串初始化字符数组
char ch[]=“hello world”
scanf("%s",ch);
printf("%s",ch);
2、字符串处理函数
gets(ch);
指针变量指向字符串
char * str=“hello” //使用字符串常量对字符指针进行初始化
str=str+2;
str=“world”
等价于
char * str;
str=“hello”
char ch[]=“hello”
char ch[10];
ch=“hello”//错误
char * str=ch;
字符串在c内存中都是以数组的形式存放
char * mystrcat(char ch1[],char * ch2)
{
int i,j;
for(i=0;;i++)
{
if(ch1[i]’\0’)
break;
}
for(j=0;;j++)
{
if(ch2[j]’\0’)
break;
}
for(y=0,x=i;y<=j;x++,y++)
{
ch1[x]=ch2[y];
}
return ch1;
}
char * mystrcat(char * ch1,char * ch2)
{
int i,j;
for(i=0;;i++)
{
if((ch1+i)==’\0’)
break;
}
for(j=0;;j++)
{
if((ch2+j)==’\0’)
break;
}
for(y=0,x=i;y<=j;x++,y++)
{
(ch1+x)=(ch2+y);
}
return ch1;
}
案例,字符串连接函数
char * mystrcat3(char * ch1,char *ch2)
{
char *p=ch1;
while(*ch1!=’\0’)
ch1++;
while(*ch2!='\0')
{
*ch1=*ch2;
ch1++;
ch2++;
}
*ch1='\0';
return p;
}