00:01
内容知识点啊,看一下啊,还有一个叫什么指针和字符串,那怎么呢,是通过指针去操作字符串是不是就这意思啊,那这里面定一个字符串,然后让他怎么呢?是呃星B等于str,是不是咱们这这个都经常用了,是不是我们可以改变这里面只要那我们通过程序来给大家演示一下啊,是指针指针和字符串这块的。右击添加一个新星项。零八指针和字符串。角C。井号一。那这里面先定一个字符串差类型的AR,然后让它等于。Hello word差星P等于AR这句话知道啥意思吧?啊将这个,这是一个数组是不是,这个数组复制给什么呀?一个指针是不是,那我们其实可以这样写啊,是星P,这是一个什么指针是不是P等于AR,那这两个是不是相等的,它相等那我可以拿过来它去改变值,改变这个是字符串里面的值,那看怎么改呢?星P改变是哪个。
01:10
等于单引号的A。嗯。好,这里面P加加,然后是。星P等于。B注意一下,这里面我都用单引号,你写来了是不是改变哪个值啊,改变是一个字符的值吧,是不是啊,然后是,那我如果这样写打印一个P,那你说会是一个什么样的结果啊啊sorry啊,这里面写错了。逗号PA。来我运行一下啊,大家不要再说了,那我们看一下把这个先注销掉,这是零几是007。好,我们看一下这里面会打成什么样纸啊,调试开始执行。
02:03
打那什么?B,然后是word,为什么没把A也打印出来呢?这里面。我气的我一口老血都吐出来了,是不是P加加了,P加加都不再指向谁了,哎呀了,是不是,就是指针相指针相加相减的内容,是不是我以为大家都会了呢?是不是结果大家不会,那咱们再说一遍吧,这句话是什么?让这个指针等于数组,我可以通过指针去操作这个数组是不是啊,星PA,呃,不是星P等于A,单引号的A是相当于改变谁哪个值啊是。是A0的值是不是它也相当于谁啊?P0的值是不是我让这个P加,加之后,那P指向哪了?AR,然后这里面是相当于什么?是P1,那我然这PE等于B的情况是改变哪个值啊是第一个是。第一个是A,第二个是B,然后是RORO。
03:03
L,然后是word是不是我打印的P的情况下,那这里面是。Board是不是,那它打印的什么,打印的是A呢?这里面值应该什么,主要是开始执行。这里面是不是就变成啥了,是alo是不是,那那我们再继续测试两个内容,第一个内容是。PTF。D斜杠N逗号一个size of。Set off,然后谁啊,Set off a,这是第一个值,然后这是第二个值。S tr Le AR。然后是s tr Les p,那你告诉我这三个值分别打印什么样的结果啊?这个打印什么多少个字符?44怎么查出来的?12个是不是这是这是五个,这是五个十个加空格是11个,再加斜杠零是多少个,12个这个值位12有效字符呢。
04:13
11杠。然后这个值呢。有同学说一,有同学说四,有没有下答?一四啊,有没有说是这个是十十个的十个啊,还有这种同学说十啊,说是开始执行打印的结果应该是。十十个啊,我这里面是是string length,那如果说什么,如果说我把这个拿过来,你不要嘲笑人家,十说错了啊,十是对的,知道吧,你这里面怎么错的,嘲笑人对的呢?是不是主要是看是行,哎,这里面是报错了,是这个原因也许错set of p的情况是几啊。是四是不是,这里面是什么?是这个P,然后string length p的情况下,我这里面走一个,然后它到哪为结尾啊,是斜杠零是不是,然后这里面打印的结果为什么呀?十是不是啊,整个班级就一两个同学说十,然后你们还嘲笑人家说是开始执行。
05:19
现结果是不是12,十一四这个P是set off,求出谁啊?这是它的变量对应的是哪个类型是差星类型是不是这个是四,那这里面string length,这里面求出来什么是?这是不是一个地址啊,到哪为结尾啊?子string length和咱们之前不手写过吗?到斜杠零为结尾是不是?它不管你有多少个字符,它就到斜杠零为结尾,那从这开始查有多少个。12345到这为呃到这为几个,五个到这为十个,这是不是这是斜杠零啊,所以说结果为十,是不是这是我们想要的结果啊。啊,这是我们这块啊,是字符串,字符和什么字符指针和字符串,那我们这里面再往下继续写,呃,再往下继续写啊把这个是给它注销掉是。
06:07
801。再来个802IN的类型MN括括起来。印对,呃,不是印对,型是差星,然后是。A等于一个。哈格勒WRD这之前上午给大家讲过,这是什么呀?字符串常量是不是字符串常量,那这个常量咱们先说了,它的这个生命周期是什么呀?还能记得吗?忘了啊,我再说一遍啊,是当程序运行起来的时候,它会加载到内存中,当程序结束的时候,它在结束,它和程序有相同的生命周期,知道了吧?啊,那所以说我们无论是在函数中操作,还是在哪操作,都能怎么的都能找到这个什么呀,地址是不是啊,那我们这里面可以怎么去找这个地址呢?比如说我们打印一下,能打印出来这个值啊。
07:01
白方S,然后是。斜杠N,然后是。逗号AR这样打印是没问题的,那比如说我这样操作呢,是PRPF是。百分号C逗号一个AR中的零。能找着这个字符吗?它虽然说在内存中存的是一个字符串常量,但它也是不是一个数组啊好,我们看一下这个第二只啊,那好,那我们再看一下下面操作是。大星。P等于R。然后是。屁。零等于。A。这样改这样可不可以啊。PTF。S,然后是逗号P。我改变不是谁,我改变不是啊,我改变是P0啊,可不是啊,是不是可以吗?可能会断掉。
08:01
调试开始执行。到哪到那单我看一下。第一个没问题,第二个是不是没问题啊,它是一个自出常量,但同时它也是一个数组,是不是,然后给这步赋值的时候也没发生改变,而是只有在这一步的时候,P0等于。A的时候出现错误,我给一个字符段常量做一个操作,什么操作啊。修改它的值是不是常量,能修改值吗?不能是不是,所以说这个值怎么的是错的,那这里面我修改了P0等同于修改了AR里面这个数据知道吧,为啥呢?因为他俩对应的地址是相同的,就是我用P0修改,或者说我用这种方式修改星P等于。单引号的A,那我问同学这样行吗?行不行?啊,有同学说行,你为啥行啊?还是不行。
09:00
不一样嘛,是不是同学说了这个里面这样这样行吗?我来演示一下啊,主要是开始执行。孩子挂掉了是不是啊,这两种不都是操作这个地址吗?是不是啊,然后前面不说了吗?都想给什么这hardwork去改变这个值,这个值是一个常量,常量的值不可能发生改变,咱们写一下啊是。班长啊班长,嗯,好的,同步啊,是什么呀,是的。乘呃是字符串常量。是一个。常量。的数组是不是可以满足数组条件是不是它有斜杠零吗?有斜杠零是不是啊,咱斜杠零就不说了啊是。可以。读取字符或者字符串,但是不能修改,看到了吧,那咱们再继续啊,再继续来一个。
10:00
那我按什么让P等于?好饿了,我。WR。这里面原先是P等于谁R了是不是啊,我再让它等于hello,那我再修改什么修改这俩值能不能修改啊?你这样能不能修改啊。可以了吧。这不换汤不换药吗?是不是还一个道理吗?它这原先指向一个是字符串常量,叫hello word,是不是指向于谁啊中的是吧?是,然后它又指向一个hello word。还是相同的那个东西是不是,那这个hellollwood和这个hellollwood他俩打印的地址是一样的吗?一样这个需要大家考虑的问题啊,我再说一遍这个问题,这个hello word和这个hello word打印的地址是不是一样的,我先在这打印一下什么呀,打印一下PTF,然后是P,有没有压注的,是一样还是不一样啊,肯定是一样的,我在调链啊,然后这里面怎么的,在里面再来一个,又重新复值了一遍,又再来一个。
11:02
这是这是怎么?这是第一遍赋值是先赋值VR,然后是R等于P,然后打印P的值是不是,然后第二次我要P等于hello的,这个hello是又重新赋值给P的是不是,这是不是一个地址,这是一个字符串常量可以对应我地址啊,给了P,然后打印一下这两个值是不是一样,那把后面先注意啊,因为这里面会引起程序异常啊。有没有压住的一样,肯定是一样的。看一下这结果一样的常量区看到了吧,那这里面如果在字符串常量区里面这个字,这个什么字符串,如果说你复制了一个,他给了一个地址,如果你在复制了一个时候,它怎么的就用上一个地址了,为什么这样这样写啊,省是不是节省内存的啊,这是咱们后面讲课的一个内容,如果前面讲了就讲了,这是为大家方便去理解啊。那比如说这样写啊是。然后再这样写是P。然后是。零,让它等于一个。
12:01
好,等一下我先这么改啊是。等一下啊。我再定一个,在下面再定一个,把它改成这个是数组了,这是A。数组,然后是P等于A1。那这俩地址一样吗?一样。这俩地址一样吗?不一样。你看这个是AR,然后打一下这个值,然后是呃,然后又等于一个什么,又等又它又是一个什么,又是一个。Hello word是不是这是hello,这俩是诶,Sorry啊。我感觉是这个啊,诶。好,这两次是不是也是打印的,那这也是hello,看这个hello word怎么样一不一样啊。不一样,为啥不要一个长一个在谈,亮一个在线。看一下地址是发生变化了吧。这发生变化之后,我们就可以得到一个结论,那这如果是以这种形式存储的情况下,我能不能改变这个,Hello,啊,可以吧,所以说这个存在的是战区的啊。
13:06
站区啊,客栈的站是不是啊,这个什么,这个是这叫啥呀,我没讲宾馆呢,是不是客栈和宾馆不一个意思啊,这个呢,这个是常亮区的是不是啊常亮区。所以说你在写的时候注意这两种写的格式,知道吧,你在操作的时候,你看我我如果说这个字符串能被修改的时候,我都用这种方式来操作,是不是,如果是查询的情况下,我是不是可以简化写成这种啊,当然这种方这种绝对比这种是不是要方便一点啊啊所以说你在操作的时候一定要注意这个问题,这是字符片和和这个不是是指针和字片的第一个例子,那我们保存一下啊。
我来说两句