字符串在内存中,除了有效字符以外,还会自动在后面补一个'\0',作为字符串的结束标志!
例如
char str[]="abcd" ;
printf("字符串的元素个数是%d\n",sizeof(str)/sizeof(str[0]));
//结果却是5,这是因为字符串结尾处自动添加了一个'\0'作为结束标志。
显然,要想得到有效字符个数,使用sizeof计算显然不对,此时就要用到strlen来计算。strlen在计算大小的时候遇到'\0'会结束计数!
字符串在内存中,除了有效字符以外,还会自动在后面补一个'\0',作为字符串的结束标志!
例如
char str[]="abcd" ;
printf("字符串的元素个数是%d\n",sizeof(str)/sizeof(str[0]));
//结果却是5,这是因为字符串结尾处自动添加了一个'\0'作为结束标志。
显然,要想得到有效字符个数,使用sizeof计算显然不对,此时就要用到strlen来计算。strlen在计算大小的时候遇到'\0'会结束计数!