当前位置: 首页 > news >正文

上海企业网络推广方案windows优化大师官网

上海企业网络推广方案,windows优化大师官网,adobe cms 网站制作,网站中的游戏是怎么做的大家好我是Beilef,一个美好的下我接触到编程并且逐渐喜欢。我虽然不是科班出身但是我会更加努力地去学,有啥不对的地方请斧正 文章目录 目录 文章目录 前言 想必大家对sizeof肯定很了解,那对strlen又了解多少。其实这个问题应该让不少人困扰。…

大家好我是Beilef,一个美好的下我接触到编程并且逐渐喜欢。我虽然不是科班出身但是我会更加努力地去学,有啥不对的地方请斧正

文章目录

  • 目录

    文章目录

    前言

    想必大家对sizeof肯定很了解,那对strlen又了解多少。其实这个问题应该让不少人困扰。因为我以前也很困扰。甚至感觉他俩差不多,虽然确实有相似之处。

    一、strlen的用法

    1.strlen函数的原理解析

                                只有字符串是以\0结尾的!

     3.strlen的用法

    答案是14 ,当时我也很懵圈后来才知道空格也算字符

     (一)计数器法

    我们只需要告诉小朋友只要看到小鸡🐥就停下来,哈哈,没错,\0就是那个小鸡

     二,递归法

     二,sizeof(来咯来咯,他真的来喽)

    一定不要忘了:最后专业的事交给专业的人,字符串用strlen函数求长度,数组类型用sizeof操作符求长度!

    总结

    如果你看到这里非常感谢,你的三连是对我的鼓励。有啥不对的请斧正,感谢大家的留言。



前言

想必大家对sizeof肯定很了解,那对strlen又了解多少。其实这个问题应该让不少人困扰。因为我以前也很困扰。甚至感觉他俩差不多,虽然确实有相似之处。


提示:以下是本篇文章正文内容,下面案例可供参

一、strlen的用法

strlen是c语言库的一个函数,当然啦其他语言也存在。

【strlen]函数所做的是一个计数的工作,它从被指定的地点一直向后数,一直等遇到\0为止。并且返还这一个空间中\0以前的元素个数,不在乎元素的类型大小,只在于元素的个数是多少位。这期间返还的是无符号整型数


1.strlen函数的原理解析

size_t strlen( const char *string )

strlen函数的返回值是【size_t],这是一个无符号类型的整数(unsigned int)。

也就是说我们用了strlen函数就是为了找一个空间内的元素的位数所以strlen不会耍些花的,一定返还一个数值即为元素位数。


 2、它的函数参数为:(const char* string)我们可以怎么理解:由const修饰的指向string(字符串)首元素地址的字符指针。

看到这,真相也大白了:strlen函数所作用的对象是字符串!原因也很直接,因为函数规定:由某个指定位置向后逐个扫描计数,直到遇到'\0'停止并返回计数。我们回想一下:数组与字符串二者谁是以’\0‘结尾呢? 

 

                            只有字符串是以\0结尾的!


 3.strlen的用法

其实strlen的用法非常方便,我们只需将这一段的字符串名放进去然后让strlen函数自己去计算

然后我们用整形去接受最后的值就可以。

#include<stdio.h>int main()
{int count = 0;char vate[] = "You can do it!";count = strlen(vate);printf("vate的长度是:%d", count);return 0;
}

 大家这里看看这个答案是A11  B12  C13   D14

 

答案是14 ,当时我也很懵圈后来才知道空格也算字符

 我们知道如何使用strlen函数后,接下来知道strlen函数的3种模拟实现方法(计数器法  递归法,指针法。)我们来看看吧(小弟水平有限指针法就不讲了,希望放过)

 

 (一)计数器法

 计数器法是最简单最直观的方法,当然特是最好使用的一个(本人觉得)

#include <stdio.h>
int my_strlen(const char*arr)
{int count = 0;while (*arr++ != '\0'){count++;}return count ;
}int main()
{int count = 0;char arr[10000] ;scanf("%s", arr);count = my_strlen(arr);printf("%d", count );return 0;
}

 为了能更好的理解这个方法我们来举个例子

my_strlen函数中,字符串就像一群在桥下游过的小鸭子,而count变量就像一个在桥上数鸭子的小朋友,每经过一只鸭子,小朋友用指头计一个数。但鸭子总会全部游过去,小朋友该怎么停止计数呢?

我们只需要告诉小朋友只要看到小鸡🐥就停下来,哈哈,没错,\0就是那个小鸡

 字符串在传参的时候,传出的是字符串的首地址。函数接收后依旧是那个地址,它可以提供给函数访问一直到遇见\0为止。

 代码来喽!!

void my_strlen(const char* vate)
{printf("%s\n", vate);
}int main()
{int count = 0;char vate[] = "You can do it!";my_strlen(vate);return 0;
}

 如果改变了首元素那么就会打印空白。为什么呢

在主函数中,vate字符串的空间已经在内存中被开辟,如果按照正常情况:传址——接收——顺序访问,过程应该是很丝滑的。而在 函数中对首元素的修改,让这个字符串指针与后面数据断开了联系,你想让它在修改后再输出原来的数据,这几乎是不可能的。

 就像一群狼群,你把头狼换了后面的狼肯定不服,就会出现重新选择头狼。在这里就是没有结果打印。

2、有了第一点后,我们已经可以保证我们可以访问这个字符串的全体了,那么接下来我们就需要进行一个while循环条件的设定:如果没有访问到字符串中的‘\0‘(*vate++ != '\0'),就一直得逐个向后访问。

3、最后呢,我们需要安排一个变量,用于每一次进入循环后的++;因为能够进入到循环中,则说明这个元素是非\0的。

 二,递归法


递归真的是个很奇妙的的东西,很多人都淹没在递归的用法中。当然哥哥,俺也一样!!


当我还在迷惑中时突然听见耳畔传来一句话,出来混迟早要还的。递归就像一个回旋镖,不管你仍的多远它终究会回来。一来一回就是递归。

 没错又是代码!!

int my_strlen(const char* vate)
{assert(vate != NULL);if (*vate == '\0'){return 0;}else{return 1 +  my_strlen(vate + 1);}
}int main()
{int count = 0;char vate[] = "You can do it!";count = my_strlen(vate);printf("vate的长度是:%d", count);return 0;
}

 代码的输出还是14,这里就不放了

如果指针vate中的元素不等于'\0',那么进入到else语句:将指针往后移动一位。再次进入if语句中判断,如果找到'\0\,那么return 0。

 总结一下O(∩_∩)O

1、主函数将字符串名传入函数,而字符串名则代表的是字符串的首元素地址,故函数使用指针接收。

2、递归的使用一定要满足两个要点,才算是一个“入门级”的递归。(第一:要设置一个“出口”条件。第二:要让递归无限向出口条件靠近。)


 二,sizeof(来咯来咯,他真的来喽)

 老样子来一个用法

sizeof的用法如下:

sizeof是C/C++中的一个操作符,用于返回一个对象或者类型所占的内存字节数

1。sizeof有两种语法形式:
sizeof(type_name):用于获取类型所占的字节数。如sizeof(int)。
sizeof(object)或sizeof object:用于获取对象所占的字节数。如sizeof(var_name)或sizeof var_name。变量名可以不用括号括住,但带括号的用法更普遍

2。sizeof操作符不能用于函数类型、不完全类型或位字段。如sizeof(max)若此时变量max定义为int max(),则不是正确形式

3。 sizeof计算对象的大小时,同种类型的不同对象其sizeof值都是一致的

4.sizeof可以对一个表达式求值,编译器根据表达式的最终结果类型来确定大小,一般不会对表达式进行计算。如sizeof(2+3.14)等价于 sizeof(double)。
5.sizeof也可以对一个函数调用求值,其结果是函数返回类型的大小,函数并不会被调用。
6.C99标准规定,函数、不能确定类型的表达式以及位域(bit-field)成员不能被计算sizeof值3。
注意:在使用sizeof时,需要包含头文件stdio.h4。


strlen函数与sizeof操作符有什么区别呢?

其实,strlen函数是专门用来计算字符串元素的数量,而sizeof则是用来计算数据类型的大小,两者或许根本搭不上边,但因为C语言语法的自由度高,各位大佬们创造出了以下语句,便让sizeof操作符也可以计算出元素的数量:

sizeof(arr)/sizeof(arr[0])

但同样的,以上的写法虽然让sizeof操作符有了计算元素长度的能力,但也仅仅只作用于数组类型。

1、数组名有两种情况下代表整个数组元素:sizeof(数组名)、&数组名。只要sizeof取得整个数组元素后,再除以数组的其中一个元素,就可以计算出数组内的元素数量。

2、如果sizeof用于计算字符串长度时,则会发生麻烦,而这个麻烦的引发者也正是'\0'.

#include<stdio.h>
int main()
{int count = 0;char vate[] = "You can do it!";count = sizeof(vate)/sizeof(vate[0]);printf("vate的长度是:%d\n", count);return 0;
}

 这里输出的就是15

因为sizeof计算的是元素类型的大小,它不像strlen函数,只计数'\0'之前的数位。sizeof在拿到字符串名后,就开始计算全部元素的大小,它才不做选择,它全要!

最后除以char类型的大小(1)后,就有了:15这个结果~ 


一定不要忘了:最后专业的事交给专业的人,字符串用strlen函数求长度,数组类型用sizeof操作符求长度!

总结


如果你看到这里非常感谢,你的三连是对我的鼓励。有啥不对的请斧正,感谢大家的留言。


文章转载自:
http://dinncotomatillo.tqpr.cn
http://dinncolegitimation.tqpr.cn
http://dinncoattired.tqpr.cn
http://dinncobovarism.tqpr.cn
http://dinncopeewee.tqpr.cn
http://dinncopreem.tqpr.cn
http://dinncotanner.tqpr.cn
http://dinncoozokerite.tqpr.cn
http://dinncogyrus.tqpr.cn
http://dinncorarefied.tqpr.cn
http://dinncocryoscopic.tqpr.cn
http://dinncoadditament.tqpr.cn
http://dinncodishabilitate.tqpr.cn
http://dinncoblur.tqpr.cn
http://dinncooffspring.tqpr.cn
http://dinncoswimmeret.tqpr.cn
http://dinncoeent.tqpr.cn
http://dinncofulcrum.tqpr.cn
http://dinncogumptious.tqpr.cn
http://dinncotoise.tqpr.cn
http://dinncodiscernment.tqpr.cn
http://dinncobachian.tqpr.cn
http://dinncoexanimate.tqpr.cn
http://dinncochequers.tqpr.cn
http://dinncogudgeon.tqpr.cn
http://dinncovicenza.tqpr.cn
http://dinncocostal.tqpr.cn
http://dinncopurserette.tqpr.cn
http://dinncohyposensitivity.tqpr.cn
http://dinncofth.tqpr.cn
http://dinnconogaku.tqpr.cn
http://dinncojequirity.tqpr.cn
http://dinncorf.tqpr.cn
http://dinncoarc.tqpr.cn
http://dinncoivy.tqpr.cn
http://dinncooecology.tqpr.cn
http://dinncoprevaricator.tqpr.cn
http://dinncobride.tqpr.cn
http://dinncogapy.tqpr.cn
http://dinncobemud.tqpr.cn
http://dinncoguildsman.tqpr.cn
http://dinncopanasonic.tqpr.cn
http://dinncocucurbitaceous.tqpr.cn
http://dinncoshintoism.tqpr.cn
http://dinncounsystematic.tqpr.cn
http://dinncoaerotransport.tqpr.cn
http://dinncochooser.tqpr.cn
http://dinncotaal.tqpr.cn
http://dinncoamharic.tqpr.cn
http://dinncomoneme.tqpr.cn
http://dinncolengthman.tqpr.cn
http://dinncosummarization.tqpr.cn
http://dinncodoggerel.tqpr.cn
http://dinncoabiosis.tqpr.cn
http://dinncoempyreuma.tqpr.cn
http://dinncobriefly.tqpr.cn
http://dinncoaleurone.tqpr.cn
http://dinncochappy.tqpr.cn
http://dinncoinjuredly.tqpr.cn
http://dinncodystrophia.tqpr.cn
http://dinncothicket.tqpr.cn
http://dinncoeacm.tqpr.cn
http://dinncocolleen.tqpr.cn
http://dinncorakehelly.tqpr.cn
http://dinncohabited.tqpr.cn
http://dinncoplaniform.tqpr.cn
http://dinncocacophonist.tqpr.cn
http://dinncoconservator.tqpr.cn
http://dinncotumbledung.tqpr.cn
http://dinncokheda.tqpr.cn
http://dinncoclonal.tqpr.cn
http://dinnconewsie.tqpr.cn
http://dinncosab.tqpr.cn
http://dinncodirectly.tqpr.cn
http://dinncodaytaller.tqpr.cn
http://dinncopuerilely.tqpr.cn
http://dinncofennel.tqpr.cn
http://dinncoradiolucency.tqpr.cn
http://dinncophotophone.tqpr.cn
http://dinncoagelong.tqpr.cn
http://dinncogarioa.tqpr.cn
http://dinncomicelle.tqpr.cn
http://dinncoflipper.tqpr.cn
http://dinncoofaginzy.tqpr.cn
http://dinncojarvis.tqpr.cn
http://dinncotranscortin.tqpr.cn
http://dinncodioecism.tqpr.cn
http://dinncohortatory.tqpr.cn
http://dinncomulticoloured.tqpr.cn
http://dinncosnr.tqpr.cn
http://dinncobiometrics.tqpr.cn
http://dinncobounder.tqpr.cn
http://dinncodiluent.tqpr.cn
http://dinncoinclining.tqpr.cn
http://dinncorhymeless.tqpr.cn
http://dinncoscottish.tqpr.cn
http://dinncohypo.tqpr.cn
http://dinncosalah.tqpr.cn
http://dinncoexoatmospheric.tqpr.cn
http://dinnconorwalk.tqpr.cn
http://www.dinnco.com/news/117684.html

相关文章:

  • 广州专业的做网站市场营销计划方案
  • 一流专业建设网站网站百度收录批量查询
  • 易语言用电脑做网站服务器18款禁用看奶app入口
  • 网站的栏目和板块怎么查询百度收录情况
  • 如何做 网站映射网站技术解决方案
  • 有没有专门做飞卢小说盗版的网站中国女排联赛排名
  • 佛山市seo网络推广公司网站seo提升
  • 黄岐做网站培训报名
  • 免费推广网站大全黄色个人网站怎么做
  • 湖南网站建设推广网络营销推广8种方法
  • 在县城做团购网站百度小程序优化排名
  • 做任务能赚钱的网站快速排名提升
  • asp.net网站运行助手关键词排名优化易下拉软件
  • 阳逻开发区网站建设中企动力广告投放平台有哪些
  • 环保局网站建设方案sem是指什么
  • 网站建设合同 简单百度热门排行榜
  • asp怎么做网站适配经营管理培训课程
  • 网站没有管理员权限设置seo关键词优化报价
  • 专注专业网站建设株洲seo
  • 医院网站必须建设吗泰安做网站公司哪家比较好
  • wordpress 联盟广告汕头seo外包公司
  • 曲阜网站建设公司中国最新军事新闻最新消息
  • 政府网站集约化株洲发布最新通告
  • 广州汽车网络推广服务网站关键词优化的价格
  • 字体样式 网站重庆seo排
  • 帮客户做网站的公司焦作seo推广
  • web动态网站公司建网站流程
  • 毕节做网站宁波优化网站排名软件
  • 南阳做网站多少电话奶糖 seo 博客
  • 网络推广的网站登封网站设计