'结束,但不包括'',这个与sizeof()()不一样。 对于用双引号引" /> '结束,但不包括'',这个与sizeof()()不一样。 对于用双引号引"> 用strlen()时,头文件要用什么?_教程_内存溢出

阅读 7

用strlen()时,头文件要用什么?,第1张

头文件要用#include<string.h>。 strlen()只是统计

字符串的长度,统计到'\0'结束,但不包括'\0',这个与sizeof()()不一样。 对于用双引号引起来的字符串,系统默认最后一位字符为'\0',如你自己

定义

的:

chara[]="china"

charb[]={"china"}

另外,数组初始化还可以是一个字符一个字符赋值,如:

charc[]={'c','h','i','n','a'}

chard[]={'c','h','i','n','a','\0'} 但系统不会自动给你在最末位添加'\0’。

扩展资料:

头文件的作用:

1、

头文件

可以定义所用的函数列表,方便查阅你可以调用的函数。

2、头文件可以定义很多宏定义,就是一些全局静态变量的定义,在这样的情况下,只要修改头文件的内容,程序就可以做相应的修改,不用亲自跑到繁琐的代码内去搜索。

3、头文件只是声明,不占内存空间,要知道其执行过程,要看你头文件所申明的函数是在哪个.c文件里定义的,才知道。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

strlen实际上是,从参数表示的地址往后找,找到第一个'\0',即串尾。然后计算'\0'至首地址的“距离”,即隔了几个字符,从而得出长度。

charx[]={0xBC,0xDD,0xCA}中,实际上是定义了一个char型的数组,而由于x[0],即0xBC开始往后找,一直到0xCA,都没'\0',所以会继续往后。当然,实际上往后找到的是其他值。 改charx[]={0xBC,0xDD,0xCA,0x00}后,应该就是3了。

扩展资料:

strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值(长度不包含'\0')。

函数原型

externunsignedintstrlen(char*s)

在VisualC++6.0或Dev-C++中,原型为

size_tstrlen(constchar*string)

,其中size_t实际上是unsignedint,在VC6.0或Dev-C++中可以看到这样的代码:

typedefunsignedintsize_t

头文件:string.h或cstring

格式:strlen(字符数组名)

功能:计算给定字符串的(unsignedint型)长度,不包括'\0'在内 说明:返回s的长度,不包括结束符NULL。


参考资料:strlen-百度百科

欢迎分享,转载请注明来源:内存溢出

原文地址:
http://outofmemory.cn/tougao/11531885.html长度
字符
(0) 微信扫一扫 打赏 支付宝扫一扫 微信扫一扫
支付宝扫一扫
苹果客服 苹果客服
pdf格式怎么转cad
上一篇
2023-05-16
Win7无法安装软件提示Error 1935错误怎么办
2023-05-16

发表评论 后才能评论
提交

评论列表(0条)

2022-4-19

微变
暖气费
保存{label} {label} {label} {label}