strlen函数什么意思,strlen函数头文件
本篇文章给大家谈谈strlen函数什么意思,以及strlen函数头文件对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
c语言中strlen是什么意思
strlen:计算字符串长度的库函数名。
str:通常,程序员喜欢用它作字符串变量名。它是string(英文词字符串的缩写)。
len:通常,程序员喜欢用它作变量名。它是 length(英文词长度的缩写)。
例如:
char str[20]="I am a student";
int len;
len= strlen(str);
printf("the string length is:%d",len);
扩展资料:
函数原型
externunsignedintstrlen(char*s);
在Visual C++ 6.0或Dev-C++中,原型为size_tstrlen(constchar*string);,其中size_t实际上是unsigned int,在VC6.0或Dev-C++中可以看到这样的代码:
typedefunsignedintsize_t;头文件:string.h或cstring
格式:strlen(字符指针表达式)
功能:计算给定字符串的(unsigned int型)长度,不包括'\0'在内
说明:返回s的长度,不包括结束符NULL。
strlen(char*)函数求的是字符串的实际长度,它求得方法是从开始到遇到第一个'\0',如果你只定义没有给它赋初值,这个结果是不定的,它会从aa首地址一直找下去,直到遇到'\0'停止。
参考资料来源:百度百科-strlen(C/C++语言函数)
strlen函数
strlen函数的原理你都搞错了,其原型应该是这样的:int strlen(char*);它接受的是一个char*类型的参数,真不晓得你的这个是怎么传递进去的。 strlen计算字符串的长度例如"abc"的长度是3.但是实际上如果将其放到字符数组中的话,应该占4个元素。因为字符串是以字符'\0'结尾的,但是这个'\0'在我们的字符串是隐藏的,我们看不到。实际上是有的.例如:
char a[4]="abc";//这里数组的元素个数至少应该是4,否则此字符串不叫字符串了,只能叫字符数组了。
strlen判断一个字符串的结束就是以其末尾的'\0'为界限。其实现代码可以模拟为以下:
int strlen(char*p)
{
int i=0;
while(*p++)i++;
return i;
}
所以他是不包括'\0'这个字符的。
C语言中的strlen函数
strlen()只是统计字符串的长度,统计到'\0'结束,但不包括'\0',这个与sizeof()不一样。
对于用双引号引起来的字符串,系统默认最后一位字符为'\0',如你自己定义的:
char a[]="china";
char b[]={"china"};
另外,数组初始化还可以是一个字符一个字符赋值,如:
char c[]={'c','h','i','n','a'};
char d[]={'c','h','i','n','a','\0'};
但系统不会自动给你在最末位添加'\0’
所以在统计char c[]={'c','h','i','n','a'}时,统计到a时,系统还没找到\0,所以会继续统计,直到找到'\0'为止。所以就有你第三个值为11的情况,这个根据不同的运行环境而定。
关于strlen函数什么意思的内容到此结束,希望对大家有所帮助。