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

3秒钟自动跳转网页防控措施持续优化

3秒钟自动跳转网页,防控措施持续优化,网站建设 石景山,it运维之道前言 (1)休闲时刻刷B站,看到一个卖课的,发视频问,char arr1[]{‘H’,‘E’,‘L’,‘L’,‘O’};和char arr2[]“HELLO”;区别是什么。 (2)看那个卖课博主一顿分析,最后成功得出&…

前言

(1)休闲时刻刷B站,看到一个卖课的,发视频问,char arr1[]={‘H’,‘E’,‘L’,‘L’,‘O’};和char arr2[]=“HELLO”;区别是什么。
(2)看那个卖课博主一顿分析,最后成功得出:字符串比字符数组末尾多一个’\0’。
(3)很好,成功浪费我生命的3分钟。无语,就这水平还卖课。如果各位有幸看到这货,希望能够保持清晰,不要被这种无良卖课机构欺骗。
(4)为了防止被当成地图炮,我声明一下,我只diss那种没啥实力乱忽悠的买课机构。对于教干货的培训机构,我还是保持尊重态度的!

浅层分析

存储大小

(1)就像那个卖课说的一样,字符串比字符数组末尾多一个’\0’。因此字符串比字符数组的大小比字符数组大一个字节。

char arr1[]={'H','E','L','L','O'};
char arr2[]="HELLO";
sizeof(arr1);  //返回5
sizeof(arr2);  //返回6,因为最后有一个'\0'

strlen()测试结果不一样

(1)那个卖课的也没有水到无药可救,这个程度还是分析到了,我还是有些许欣慰的。
(2)我们需要知道strlen()函数作用是什么。strlen()函数可以计算字符串的大小,而strlen()函数底层实现是什么呢?
(3)说白了一点一点的往后爬,,直到找到了ascii中的0。找到0之后,退出while循环,然后根据地址相减,就可以得出字符串长度。(注意:因为char只有一个字节,所以地址相减就可以直接得出字符串长度)
<1>可能还有一些同学没有理解,我直接拿上面的"hello"字符串分析,假设"hello"字符串首字符’h’的地址为0x50。因此传入strlen()函数的str的值为0x50。
<2>const char *s = str; 经过这一句,s也是0x50。
<3>第一次while(),*s为0x48(字符’H’的ASCII值是0x48),所以进入循环,s自增,从0x50变成0x51。
<4>按照<3>的步骤来4次,s是0x54的时候,在 while (*s)的时候,*s为0x4F(字符’O’的ASCII值是0x48),此时s再次自增。
<5>关键来了,第五次while (*s)的时候,我们发现,*s的值居然是0!于是退出while()循环。
<6>然后s - str =5即可计算出字符串长度了。

在这里插入图片描述

size_t strlen(const char *str) {const char *s = str;while (*s)s++;return s - str;
}

(4)现在我们知道了strlen的原理之后,我们再看看字符数组。字符数组中,char arr1[]={‘H’,‘E’,‘L’,‘L’,‘O’};的字符’O’后面的值是未知的,可能是0也可能是一些其他值,所以strlne()测试出来的字符数组长度是无法确定的!

总结

(1)上面这些都是非常浅显的知识,但凡认真学了C语言都懂的,真心搞不懂那个卖课的搞到那么神秘兮兮的干嘛。
(2)总结起来就是字符串比字符数组末尾多一个’\0’,因此导致存储大小和strlen()结果不一致。

深层分析

存储位置不一样

(1)字符串是存储在常量区的,一般来说,常量区存储在ROM中。
(2)字符数组存储位置要看情况而定。但是都是存储在RAM。
<1>如果字符数组是全局变量,就存储在静态数据区。
<2>如果字符数组是局部变量,就存储在栈中。

修改权限不一样

(1)字符串是存储在常量区的,所以说,字符串没有修改权限。CPU无法对字符串修改。
(2)字符数组要么是静态数据,要么是栈中。CPU都能够对字符数组进行修改。

断电存储大小不一样

(1)对于字符串而言,他是在常量区,所以即使机器断电,他的数据依旧存在。
(2)但是对于字符数组而言,假如他是局部变量。断电之后他的数据就会消失了。但是字符数组是全局变量他的数据还是会存在于ROM。
(3)这么不明白的同学,可以看RAM明明断电会丢失数据,为什么初始化的全局变量存储在RAM?详细分析程序的存储

http://www.dinnco.com/news/58781.html

相关文章:

  • 网络科技工作室优化营商环境条例
  • 扁平化设计网站 源码重庆百度
  • 做网站的框架组合seo网站分析报告
  • 微网站开发外包公司策划推广
  • wordpress cdn ip品牌企业seo咨询
  • 网站建设如何交税中国产品网
  • 广州网站备案号长沙专业做网站公司
  • 长春推广公司裤子seo标题优化关键词
  • 网站怎么引入微信支付首页优化排名
  • 软件开发公司的管理搜索优化推广公司
  • 建设旅游网站的意义创建网页步骤
  • phpcms v9网站地图电商培训班
  • 南川网站建设百度app下载
  • 大连做网站外包西安专业网络推广平台
  • 南京哪些公司做网站深圳网站开发
  • 企业网站的主要功能关键词是什么意思
  • 网站建设摊销时间是多久吉林网络推广公司
  • 腾讯网站建设公司南宁排名seo公司
  • 西安专业建网站免费网站建站平台
  • 做网站就找喇叭人网络营销的发展现状及趋势
  • 做网站哪里比较好公司的公关
  • 做食品检测的网站广告关键词查询
  • 10个值得推荐的免费设计网站十大小说网站排名
  • wordpress网站怎么仿百度搜索关键词排名查询
  • 郑州专业网站制作服务费用网络营销渠道有哪几种
  • 做外贸如何通过网站精准找到老板联系方法注册公司
  • 电子商务网站建设与维护 书北京百度竞价托管公司
  • 网站开发 手机 电脑长沙推广引流
  • 网站开发要写代码吗产品软文范例100字
  • 网站开发提成优化模型