00:00
大家不懂的情况,我再讲一个其他的内容啊,先讲一个这个无关的啊,是零六叫cos的con const cos的。修饰数组。修饰,呃,不是修饰,不是不是修饰什么数组修饰指针啊,啊就是要讲数组,就是这个脑子里一面讲数组啊,先讲个指针啊,那咱们上午就讲到这就算停止了,下午再讲那个数组那吧,太麻烦了,那那这里面什么,我们知道一件事,Cot,然后是in的类型,A等于十,那之前跟大家说过一种什么。这种方式。不安全,为啥不安全呢?说可以通过指针修改,是不是可以通过指针修改啊,通过指针修改是不是,那怎么修改呢?这是不是指向于什么,这是一个呃常量,这个常量是什么?是A等于十是不是A是不是也有个地址啊,无论常量变量是不是都在在中存着啊是不是,那它我是不是就可以这么的,我可以通过int。
01:04
星等于and a,求出什么呀?求出这个A的地址是不是,然后我再通过什么呀?通过这个星P等于100,我是不是就间接改变谁的值了,A的值我们打印一下这个A的值啊,是不是可以可以使用啊,然后是百分号D,斜杠N,然后是逗号一个。A,看一下A的值改没改变啊,然后再打一下星批的值啊。青皮。啊。502,然后是501,然后是401402好没有问题啊,调试开始执行。两个都是100了,是不是原先的值为多少,原先的值为十是吧?复制拿到之前,拿到这个改变之前啊,先定一个这个呃常量,然后打印一下这个常量值,然后再经过这个指针去修改,看一下调试开始执行。呃,十一百是不是,所以说这种方式不安全的,其实比如说你这个游戏等级,你就用常量表示是个什么呀,是一个是100级是不是,假如说你是个游戏啊,那其他的这个程序过来之后,通过指针是不是也能修改啊,所以说这种方式不安全,你如果这样写。
02:13
写个井号de,呃呃,Def DeFine,然后是level啊,是不是LV啊,是level的意思,Le v吧,这样就是就是那个是。让它等于个一百一百是不是,那这样在程序在运行的时候,它将直接将什么直接将100是不是放在这儿了,那你改变的时候,这个常量怎么这个是你找不到这个地址是不是,因为它不是这样写的,它对应的找不到这个什么变量名是不是,但是这个100在不在我们中存着呢?在我们那中存着100也是我们内存时候存的一个什么,一个是常量对应的这块内存区间,它不允许你去怎么的去改变这个值,所以说这个怎么的。他就他就是找不到了,知道吧,那就这样的一个区域啊。这第一种方式是什么?是是通过指针修改框的关键字啊,这里面写一下是第一种方式一。
03:08
通过。指针。修改Co。关键字。嗯的修改修饰的常量,这么写吧,啊这种方式。好,那我们继续往下写啊,这是601。这块明白了吗?明白这块比较简单吧,就和我们之前操作是一样的,只是这里面加个框而已啊,这是第一种,还有第二种。MN,然后括起来。我们既然什么既然这个cost可以修饰int类型变量,是不是,那它同样也可以修饰什么指针int星,那看下怎么操作啊是。Int。A等于十,这是个什么变量?是不是in的类型的星P等于and a。
04:01
然后啊,不是先先先先不等于二啊是。CONST。Int星P,那我们这里面看一下啊,比如说让P等于na,这里面是没有问题的吧,我只只做了什么,做了一个指针常亮是什么呀。啊,这里面指向于一个这个P的值,PP不是P指向于什么,指向于na,这里面和之前是没有问题,只是你把这话去掉是没问题的,但是你看一下我在修改的时候,我先修改谁啊先修改。星批对应的这个内容是改变谁啊,改变A里面这个东西吧,啊,星P等于100。你看一下这里面出现错误什么错误啊。然后去打印一下PTF。摆放D,斜杠N,然后是逗号。星批。Re return,一个零。调试开始是有错误啊,我是有错误,看一下这个错误叫什么名啊叫。
05:02
表达是呃是这这应该是这个错误啊,是左指指定Co对象,什么意思呢?就是如果Co的修饰in的星啊,自己写一下就是啊是。如果cost。修饰。行。那我是不是就不能再改变谁的值了?A的值了吧,嗯,就是怎么如果修饰间的星不能改变指针变量,指针变量谁呀。P是不是P是一个指针类型变量嘛,是不是啊修饰呃,指针变量指向的内存。地址的值,注意一下,最后这个是是什么呀。值我不能修改,是什么?是值是不是?是不是是不是这样,是不是这样,是不是有没有问题啊,没有没有没有情况下这个,那好那我继续了啊。
06:03
这种方式不行啊,这种方式不行,但是你看一下我再来一个啊,Int类型的。B等于20,然后让PP等于N的B,我再打一下星P啊,看一下有没有问题,调试开始执行。这里面打印是多少啊。20我是可以修改谁了,这个地址是不是,但地址对应内存空间,我是不是不能修改啊。那这这块啊,是如果Co的修饰in的星不能改变指针指向内存地址的值。但是。但是可以。改变指针。指向的地址这块明白了吗?我给大家画图啊,这个这个概念咱们说完了,咱们把画图给大家理解一下。好,首先有这个什么,有这个是两个变量,一个是。
07:04
A一个是B,我就不写A和B了啊,然后这里面什么,这里面有个是cos的,用红色来表示一下啊。Const,然后是类型的PP等于and。啊,Sorry啊,哎呀。说个sorry,还写错了,我看能不能加进去啊。加不进去。太太小了,空间。星,然后是P等于N的A。那是不是就是怎么的指向这块内存空间了吧,那这块内存空间比如有个编号是0XFF00,然后这是。0SF。零四看到吧,然后我这里面第一次让它等于什么等于NA,那是现在什么,现在是0XFF00。
08:01
然后我在操作什么,通过这个是指指针前面加个星,就是星片去操作这块内存空间的时候。这里面假如说这个原先的值为十啊。这种方式怎么是?啊不啊是不可以,那这样不可以,好像是要白的是,那这里面怎么是不可以直接操作什么操作这个空间是不是就是cos修饰in的星的情况下,就不再能怎么的不再能去。间接的改变这个空间里面值了吧,是不是啊,但是它可以怎么的。改变自己的知道吧,啊,可以改变自己的,就不能,就无论这里面这两个都怎么都不能改变了,知道吧,就比如这里面这个职位,什么是职位,这个是20,但是他自己这块空间它可以怎么的。他可以去修改,比如说原先的是指向谁了,指向于A的这个地址了,是不是您可以给他干掉指向于谁的地址,指向于B的地址。
09:05
0SF。零四啊,可以改变自己,不能改变于什么了,别人了是不是?那同样还有我们另外一种情况就是什么?就是下一种就是602602。就是。第二种是指向是course修饰in星的,还有第三种in ML括括起来。同样定义一个变量int类型的A等于。十,然后是int,类型B等于20,然后是int。星cost cost p等于A。看一下这种啊,那可以这样写啊,是框P,然后是P等于and a。那这样就不行了,必须直接给它赋值才行啊,P等于N的A。
10:03
那我们看一下这是另外一种是谁啊?是框修饰谁了,指针变量了吧,这是个指针变量嘛,是不是修饰P了啊,不再修饰什么,不再修饰int类型了,那我们看一下改变这里面内容啊,比如说星P等于。100。看一下可不可以啊。PRT。百方地斜杠N,然后是分号。Re return re。Re。啊。Ret。一个零啊,调试开始执行,没打印啊没打印。啊,没打印具体的这个指标,比如说是什么,比如说是。星P。调试开始执行。是什么100,那就是说如果说cos修饰星批情况下,我能改变这里面值啊,能改变这个值啊,这是第一步是能改变指针变量指向地址的值,是不是这句话能改变值了,但是不能改变什么,不能改变地址了,比如说让什么让这个P等于N的。
11:13
And b的时候就出现错误了吧,我们先把这块先注销掉啊,看一下这种啊是调试开始执行啊出现错误,我看一下这个错误什么啊。我们找一下是指令,呃是左直指令Co对象就是什么,就是如果说修饰谁就不能改变什么呀,谁的值是不是,那这里面写下注释啊,这这种方式错的,下面这种方式怎么样,对的吧,嗯。第三种情况就是。Cos的修饰谁啊?指针变量,前面说什么指针类型嘛,是不是这是一种数据类型啊,那我前面加上啊类型啊。这里面能改变谁,不能改变谁啊?能改变。
12:00
指针。指针变量。指向地址的。值注意一下啊,最后这个是一个什么,是一个值是不是,这个地址是怎么呀?P指向于谁的地址啊,是安na这个地址是不是,然后它的值谁啊,是十是不是啊,这个是可以修改的啊。但不能改变指针。指针指向的。地址,这个地址怎么样,固定了,只能指向于A,不能指向于其他的了吧,啊,就是相当于什么,相当于给他加个锁,这个锁锁完之后就怎么着,只能锁锁他的东西,不能再锁什么锁其他的这个东西了吧啊。这是第二种,那这里面同样用图给大家再说一下啊,那这里面就怎么就是这个被锁死了,知道吧,我再用一个红色框给它怎么着。啊,不是用一个这个黑色框给它框起来这块区域,那我画一个或再再怎么再换一个新的啊,保存一下,把这个保存一下是。
13:03
零四。零四。Co修饰。呃,修饰指针类型,指针类型啊,这是第一种。再新建一个啊。同样这里面有这个是。两个变量,一个是A一个B,然后这里面有个什么,有个这个指针,这个指针当什么,当这个是。Int星const,然后是P等于一个and a的时候。他将永远的怎么样?指向于这个。A的这个这个里面去,它就不再能指向。它就不能再指向于其他的一个区域了吧?啊,这里面是怎么样,是可以改变谁啊,可以改变这里面的值是不是啊。
14:02
用红色表示啊。No。可以改变这里面的值,但是这个里面指向怎么变成一个死死死的锁了锁什么。的是这个是,比如说有地址编号是0SF00,这是。0SFF04,那这里面永远锁的谁啊?永远锁的是0SFF000是不是啊,这样情况才才怎么才可以啊,可以改变这个值,但是不能改,怎么改变地址了吧?那写下是不能。不能改变。地址看到了吧。啊,这是第二种,第二种情况保存一下是cos的修饰。指针不再是类型了,还是什么是?变量了啊,这是零五。那有没有其他方式啊,还有还有下面一种是第四种cot,呃,不是不是。Int类型M。
15:00
Man,我全屏一下,前面写代码啊,这里面是602,这是603,这是604。Int类型A等于十,然后是,Int类型B等于20,然后是。T,呃,是const星,Constp等于na。啊,看一下这把我怎么样,加两把锁,那加两把锁你就知道啥意思了吧,两边都锁上了吧,就这面也锁了,这面也锁了,那就什么也改变不了了,是不是,那这个才是怎么才是我们想要的什么,想要的这个是常量是不是,但是二级指针也可以修改,所以说这个东西怎么的,就是你有张量计,我有过程机是不是你用你这个是一个什么,这假如说你写了一个常量是不是。我用一级指针能修改是不是,那我一级指针的常量呢,是不是应该这种方式去写啊,两边全锁死了,是不是我用二级指针也能修改是不是啊,那这是后面讲的内容啊,二阶之的时候讲啊,如果说这,那咱们先看一下这里面说明啊,咱先不用太激动啊,嗯,我有点激动啊,不是你们,那如果说这里面让他指向于谁了,指向于这个是呃,Co星修饰前面这块,然后这个Co又修饰什么?那这里面如果等于A之后,那我再什么P。
16:23
P等于and b。报错了吧,那这种情况报错,那好先注销掉啊,然后一会再演示一下啊,是星P等于100,这是谁啊,改成谁的值啊,A对应的地址值是不是也不改,也改变不了了,这两种怎么的都不行了啊,所以说这是怎么就是我们第三种是什么?是这个是不是第四种的吧,是。四是。Cons的修饰。指针类型,这是第一种啊,同时也修饰。同啊是也也就别别同时了,就也修饰指针变量。
17:05
那么就是不能改变。改变指针。指向的地址也不能修改,指针指向的值是不是这俩都锁死了,但其实用二级值的情况下,是不是它就变成什么门开锁了,是不是啊,这个咱们用不用再画图了。不用了吧,就这个被锁死了,这个被锁死了,他就不能再怎么样,再去修改,修改里面所有内容啊,那这这个保存了吗?这保存了吧,啊保存其实这个可以这样,就这样画啊,这个是一个呃,红色锁死的。红色锁死的这个是个什么?红色锁死的,你比如说再有其他的,比如说这里面在诶。再有其他的。它它怎么就是指向于这,然后这块也不能修改这个值,这块它自己本身的怎么的也不能变,这里面的也不能变,他也不能怎么的指向于其他的值,也不能怎么修改,它里面内容是不是全是叉知道吧,但如果你有二级值的情况下,这里面叉就怎么的就开了,是不是那这个画图有点乱了,就不给大家去演示了啊。
18:19
这是咱们讲的是Co修饰这个值。
我来说两句