爱美容
当前位置: 首页 美容百科

c语言中size of怎么用(C语言字符串如何使用strlen和sizeof)

时间:2023-06-08 作者: 小编 阅读量: 1 栏目名: 美容百科

3strlen函数C语言提供了strlen()函数,用于求字符串的长度。在介绍“数组”的这一章节中,讲解了字符串的定义。那么,strlen;获取了array指向内存块的字符个数。所以,strlen()函数的返回的字符串长度,不包含字符串的结束符。5比较strlen和sizeof区别C语言中定义了sizeof操作符,获取一个变量或者类型占据的容量大小。sizeof运算符,获取指针变量p1占据的内存空间大小。那么,指针变量p1占据4个字节,所以,sizeof返回4这个数值。

3 strlen函数

C语言提供了strlen()函数,用于求字符串的长度。函数定义如下:

int strlen (const char *s);

包含的头文件是:

#include <string.h>

该函数就是求参数 s 指向字符串的长度。在介绍“数组”的这一章节中,讲解了字符串的定义。C语言规定,字符串必须以'\0'字符作为最后一个字符,表示字符串的结束字符,称为:字符串结束符。字符串结束符'\0'的ASCII是0数值。

例如"abcde"这样的字符串,实际上包含6个字符,分别是:

'a','b','c','d','e','\0'

可以看到,字符串就是由多个单独的字符组成,其中,最后一个字符必须是字符串结束符'\0'。

那么,我们可以把一个字符串赋值给字符数组,如下:

char array[6] = {'a','b','c','d','e','\0'};

如下是一个测试例子:

运行的结果如下:

可以看到,定义了字符数组array,数组名代表首地址,所以,数组名array可以表示一个指针,指向array数组存放数据的内存块。

那么,strlen(array); 获取了array指向内存块的字符个数。而且,计算字符个数的时候,是遇到字符串结束符 '\0' 字符就认为结束。所以,strlen()函数的返回的字符串长度,不包含字符串的结束符。

那么,我们可以写一个测试例子,设置 array[3] = '\0',就是设置数组中下标为3的元素是字符串结束符。测试代码如下:

程序运行结果如下:

此时,array[6] 中的数据相当于 {'a', 'b', 'c', '\0', 'e', '\0'};那么,使用strlen()函数获取字符串个数时,就从array指向的第一个元素开始数,遇到第四个元素是'\0'字符,是字符串结束符。

所以,strlen()遇到字符串结束符之后,结束字符串的长度计算。

5 比较strlen和sizeof区别

C语言中定义了sizeof操作符,获取一个变量或者类型占据的容量大小。而strlen()是一个函数,获取字符串的长度。程序测试例子如下:

程序运行结果如下:

可以看到,p1是一个指针,指向一个字符串。那么,strlen()函数可以获取该字符串的长度。sizeof运算符,获取指针变量p1占据的内存空间大小。

那么,指针变量p1占据4个字节,所以,sizeof(p1)返回4这个数值。

但是,如果sizeof操作符,接收的是一个字符串常量,那么,它返回该字符串常量占据的内存空间。程序测试例子如下:

程序运行结果如下:

可以看到,sizeof操作符,获取了 "xxxyy123" 字符串所占据的内存空间。它返回9这个数值,是因为占据了9个字节的内存空间。

注意,"xxxyy123"包含字符串结束符 '\0',所以,总共包含9个字符,占用9个字节的内存空间。而strlen()函数返回字符串的实际字符个数,返回数值8,不包含字符串结束符。

    推荐阅读
  • 虾仁水饺的做法(虾仁水饺如何做)

    下面希望有你要的答案,我们一起来看看吧!虾仁水饺的做法食材:肉馅(绞好的)750g,鲜虾750g,韭菜500g,面粉500g,味极鲜适量,香油适量,鸡精适量,十三香适量,盐适量,花生油适量。将鲜虾洗净,去皮,去虾线。葱姜切末,加入肉末,加入花生油,味极鲜,鸡精,盐,十三香搅拌均匀。将面粉和水2:1的比例和好,取一部分搓长条切成小剂子。剂子压扁擀饺子皮,捏在一起即可。

  • 浅谈校外培训机构乱象怎样治理(小学阶段作业不出校门)

    浅谈校外培训机构乱象怎样治理2月4日,教育部公布了2021年教育工作的40项重点任务。研究建立中小学心理健康状况常态化监测机制。小学阶段作业不出校门教育部部长陈宝生在2021年全国教育工作会议上表示,2021年要抓好中小学生作业、睡眠、手机、读物、体质管理。教育部部长陈宝生表示,治理整顿校外培训机构,目标是减轻学生和家庭负担,把学生从校外学科类补习中解放出来,把家长从送学陪学中解放出来。

  • 水仙密码的阅读感想(具体感想举例)

    接下来我们就一起去了解一下吧!水仙密码的阅读感想感想1:感情投资是投资最少回报最多的,给点水就茁壮成长。感想2:走自己的路让别人说吧,水仙想发芽,就努力成长,哪在乎室外北风呼啸,冰封大地和怠慢。感想3:肥沃的土壤也是寄生虫的摇篮,出身和品格成绩不成正比,鹅卵石都培育了肥大的鳞茎,可见是自强不息。感想4:对美的理解是主观的各花入各眼,对环绕我们的事物的看法又有什么不是呢,宽容大度理解万岁。

  • 近期要发财的四大征兆(近期要发财的四大征兆是什么)

    近期要发财的四大征兆?近期要发财的四大征兆额头变得红润通常一个人脸颊变得红润,是属于比较正常的事情,但是额头变得红润却很少见。如果一个人的额头无缘无故的就开始红润,而且还持续了很久,那么其实就是代表着这个人的财运已经到了,因为额头属于一个既可以给人旺财也可以提升地位的地方。蝙蝠入室在风水上,有这么个说法:子鼠为水,是为财。蝙蝠呢又被叫做“飞鼠”,而且蝙蝠本身就是福气的象征。

  • 防震减灾安全教育(关于防震减灾安全教育)

    防震减灾安全教育当人们在遇到突如其来的地震时,千万不要惊慌失措,要保持清醒的头脑,采取应急措施。当主震约在20秒钟过去后,要立即撤出房间,以防接着而来的余震造成伤害。为防地震造成停电和火灾,可沿楼梯撤出。若地震时在立交桥上,司机和乘客应迅速步行下桥躲避。大地震后还有多次余震,此时不能回到尚未倒塌的建筑物内;倒塌的建筑物如发主火灾应迅速扑灭,以救出被困往其中幸存的人。

  • 天津都有哪些著名小吃(天津8大特色小吃)

    狗不理包子、炸耳糕,麻花被称为三绝。煎饼果子提起煎饼果子,那必然会想到天津。狗不理包子讲究皮薄,馅大,肉流汁儿。麻花儿在天津被分为各种馅,各种形状。可以说是天津人最喜爱的零食和伴手礼了。在天津,炸糕里馅一般是红豆沙。炸卷圈的灵魂必然是豆芽菜了。豆芽菜爽口清脆,豆干滑嫩弹牙,豆香气十足。因为口感特别好,甜香可口深受天津人的喜爱。糖粉、盐、奶粉,玉米油打散之后和黄油搅拌开,加入坚果。

  • 孕妇流产事件怎么处理(又曝出孕妇流产)

    同时,西安国际医学中心医院也因“拒诊心脏病患者导致其去世”事件,被处罚停业整顿3个月。医生建议应住院,住院前需到发热门诊就诊。此后,孕妇自觉疼痛症状减轻。孕妇认为,在发热门诊等待核酸检测结果的这两个小时,耽误了她的救治。涉事医院高度重视此案件,目前已落实整改,并将针对环节中存在的问题进行优化。任何疾病都有风险,即使没有发生疫情,即使没有遇到核酸检测。

  • 尚德双玻璃光伏阳光房(清华阳光太阳能精品工程之)

    智汇雅苑坐落于北京市房山区良乡高教园区中央设施区内,毗邻京石高速、京石第二高速及京开高速等多条高速连接城市中心。占地面积约100000平米,容积率2.8,绿化率高达30%。集热器基础及过渡水箱基础采用混凝土基础制成,混凝土含预埋件,预埋铁上焊接东西贯穿的国标槽钢,槽钢上焊接角钢支架。7)防漏电、雷击:系统与楼面防雷设施可靠连接,且漏电自动断电保护。最近又中标城建良乡大学城地块项目。

  • 儿童大人的简笔画(孩子们简笔画欣赏)

    开学第一节美术课,给孩子们示范画了一个小动物。孩子们对美学都没什么清晰的概念,不过看到孩子们纯真稚嫩的线条,童真毫无框架的构想,却是一番独特的美感享受。下面就展示一下孩子们的杰作吧,希望能带给你不一样的视觉盛宴……猪八戒卷起的耳朵国字脸小耳朵猪这是猪吗?害羞的小猪调皮的样子憨厚老实本分的样子萌萌的哈哈,这造型……不折不扣的二师兄双胞胎佩奇上次为爱情受的伤还没好……孩子们的世界有多丰富,喜欢吗?

  • rog幻16翻转版参数(全能本标杆360翻转)

    下面希望有你要的答案,我们一起来看看吧!rog幻16翻转版参数