⑴ 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的情况,这个根据不同的运行环境而定。
⑵ c语言中strlen()怎么用
函数声明:extern unsigned int strlen(char *s);
所属函数库:<string.h>
功能:返回s所指的字符串的长度,其中字符串必须以’\0’结尾
参数:s为字符串的初始地址
使用举例:
代码如下
编译运行结果
说明:
函数strlen比较容易理解,其功能和sizeof很容易混淆。其中sizeof指的是字符串声明后占用的内存长度,它就是一个操作符,不是函数;而strlen则是一个函数,它从第一个字节开始往后数,直到遇见了’\0’,则停止
第一 string头文件中的函数strlen 只可以用来测试字符型数组的长度,其他类型不可以
第二 如果要测试int 修改原函数中的参数,会导致数组长度变长(计算机会一直找下去,直到遇到\0)
第三 如果是字符数组,当里面的字符数少于数组长度时,可以正常输出用strlen,如果等于数组长度,则会出现问题
函数介绍:
(推荐教程:c语言教程)
strlen()函数用于计算字符串的长度,直到空结束字符,但不包括空结束字符。
语法结构:
size_t strlen(const char *str)
参数说明:
str -- 要计算长度的字符串。
返回值:
该函数返回字符串的长度
⑶ c语言 字符数组 字符指针 sizeof strlen 的区别
简单概括,strlen()返回的是字符数组或者字符指针中的元素个数,sizeof返回的是字符数组中所有元素所占的总字节数,对于字符指针,返回的只是指针所占的字节数,32位系统上都是4字节。具体来说有如下几点区别:
1.
sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned
int类型。该类型保证能容纳实现所建立的最大对象的字节大小。
2.
sizeof是算符,strlen是函数。
3.
sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。
4.
数组做sizeof的参数不退化,传递给strlen就退化为指针了。
5.
大部分编译程序在编译的时候就把sizeof计算过了,是类型或是变量的长度这就是sizeof(x)可以用来定义数组维数的原因。
char
str[20]="0123456789";
//
str是编译期大小已经固定的数组
int
a=strlen(str);
//
a=10;
//strlen()在运行起确定,计算的是实际长度
int
b=sizeof(str);
//
而b=20;
//sizeof()在编译期确定,str的类型是int[20],计算的是占据内存的大小
6.
strlen的结果要在运行的时候才能计算出来,是用来计算字符串的实际长度,不是类型占内存的大小。
7.
sizeof后如果是类型必须加括号,如果是变量名可以不加括号。这是因为sizeof是个操作符不是个函数。
char
c;
sizeof
c;
//变量名可以不加括号
8.
当适用于一个结构类型或变量,
sizeof
返回实际的大小,
当适用一静态地空间数组,
sizeof
归还全部数组的尺寸。
sizeof
操作符不能返回动态地被分派了的数组或外部的数组的尺寸
⑷ c语言中strlen的用法
__cdecl
strlen(const
char
*);
计算字符串的实际长度(不含字符串结束标志‘\0’),并将计算结果作为函数值返回。
⑸ c语言里面的strlen是干什么的
strlen()是计算字符串长度的函数,将返回从字符串首到'\0'之间总共的字符个数,原型为:extern unsigned int strlen(char *s);
所以除非你的a[0]本身就是一个字符串,否则不能这样使用
另外也可以用这个函数计算从字符串任意位置到'\0'之间的长度
比如:定义char s[20] = {"abcdefg"};
那么strlen(s)将返回7;而strlen(&s[3])的结果是4,注意这里是“&s[3]”是从第三个字符所在的地址开始计算长度。
⑹ 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);
(6)c语言的指针strlen扩展阅读:
函数原型
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型)长度,不包括'