c语言中字符串以字符数组的形式存储。以字符常量‘\0’结尾,‘\0’是值为0的字符,是空字符。
在头文件string.h中定义了一系列字符串的操作。如strlen(),strcpy(),strcmp()等。
C++中有string类,可直接用string定义对象,类中定义了相关的串操作。
void strcpy(char* pstr1,char* pstr2)
{
while(*pstr1++=*pstr2++);
}
int strlen(char* p)
{
char* s=p;
while(*s!='\0')++s;
return s-p;
}
int strcmp(char* pstr1,char* pstr2)
{
for(;*pstr1==*pstr2;++pstr1,++pstr2)
if(*pstr1=='\0')return 0;
return *pstr1-*pstr2;
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#include<stdio.h>
int main(void)
{
char string[10];
char a[]="abcd";
char* str1="abcdefghi";
char* str2="abcdeeghi";
int length=strlen(str1);
strcpy(string,str1);
int cmpstr=strcmp(str1,str2);
printf("%s\n",string);
printf("%d\n",*(str1+9));
printf("%d\n",length);
printf("%d\n",cmpstr);
return 0;
}