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

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,不包含字符串结束符。

    推荐阅读
  • 听觉的秘密(听觉世界里的潜规则)

    鸡尾酒会效应说起大脑的能力强,至今,大脑在处理声音方面的一个功能还在让所有科学家惊叹,这个功能的神奇机制至今也还是个谜。这种功能有个有趣的名字,叫做“鸡尾酒会效应”。动物也展现鸡尾酒会效应最近的研究发现,很多动物的听觉系统也具有这种鸡尾酒会效应的功能,例如鸟儿们经常群集一起,叽叽喳喳开大会,但它们往往只是回应自己伴侣的叫声,显然它们能够从嘈杂的叽喳声中分辨出伴侣的声音。

  • 淄博环保供热第一供热分公司供暖范围在哪?

    淄博环保供热第一供热分公司供暖范围在哪?供暖小常识之暖气不热的具体排气方法:每个暖气片上都有一个手动排气阀,用户可轻轻拧松手动排气阀,听到排气声立即停止扭动排气阀,若见有稳定水流流出可将排气阀轻轻拧紧。排过气后,若暖气片还是不热,应请专业人员查明原因,帮助解决问题,切不可盲目放水。

  • 窗帘是什么材质 高精密窗帘是什么材质

    透明类的丝质面料,手感柔软、纹路流畅,用做窗帘,既浪漫又高雅。丝质窗帘最大的特点也是最明显的缺点就是价格昂贵,难以清洗。古代太后或皇后临朝听政,殿上用竹帘遮隔,则称为垂帘听政。

  • 普惠性幼儿园能否增加收费项目(普惠性幼儿园覆盖率将超过80)

    普惠性幼儿园覆盖率将超过80日前,陕西省教育厅和陕西省发改委联合印发了《陕西省教育事业发展“十四五”规划》,其中明确提出要强化学前教育规划建设,将新增公办园300所,公办园占比和公办园在园幼儿占比保持50%以上,普惠性幼儿园覆盖。

  • 林清玄人生感言(承担是生命里最美的东西)

    更令人赞叹的是,那个煮面的老板还边与顾客聊着闲天。对于孩子突如其来的谈话,我感到莞尔,并且立即坦然承认,我一定输给卖面的人。他们不用言语,而以动作表达了对生命的承担。在古印度人传统的观念里,认为只要是两条河交会的地方一定是圣地,这是千年智慧累积所得到的结论。当然,在我们以神圣的心面对世界时,自己就有了承担,也就成为值得敬佩的人之一。事实上,所有的比较都是一种执著。

  • 白花蛇舌草的功效与作用(白花蛇舌草的功效与作用效)

    白花蛇舌草一年生小草本,生于潮湿的田边、沟边、路旁和草地。白花蛇舌草药材全体扭成团块,灰绿色至灰棕色。白花蛇舌草补充信息:炮制:取原药材除去杂质,抢水洗净,稍润,切段,干燥。白花蛇舌草适合人群:孕妇慎用白花蛇舌草的功效和作用白花蛇舌草味苦、微甘,性微寒;入肺、肝、胃经;具有清热利湿,解毒抗癌的功效;主治肺热喘咳,咽喉肿痛,湿热黄疸,热淋涩痛,水肿,痢疾肠炎,肠痈,痈肿疮疡,毒蛇咬伤,癌肿。

  • 苏州西站长途汽车站停运通知(苏州市区79班汽车客运班线停班)

    苏州汽车客运总站表示,将给因台风造成停班班次的旅客办理免费退票。昆山客运中心站正密切关注“利奇马”的走向及发展趋势,动态调整班次开行方案并及时通知广大旅客相关停班信息,确保旅客安全出行。有去机场、高铁站、火车站换乘的旅客请适当增加出行时间,以免受台风影响耽误行程。如因天气原因导致班次停运,乘车人可在当天携带本人身份证持车票到车站窗口办理全额退票。

  • 二氧化碳用途(二氧化碳的用途)

    二氧化碳是我们很熟悉的一种气体,大量的二氧化碳会导致温室效应的加剧。学过生物的同学都知道,植物的光合作用是需要二氧化碳作为原料的。在很多农场里面,也会放置产生二氧化碳的仪器,提高农作物的产量。二氧化碳灭火器可用于扑灭图书、重要仪器的失火,因为扑灭后没有任何的残留物质。其实这种效果都是由人为用干冰造成的。以及人工降雨也都会用到二氧化碳等,用途广泛。

  • 桂林社保卡要自己去银行办吗(桂林社保卡要自己去银行办吗现在)

    制卡人1寸白底免冠深色上衣证件纸质彩色照片1张。如委托代办,需提供受委托人的居民身份证原件。填写社会保障卡制卡申领表。社会保障卡启用1.办理条件本统筹区已领取社会保障卡,但未激活社保功能的参保人员。广西区内转入已经持有社会保障卡的参保人员。

  • tvb五花是谁(深扒TVB五朵金花)

    根据港媒报道,杨怡与胡定欣在剧组拍摄期间已经有了两女相争的苗头。根据当时报道,吴卓羲公开表示,自己与徐子珊仅拍摄了一天电视剧,便成为了男女朋友,使得二人被视为最佳荧幕情侣。在此期间,黄宗泽与五花们合作过多部作品,荧幕情侣也是组合了一对又一对。此外,同样家庭事业双丰收的还有勤恳劳模杨怡。然而,现实生活中,与杨怡定情的却是在剧中饰演马国明弟弟的罗仲谦。杨怡仍然认定罗仲谦,并于2016年10月于英国完婚。