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

深圳网站优化推广方案wordpress 添加导航菜单

深圳网站优化推广方案,wordpress 添加导航菜单,注册网站流程和费用,艺术培训学校招生方案前言 (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.yayakq.cn/news/834147/

相关文章:

  • app软件小程序网站建设wordpress情侣主题汉化
  • 网站制作金华公司电话注册工程公司名称大全
  • 网站备案域名需要解析到备案服务器吗哈尔滨信息港
  • 温州营销型网站建设网页 代码怎么做网站
  • %2enet网站开发archlinux+wordpress
  • 网站建设相关工作总结wordpress做图片站的可能性
  • 简单的公司资料网站怎么做wordpress中文评论插件
  • 网站改版需要注意什么wordpress网站换字体颜色
  • 泾县网站建设分销系统一般多少钱
  • 张家界seo网站优化福州专业做网站的公司
  • 旅游网站开发的意义相关资料做展示网站步骤
  • 易科技 建设网站wordpress顶部菜单哪里设置
  • 网站做公司宝安的医院网站建设
  • wordpress建m域名网站做烘培的网站
  • 网站快排是怎么做的旅游网站制作过程
  • 自己公司怎样弄个网站家具设计公司
  • 成都网站开发等项目外包公司雷州手机网站建设
  • 四川做网站设计的公司遂宁市网站建设
  • 手机网站建站步骤论文做模板网站赚钱吗
  • 电子商务专业网站建设杭州 兼职 网站建设
  • 怎么关闭自己公司网站惠安网站建设价格
  • 建网站的步骤四川建设招投标网站
  • 可以做网站吗中国建设银行官网站下载中心
  • 网站怎么换域名深圳南山做网站
  • 燕郊网站建设网站是怎么做新手引导
  • 该网站受海外服务器保护新建wordpress无法发布
  • 网站设置反爬虫的主要原因网络推广都需要做什么
  • 要服务网站建设软件服务外包人才培养专业
  • 深圳有哪些网站开发公司电脑做网站服务器WIN7 买个域名
  • 作it去外包公司好吗seo网站推广方案