00:01
指针的时候给大家简单介绍一下什么,介绍一下这个指针和数组之间的关系,那下面的情况下,我们就需要从头给大家去理解一下这个指针和数组之间的关系啊,右击添加一个添加项D。零七。是指针合数组啊,这是俩词。C。好,我们去写下代码,首先先写个数组,Int类型AR,然后是。十让它都等于零啊,不给数值啊,不是给数值都为零,那然后我们这里面看一下啊。PINTL。百分号P,然后。斜杠N逗号一个AR。等一下改个东西啊。这是603604。那我们都知道这句这句代码啥意思啊。打印一下这个数组地址,是不是他也等同于另外一种写法,就是等于谁啊,等同于这个是。
01:04
And,诶and啊,Sorry,这个and写错了,And谁啊and a0是不是都是代表什么,都是代表这个数组地址啊,那地址情况下,那比如说我这样操作应该是个地址AR。让等于个十。那你看这里面怎么样。啊,出错了什么错误啊,说这个是表达式必须是可修改的左值,那这里面说了一个问题,就什么问题,就是数组名。是数组,数组的首地址。它啊,是这。是一个常量,常量怎么样,不能修改这个值吧,就是我要修改什么,修改AR这个值修改不了,那这是是大家记住的啊,但是它是什么类型的,它是一个整形类型的一个数组,然后这他的名字又是一个地址,那我们也可以把这个什么把这个。
02:00
数组当做一个指针来看待,那什么样的类型呢?是int星P等于AR,注意一下,这里面没有什么符号啊。没有六安的符号吧?没有安的符号代表什么?它俩是相等价的是谁跟谁等价是。是P等于AR,注意一下这是这样这样这个这种写法啊,所以说这个有的时候写的时候你要注意啊,我写这个星跟谁挨着跟没没啥太大关系,知道吧,数据类型是哪个,数据类型是这个,那就是什么意思呢?再跟大家讲一下,就是数据类型啊是。数据类型,然后是星后面加什么。变量名是这个格式,知道吧,我们操作都是操作什么操作这个变量名是不是,那这个变量名前面再加星啊,跟这个前面没关系了,知道吧,跟这个前面没有关系,变量前面在加形式指向谁啊,指向这个变量存地址的这个值日,就这意思啊,这是咱们值啊又这又又给大家讲了一遍。那好,那既然怎么呢?既然这里面存的什么,存的是这个AR和这个P相同,那我可不可以拿这个地址来操作这个数组啊。
03:07
来我们看一下,比如说我要打印一个。呃,不是打印一下这里面所有的值。I等于零,I小于十,杠I加加。然后这里面平时操作情况,我们都怎么操作这样。百分号D斜杠N逗号一个AR中的这个I,那我们知道这样可以操作,那这个还是个什么,这是不是地址啊啊,这个地址和这个是不是相同的,这个P也相同的。那我们先运行一下看结果啊,调试开始执行。那这里面打印是不是都是零啊,这个是我们正常想要的这个结果啊,就是这个是呃数组,然后去打印这个值,那这个前面跟大家说了,这个是AR,它就等同于什么,等同于P吧,那我可以把这个P当做什么,当做这个地址来看待,然后再什么这个是中括号里面的I。
04:04
看一下能否打印出这个数组里面这个值啊,看一下调试开始执行。是不是同样的道理没有问题啊,你可以把什么,你可以把这个P当做什么,当做这个数字手地址,那这个是其中一种方式是打印出这个值,那管件是什么,是指这个是指针吧,是不是指向谁了。对呀,是个什么呀。数组是不是啊,这是指向数组的指针,这是我们其中学的第一块啊,写下注释。第一块指向。数组的指针,那说是谁说的,是不是这个P呀,啊指向这个是一个数组,那我们可以怎么操作呢?是当。操作指针的时候。间接的。接。
05:06
间接的操作了数组是不是这意思啊,那我这里面什么是P是数组的这个什么,这个是首地址吧,然后这里面的I呢,就是每次情况是变几啊。重启啊,从这个是。从一直变到多少啊。九,那这个这里面我们知道是数组下标是下边从零到几的到九的是不是,那这个地址呢,我们看一下地址变化,每次情况下是几啊,是P里面的这个是零,然后是P1P2是不是往下走啊,它是不是也相当于我们另外一种写法,就怎么写是星P,这是第一个吧,啊然后我们让这个P做一个操作什么。P加上这个。啊I啊,这里面可以从几开始,从零开始,每次加这里面这个I变化的是变化一,是不是因为我这里面做了个自增操作,是不是每次变的是一,但是内存地址变的是几啊。
06:02
嗯,内存地址。变了是多少个呢?是一乘一个size of。Int类型的一个大小知道吧,那比如说这里面我是个其他类型数组,比如是个差类型数组,这里面加一的情况,这里面加几啊。加一个内存地址大小是吧,那比如是double呢,Dou BU。B大呢,这里面这个变了多少啊,变了一个是变了八个内存地址大小是不是,我们在这里面看的是几啊,看的是一啊,那好,那我们用这种方式也给大家演示一下,看这里这样的方式能否去打印出我们这个值。PTF,然后是扩扩起来。百分号D,斜杠N,这是它的格式,然后我想通过怎么通过这个指针来看待是什么是星P,看的是第几个。嗯。看是第一个是不是啊,我得让这个P发生变化才可以,是不是啊,那怎么变化呢?我是这个是个地址,这前面加的变成什么,变成取值了吧,我得让地址变化再取值,是不是才能变化成我数组这个这个里面的东西啊是那我看一下是这样啊,加括号,然后给它加上一个。
07:12
I的值啊,别是一啊,因为这里面每次是一,但是在这里面我们已经把这个I变成增长了,那这样情况下看一下能否打印出这个值,调试开始执行。是不是同样可以啊?是double吗?啊,这个无论什么类型,它加的只是这里面加的值是不是加了变了吧,这里面正常情况应该加四,加上四是不是在这里面,如果是达到情况变成加了八了是不是,但结果是不是都一样的,那我们再改回来啊,是int类型,这个值当然是int类型,如果你用百分之D百分之号D打印的时候,这个可能是如果double情况可能出错吧,但因为咱们都是零啊,那我这里面再改个值,一二三四五六七八九十,那这里面看一下调试开始执行。是不是也没有问题啊,没有问题啊,这里面那如果是大报情况下,可能就不一样了吧,啊为什么大报不一样呢?因为这里面是转化D吧,转化D情况,输入输出的情况下,就是怎么着,就是给他转一下了吧,应该全是零了吧,应该是。
08:05
哎,这里面又乱了吧,啊乱就不用管了啊,因为这个是类型不一样啊,咱们还改成int啊,那这是什么,这是我们通过指针去操作什么数组了吧?啊,那这是第一步指针操作数组。那同样我们这里面还可以怎么着,还可以通过指针给数组进行赋值操作,是不是咱们上午讲了什么星P,然后是等于100改变哪个值啊。改变哪个值啊,改变A0里面值是不是数组里面A0里面值,那比如说我这里面星,然后是。P加一这里面改的是哪个?第二第二个,第二个里面值是不是,那我这样写呢,是P,然后是五等于300,这里面改变哪个值啊。下标为五的是不是,那这是不是改变下标为五的,看一下012345就是六这块应该变成多少300是不是啊?那我们把这个拿到什么,拿到这个下面执行一下,就是这个放在前面,这个放在下面执行一下,调试开始执行。
09:11
看这里面是不是对应这个原本六这块应该是300啊,那我们看这两种写法,这些在这里面是不是咱们也演示了,在这里面又给单独拿出来一个演示,一个是打印的时候,一个是赋值的时候,都可以操作,那我们管这种这两种操作都叫什么呢?都叫这个是。Oh。叫指针的降级。操作我们这里面现在是用的几级指针呢。一级指针一指针再降下级变成什么极极极极指针了,零极指针了吧,零极指针就相当于我们什么一样啊,变量一样是不是啊,变量存在,那这里面这个现在是不是有个指针前面加个星,那我们知道这种操作是什么,访问这个值是不是啊,这种方式也是访问这个值知道吧,就是你你把这个是中块五,它也相当于什么,也相当于这个是。
10:02
星。然后是。嗯。P加上五这个操作一样的啊,比如说等于300啊,这这两种方式操作一样的,为什么操作是一样的,因为这两种方式指向的这个地址都是什么呀。同一个地址吧啊,同一个地址,那这这种方式是怎么的?就是找到这个是数组,数组下面第五个,这里面情况是不是也得也得加到五啊四五二十是不是从这个手臂纸,然后加上20到是一个新的地址,是不是这种啊,这种是不是也是啊,这里面加的是五,其实是乘以个多少啊,乘以一个液态类型大小吧,然后再取什么。取值,那这样情况这两种都行,那我们再看一下新新的一种方式啊。是。P加加,然后然后呃,这里面先假如说这个什么,假如说这个先把这个注掉啊,这是第三种情况了。P加加,现在P指向谁啊?PP指向是AR,是不是我让这个P加加,然后是星P。
11:02
等于200,那我抽的是哪个?啊,这里面跟大家说一下,那是怎么个情况呢?这俩如果相等情况下,默认情况下,这个星期就在没改变之前。星批。它应该等于多少这个值啊。等于二零,这是等同于啊,我先这样写啊,写一个错误的方式啊,是一个注释的方式啊,是这种先生。他不是等同于0220里面内容吗,是不是。我让这个P加加它的操作是做哪个操作是P,然后是等于P加一的这个操作是不是这里面加个一,那这里面指向地址是不是就变了,指向哪个地址呢?指向下一个地址了,它这里面加一等同于内存地址中的加了多少个?一个int类型的大小的一个大小。啊,那我们这里面可以验验示一下,验验验证一下啊,先把这个先注销掉啊,就这两句话啊,这是第句话,这是第二句话,这是第三句话,让什么让这个P等于谁了啊,等于我这个。
12:04
啊是AR,然后让P加加,然后去打印这个值,那这里面在操作的时候可能会出现一个什么数组下边越界的一个问题,那我们看一下啊,调试开始执行。哦,这里面改变是哪个了。改变是第一个是不是,但他是第一个吗?我又换一种方式给大家演示一下,把这种注销掉。用哪种用是AR这种给大家演示一下AR给大家演示一下调试开始执行。这是不是才是我原来数组啊,但是我改变完之后,这里面P如果做了操作之后,就是它这个值发生了变化,那这种的时候P这个值发生变化了吗。没有吧,啊,就把这两个再拿出来给大家对比看一下啊,是复制一份拿到下面来。啊注销掉啊,就是这两种形式,这个P发生变化了吗?没有为什么呀,P加了个一,然后再取出的地址是一个什么呀?是一个对应什么呀,对应这个P,然后向后移了一个位置是不是,那这个是怎么是把P往后了移了一个,移个位置之后,然后再去取值,这两个是有区别的啊那我把这个这两种方式大家知道了吧,那我画图再给大家演示一下这个整个的咱们这个这一块啊做哪些操作,先画一个数组,是一个整形数组。
13:22
这数组里面,比如说有十个值啊是。Oh yeah。一个。然后是。CTRL加CCTRL加V粘粘贴不了是不是可以吗。选择卡加C,卡加V。钢化。逗我逗我啊,下好了,咱咱不再不再研究这套东西了啊。几个了,四个。五。六。7899个号再画一个。十个了吧,够了吧,那我们这里面定一下是一个int类型的一个数组AR,然后让他。
14:03
等于一个。一二三四五六七六五六七八九十,那这里面存的值是不是你也知道啊,是12345的去外值啊是不是,那这个数组名也是数组的首地址,那比如说给它起个编号,比如说叫零,XFF0,零对应是哪个对应是。啊,第一个,那下一个是应该是多少啊0SFF04是不是因为一个液特圆形大小吧,那顺带往下走咱就不管了,那默认情况下它。就是它的什么呀,它的首地址是不是就这个数组名啊。AR式的数组名,同样我们定一个int类型的星P等于AR,那现在这个P指向这个什么呀?指向这个地址是不是就指向这块了啊,那我可以画一个P这个什么,P的这个内存的一个模型图啊,假如说这有个什么,这有个。P。T是个什么?T是一个取值,应该取个值吧,这个值对应的就是什么,对应的就是这个是。
15:04
0SF00是不是这个啊,那我操作的时候,这前面加个星的情况是不是就改变这个这个里面值了吧,啊和咱们之前讲课内容是一样的啊,然后画个圈啊,前面加个星。好,那这样情况是不是改变第一个里面值了,改变第一个里面值的情况下,那我让这个什么这个指针做一个加,加之后再让它取一个星,是不是就指向于第二个啦,然后顺序往后走,当然我们用指针操作这个数组情况下也可以也会出现什么呀,数组下标越界吧,比如说这里面加了个什么,加了一个十,那这里面变成多少了。是不是跳过了整个数组变到这了吧,这个这个这个指针指向啊啊,再加11,它又往后跳了一个多大一个int类型大小,这个加一取值跟谁有关呢。跟这个只就是它这个定义这个类型这个有关,知道吧,啊只针前面这个类型有关,那好,那我们知道是什么,知道这个加一之后变的一个,但是在我们内存中变了几个。
16:08
四个大小啊,因为什么,因为这里面变了一个int一个值,那我让这个P加加之后,这里面存在的值是不是就发生变化了,如果说这里面P如果做一个加加操作。它这里面值发生了变化,变成一个什么样的值啊,我用红色来表示一下啊。这里面变成了0SFF,零四,为什么是零四而不是零一,而不是零一呢?是不是前面跟大家说了,跟他自己这个类型有关,是不是啊,那这里变成零四的情况下就指向哪了。指向第二个了吧,就不再指向于第一个了,这是什么?这是指针的加法操作啊,指针和数组里面加法操作啊。它这里面就指向于哪了,指向于这个是这块这个内容了吧,啊指向这块内容,那我在改变的时候,比如说这里面做一个操作是什么是。星P等于200,我是不是改变这块区域的这个值,给它改成多少了?
17:05
200了吧,是不是这样。就是这个原理,那好,那比如说什么,比如说我这个改变完之后,那我再做一个操作,是这样操作啊,你看一下给大家再加深一步啊,又做操作是。P。然后是。二等于。300,那我现在改变是哪个值啊。两个值,第三个值是吗?0123,你说是指向指向这个值吗。是这个吗?为什么呀。来这里面跟大家说一下啊,来来我说我说我知道你们懂啊,如果P这里面做了加操作或减操作之后,它还指向这个数组了吗。不指向了,是不是因为只发生改变,就像一等于一这就成立了,是不是一等于一加一还成立吗?不成立了吧,它是不是指向于其他的这个内容了,指向其他内容之后,这个就作为什么这这个就作为这个数组首地址了吧,我再往后查几个啊。
18:09
他俩是不是012,是不是这样查啊,然后这里面变成几了,这个值变成了是。300这样情况下可以了,那这里面就是如果做了一个增长或这个降低之后的操作就和原来这个怎么不一样了,知道吧,那在这里面比如说再写个AR中的这个是二,让它等于400,那改变是哪个值啊?是不是改变这个值啊,因为这个值始终指向哪,指向这个开头吧,啊,所以说这里面是有区别的啊是。400,那好,那我们把这个刚才说的这个问题再拿到程序中去验证一下,加加之后,那我们就把这个值赋值为200,然后怎么着P。二等于。300,然后是AR中的这个是。二等于。
19:02
400,那我们再看一下这个结果啊,只是开始执行。是不是改变是哪个是不是改变这这个值啊,因为这个AR这个R是不会变的,知道吧,你无论加几它都不会变,那这个怎么的,这个这个是一个指针,这个指针情况下可能发生变化,这个什么,这个是指向数组指针的情况下,如果这个指针发生变化,指向数组元素的情况下,它也会对应的发生变化,知道吧,当然这两种情况指的时候都会出现一个问题,什么问题呢?就是。数组。数组下标。越界那什么问题,比如说这里面给大家操作一下啊是P。然后是十,那是不是下标记了,我在操作这个数组的时候,那这里面就比如说打印正常情况是没问题,比如说打印什么打印是。15个情况下,你看啊,有块区域就被发生改变了,看一下哪块区域发生改变了,调试开始执行。诶,这个程序挂掉无所谓啊,那我们看一下有一块这个内,因为这里面我们非法操作内存了,看到了吧,会出现错误,咱先不用管这里面是不是有一个发生改变,变成多少了。
20:09
300这里面应该从哪开始数啊?P如果加价之后所这个是什么?第几个啊?第零个第一个第二个第三个第四个第五个第六个第七个第八个第九个第十个是不是这句话呀,然后等于几百了300,然后我们非法操作这块内存,然后我们程序报错了是不是啊,所以说这里面都会出现数组下标越界的这个问题,就是怎么操作,就这句话会出现数组下标越界。那当然我们前面做了一个加压操作,能不能做减减操作呢。能啊,当然可以啊,能做加操作,也能做简操作,怎么做简操作啊,比如说。现在P加加之后,那给这个赋值啊,这句话赋值错了,咱们先给注销掉啊,然后让P。减P减等于三,然后是星P等于100。
21:02
那我这样操作对不对啊。这样操作对不对。我现在P加加之后指向哪个数,数组到哪个位置,是不是这个位置啊,我就减去几个数啊,三个往这里面往前往前查呗,是不是我先把这关掉啊。我先查一下。一个是不是两个三个是不是指向这个了,是不是数组下标越界了,我在执行的时候是不是也会出现错误啊啊。调试开始执行。诶这啊,为什么没没出现这错误呢?是因为我没去打印这块值是不是啊,没打印这块内存的这个值啊,打印内存的值就发生这个错误了啊,因为我这里面指向是从哪开始,从AR开始指向的吧?啊那这个里面我们知道这个错误就可以啊,那我给大家写一些这什么,写一些这个呃。指针加减操作,那你看一下哪个是错的,哪个是对的啊,就在这程序里面去写啊,那咱们再再新来一个程序吧,啊,右击添加一个新选项。
22:02
是零八是。指针的,呃,预算。点C。同样,这个数组,把数组拿过来啊,数组拿过来。然后先把这个,呃,先把这个数组和指针绑定在一起,它俩相等,然后做操作,什么操作看一下啊是。P加加。然后是。星P等于。100,这是咱们之前写的内容,然后是。P。等于100。然后是。星P等于100。
23:01
然后是。P等于A。九。然后是。星批等月。100。然后是P。减减。星P等于。20。然后是P等于and a。零。然后是。星批。加等于。100。那我们看一下整个这个操作过程啊,你看一下哪句错了或哪句没错啊,然后咱一会去打印一下,那看一下这前两句话,这两句话就是假如说这这句话是我们这个表示什么,表示一个数组和一个指针,它俩之间的关系是不是,然后P加加呢,这里面指向哪了。数字中的啊,第二个元素是不是,或者下面唯一那个元素是不是它俩相同的吧,指向这了,然后我让什么星P等于100是不是,那我这里面把这个值改成多少了100了吧,那我们这里面是可以拿过来啊,做一个这个注释啊,到这为止做操作是把它改变多少了100了,然后我就做个P等于100,那这是什么意思啊。
24:25
也也指针了吧,是不是也指针之后由非法操作也指针这块内存了,是不是啊,这里面是写一下就是啊叫非法。嗯。非法。操作也指针内存,那我到到这一步呢。又回来了,然后指向第十个数,我又回来了,是不是,然后指向第几个了,第十个数,然后把第十个数改成多少了。
25:01
100了是不是这里面指向第十个数啊,然后在这怎么改成100了吧,是把最后一个改成这个是100了,然后P减减呢,指向哪了第九个了吧,是不是,然后让第九个等于多少啊。然后第九个等于20,然后现在呢,然后让P等于零,又指向哪了,开头了吧,指向开头了,指向开头之后,这里面是不是这里面做的操作什么操作啊收了。加了100星批加等于100,那这里面对谁进行操作,对地址进行操作,还是对值进行操作啊?值进行操作,让哪个值变了第一个值它是做了一个操作,什么操作加100操作变成什么101,那我只要把这句话中哪句话注销掉就可以了。你非法操作页纸针的时候注销掉,那是这里面你让他等于个页纸人数不会出出错啊,那我看下最后结果是不是幺零幺一百,然后最后是个100,然后是3456789啊,看一下是不是这样啊不循环,然后是in ti等于零,I小于。
26:08
十然后是I加加,这里面先通过这个是AR。呃,百发地斜杠N,然后是。逗号AR中的I的值,那我们看一下结果是不是这样啊,表示开始执行。是不是没有问题啊,这里面是呃幺零幺一百,然后是345678,呃,这里面20是不是改了没改啊,在这一步是诶这里面改20是不是到这下边都是怎么着,顺带是不是都20啊啊都20啊,那这个值这才是我们怎么着想要的结果吧?啊这是它的加减操作啊啊加加操作以及这个减操作是不是,那你再看一下啊。我再做操作啊,再做一个操作啊,这里面可能就让你看不懂了,P,然后加等于100,然后是。Int类型的length等于。
27:03
AR是。P减A。来同学问了,说两个指针之间还能还能怎么着做减法操作吗?看一下这个结果啊,那你我现在做这步什么操作。地址,然后给这个地址怎么样,加了100,那是加了100个地址大小,还是加了100个int类型大小啊。100个印证就行,大小是不是,那我们可以打印这俩地址,在这个之前打印一下,在这个之后打印一下,那100大家能计算出来是多少吗?太多了是不是啊,那行,那咱们一会计算器计算一下是百号P,然后是斜杠N,逗号一个。P是不是打印一下P的,这个不是不是骚扰,这里面是D吧,那或者XD用D打印啊,然后再和什么,再和这个是PTF。百号D斜杠N,逗号一个P,那我看一下它这俩差值就是什么,就是100的一个差值呗,是不是这是100之前100之后的,然后去打印一下啊,看一下这俩差值表示看执行。
28:10
在内存地址中差差多少个?400个是不是,多少个大小呢是。100个int类型大小是不是啊啊,我加的时候是加了100INT类型大小,我点了之后呢。让这个P现在是什么呢?P先是哪个P先是不是这个,诶我关了啊再来一遍调试开始执行。啊,这地址变你不用管啊,这里面应该是这个是五,这是九,是不是它俩差了多少个,400个,那我再减去之后呢,用下面这个减去这个,应该得到的结果是100还是400呢?是的。有同学说100,有同学400是不是啊,那那我看一下这是结果啊,是100还是这个什么,还是这个是。400呢,那打一下什么呀?打一下这个是Les是不是就可以了啊,是百分号D斜杠N,逗号LS。
29:04
调试开始执行。单呀。是不是就这就是这个,那我先做做一个那啥吧,做一个是这个是操作Les等于100,是不是这样就能区分开了吧,因为那个前面它也有这个值啊,你就没法区分了,开始执行。看得到结果是多少啊,100这个不是400,为什么不是400呢?两个什么类型的地址相减,就等到等于什么类型地址的大小知道吧。他们中间隔了100个特类型大小是不是啊,他们在减去之后也隔了一个100个类型大小是不是啊,这是加操作,你知道这是减操作,你就不知道了吗?是不是这应该是100啊,其实这一就是什么100个int类型的大小单位知道吧啊。那关为什么结果值为100,就是他俩之间的一个差值,什么差值呢?跟他们的类型有关,因为它俩都是什么类型呢?In的星类型的,所以说有关啊啊这个所以说减一个差值有关,那一般情况这是这是所谓的什么呀?减法是不是啊,加法减法操作,那这个指针情况下有乘法除法操作吗?有可以这么操作,但是操作情况是不是所有访问都是什么了一指针了吧,是不是因为你乘以个四,那指定是跑特别远了是不是,而且可能还那个内存都怎么就是是这个乘完之后那个数都已经装不下了是不是。
30:26
啊炸了,是不是,因为一般情况下我们做什么做这个。啊,指针加减运算的时候都做都做什么操作,加或者减运算是不是啊,那加的情况下,我们可以让这个指值加一或者减一是不是但怎么的?但是如果是这个减法情况下,还可以求出这两个之间隔的这个位置是不是啊?啊在数数中格的这个位置是不是大小啊。然后在这块咱们先给它注销掉啊,再不是不注销掉,再来个例子,这是801,再来一个例子。In的类型,Man括号括起来。
31:00
再写一块啊,彭浩先把这个数组拿过来。然后这里面写一个int星P等于。哎呀。然后操作一下怎么操作呢。P等于and,不是and a。九。然后是int类型的LS等于T减A。那他结果为几啊?V9还是V10啊。PTF。摆方D斜杠N逗号一个。L有没有其他答案呢?啊,十是不是有相答案就是十,那我们运行看结果是不是就知道了吧,调试开始执行。哎,发错了。我看什么啊,这是因为没关的错误啊。调试开始执行。
32:00
答案的结果为九,是不是啊?那这里面应该是怎么操作呢?这里面这个这个地址为多少啊。手地址是不是首地址和第九个,这里面隔了几个,九个是从这开始,是第几个,一个两个,三个,四个,五个,六个,七个,八个,九个,看这这才是减法是不是你不要把它算上去,如果把它算上去就怎么样。就错了吧,是不是,那这个地址如果指向于十的情况下,可不可以呢?可以,就是咱们已经凑出这个数组了吧,是不是再减去的时候,这得得得得到结果一起啊十啊是这样的结果啊,调试开始执行。这结果才是十呢,知道吧,减法是怎么是减去它的个数,知道吧,自己不能再算了,不像咱们查的时候,从这个零查到九是十个数,是不是减去情况是怎么是,这个是,呃,是。呃,就相相当于什么,相当于这个是十减一的一个操作,知道吧,这是第一个第二个第三个第四个第五第六第七啊第九是不是这样操作才可以啊,你这里面如果写九的情况下,它对应的是几个,他俩之间间隔了几个,九个是不是这是间隔,从这开始查是不是间隔第一个,然后到这为止间隔第九个啊这个红多同学到这写字的时候,这个不明白,咱们懂吗?
33:20
懂啊,那懂就可以啊,那比如说我可以怎么着,我可以这样去操作了啊,再写打印一下啊,打印一下这个值不循环。安。I等,呃,等于什么呀,等于这个不是不是直接不用int了是。啊,我看怎么去写呢,是。直接直接是。P等于。A中的这个是。零操作,然后是。P小于AR几啊,这是9H啊。
34:01
小于九,那好,咱们先用九个来看一下,然后是什么是。P加加,那这句话大家能明白啥意思吗?我给大家解释一下啊,这是P等于谁啊,等于数字首地址,或者直接写什么P等于这个是AI也行,是不是啊,不是这里面写错了,如果写的别按那呀啊是不是这样想啊,在这里面写错了,或者你直接写什么等于R也行,那如果在前面赋值情况,而且你没有改变的情况下。那我是不是直接直接写个写个什么,写这个是也可以不用写了,是不是。就是怎么直接是。分号什么也不用写,是不是可以啊,他用的是哪句话,是不是用这个这个这个这一句话啊,或者你把这个是呃in类型的星批,然后是什么。P等于AR,然后P小于AR9,这是不是两个地址啊,然后每次让这个P加加R,那这个P地址是不是发生变化了啊,Sorry sorry啊这里面这个出错误了啊,是R9是不是取地址啊啊,这里面是不是两个地址,然后每次P加加的时候,它内存地址变了几个啊。
35:06
内存地址变了一个,二变四个在这里面,那这里面我要打印的时候应该怎么打印呢?是你看啊,我先用这种方式打印,看可不可以啊,是百分号D,然后是斜杠N逗号一个。星批这是第一种打印方式啊,第二种打印方式是什么?是这个是。啊,是P啊,然后还有一种大家看是啊,这里面写有错误,当然有错误了,就不知道你让你们看哪个是对,哪个是错的呢,是P中的这个零。啊,然后是没没有一没有I了吧,那好,那看一下我这两种,呃,不是不是这三种,这三种哪是对哪是错的。打印我先验证一下,看一下第一个能不能打印出来,然后是第二个能不能打印出来啊。注销一下。行第一个打印啊,其实代码没没几行,是不是从这第一行第二行第三行第四行,然后第五行,第六行第七行,是不是就两调试开始执行。
36:01
123456789,这里面是几个数啊,十个数,咱们里面打印几个九个,前面跟刚跟你说这个减法问题,然后这里面告诉你写九还是写十,你说写九是不是这第一个问题啊,然后再看一下第二个打印这个值能否打印出来表示开始执行。传乱码是不是啊,因为这是啥地址是不是,其实你可以再看一遍啊,每次加的都是几啊。四是不是这里面P加加这个值是几啊?是四是不是那把这个注销掉啊,这个是错的,那看下一个。每次打印都是P0,看行不行啊,是调试开始执行。123456789是不是没有问题吧。两种方式都可以,怎么都可以找到这个对应的这个什么数组这个地址吧,是不是,那我这里面是不是应该出现一个问题,应该怎么的,小于等于九是不是可以啊,看一下调试开始执行。十个了吧,没有问题或者怎么着。小于十,那你看刚才这里面减去这个结果为九,你知道了,然后是从哪开始啊,从从零,然后到小于九是几个数啊,零小于九,01234567899个012345678怎么回事呢?喂啊,我算一下啊啊对这个这个不是从零开始算了,这块就是属于一了,是不是对这个减完之后不就是这个,这是一个一,咱们刚才说的不就说这个问题了吗?是不是我把这个都绕上去了,这块应该是从几开始,从一开始了吧,是不是,然后到到哪啊,到小于等于九这种方式就怎么的就对了吧,是不是十个了啊,那如果是十的情况下,虽然这个是怎么样。
37:52
越界了是不是虽然越界了,但是这个十这个这个这个地址我到这了吗?没到这来知道吧,这个程序怎么就不满足了,所以这两种方式都行啊,就让你小于九不是小于等于九和那个小于十是不是一个道理啊,这是通过指针进行什么循环操作,那这块懂吗?
38:09
等我把这保存一下啊。
我来说两句