char brr[5]={'a','b','c'};//聚合类型,只初始化一部分,剩余部分为0('\0')
char err[5]={"abc"};//利用字符串初始化
char frr[5]="abc";
char grr[5]="abcde";//error ,数组元素溢出;
//字符串一定以‘\0’结尾,这个字符看不见
//'\0'是字符串结尾的标识,只要是字符串一定有'\0'
char irr[]="abcde";
printf("%d%s",sizeof(irr),irr);
char crr[]={'a','b','c','d','e'};
printf("%d%s",sizeof(crr),crr);
判断结果是否一样?
结果:不一样
6 abcde
5 abcde烫烫...
//遇到'\0'就结尾
*//数组只有一次整体复制的机会,在初始化的时候。
void Mystrcpy(char *str1,char *str2)
{
int I;
for(I=0;str2[i]!='\0';i++)
{
str1[i]=str2[i];
}
str[i]='\0';
}
!!while(*str2!='\0')
{
*str1=*str2;
str1++;
str2++;
}
str1='\0';
!!! *str1++=*str2++;
!!!! while (*str1++=*str2++)