00:00
也就是动态流程分配就可以解决这个问题,那么也就是说动态分分分配怎么办呢?好,我们就用到这个函数,所以这个函数它返回这个地址。啊,一指针的一个啊地址,那么在这个地方里面呢,用它回收这个重新回重新分配啊,这个到时候我们会用到。然后一会的话呢,我们就可以去去选了,然后我们先来看看啊,先来看看啊,先来写一写了,咱们地方里面把它。点一下叫动态内存分配创新出来,然后把这个复制一下。然后呢,我们要动态内存分配,内存分配,然后这个不变。啊,这个呢,我们这些都不变,我要变的是这里面啊,大家想对这个进行去申请的话呢,这个注意了,我们呢要的变了不是这种的,就是说我们要申请一块空间。
01:13
这一个空间,那这个空间呢,我们用什么去申请呢?用这个方法啊,用这个方法好,那么我们去把它给拿过来好,那么这个它这个函数的话呢,它返回的是一个内存地址,好,内存地址那地址,那内存地址的话呢,好注意了,我们去用它M。ALC,好,那注意在这个地方里面呢,我们就就申请多少呢,你看内存地址长度多少啊。就是就是我们指针的长度多少,就是指针是因为存放内存地址吧,那么那我们用多少啊,是四啊好是这个值它返回的是一个啊,说了因的类型的长度为多少,所以这个方法得出的结果是多少四,所以我们的长度为四对吧?这里面是一个长度,好那有的客户他注意了,它返回的是一个内存地址,那么内存地址我们用什么接收啊。
02:24
啊,指针呢,看,然后呢,我们去在这个地方里面把它给接收一下。好,那么接下来有了过后,我们就要对它进行负值了。好,我们这个时候呢,可以定义一个int类型I等于100,好,注意它这个地方里面,它相当于是一个。它相当于是一个,它相当于是是一个,什么是一个指针呢?那指针要赋值,是不是前面加上一个星号,然后等于I。
03:05
这样子啊,是负值这个问题吧,好等于它就是取它地址对应的。就是把它地址对应的值赋值为100有问题吧,好,那但是这个值数现在跟它还没有关系啊好,那接下来就是取它里面I及指针对应的地址。是一级指针地址啊,把一级指的地址呢,刚好这个temp就是一级指针的地址啊,所以它就可以了,有问题吧,好,那我们现在去编译。一下看是否通过。啊,通过了,我们去执行是三次打印多次都是还是100是没有未回收啊。好,那我们列看一下了啊,首先在这个地方里面定义一个的变量,好这个呢,这个是个指针,没关系,然后它又因为它返回内存地址,所以我们只能去接,这没问题吧。
04:03
那么接下来这个代码是什么意思,其实就是这个把I对应的值对吧,负值。给谁啊?给碳给我们的碳地址对应的值对吧?复制给碳地址对应就是意思就是把碳谱这个指针变量对应的地址对应的值把修改成多少。一修改成I,对应值也就是100。拉我拉嘛。就是意思就是说把碳谱指针,因为指针指上是地址嘛,就把这碳谱它里面存储的这个这个地址,然后它对应的值,把它修改成多少100修改成I对应的值对不对,这意思好,这个呢,就是把我们的。
05:13
啊,这个AA。对应的的地址,对应的值修改成多少啊。Temp temp就是一个什么地子好,为什么呢?因为它是埃级指针,埃级指针加个心是取一人地址啊,一人的地址,那么呢,就把它修改成什么这个这意思。好,竖开时差,好那么我们去把它运行起来,所以得出的这样的一个效果,好我们再画一个图啊画一个图,这个又是什么意思,对吧?好,那这个是我们一个内存分配。
06:02
啊,当我们这个内存分配,当我们一执行过后呢。这是静态内存分配啊啊静态静态预存也就当一旦执行过后呢,他就卡嚓了,当时有系统去做这样事情对吧?然我们就把它给保存图片配好,然后呢把它给擦掉,然重启去做一个。好,这数组好,这个也标了,好我们去画一下,好在地方里面大家看一下,在这里面的话呢,就是我们的一个。
07:01
没方法,好,我把它给放在。对一些。可能还要把它细一些。好,那有了扣这里面呢,没方法。函数好,那么它里面有什么值呢?一是我们的I或特,它是一个指针,用的1000是帧,内存地址是1000H,对吧,里面存放的值现在有吗?同学们。是没有值啊好有了有过后,接下来我们另外一个方法。方法好,放。方啊放方法好,然后函数对,那这里面呢,它有几多个值,第一我们重复的时候,这里面有个去见识啊。
08:09
好方程的话呢,就有一个ADDG类型是多少啊?二那些例子假设是少1100,它里面现在存放的地址是多少?是一千一血啊,好,1000H好,那么接下来这里面又定了一个I,当执行这里的时候,I它是定的类型好,内存地址是3000H,申在内存中申请内存地址好,那这个时候它存放的值是多少?一般。它存放的内容是100好,只是内容对吧,那有了后我们再看一下这个地方里面。有一个temp temp变量,一种类型的一指针好,那么它的内存地址是4000H,那么它里面存放现在有值吗?
09:12
是没有啊没有好,那接下来没有过这个执行过后就这么一个情况,当执行这个时候注意了。然后呢,他在对应里面这个方法你执行过,在对里面开辟一个新的空间,然后这个时候呢,他这个时候又去做了一个事情,在里面又申请了一个。啊,有一个申减形成这么一块空间,那这个空间呢,它的大小是多少啊是是不是解对吧。好,然后在我们这个地方里面,它只要是是领空间,它都有一定的我们的一定的什么那个地址吧,好,那就这时候是5000H,好,那么得到这个申请过后,得到一个地址是赋值给谁呀。它就是5000H了,现在明白了吧,好申请过后,好,那接下来这个代码的话,再执行好,碳等于I。
10:10
那么星号的碳指的是谁呢?星号的碳指的是这个地址,这地址对应的址是,它要修改是多少,修100,这是100就100了。好,就这行代码一执行过后注意就把碳谱。对应的地址的值修改成多少100,就这样代码执行好,接下来注意了。A就是AJS是什么呢?就把as去去取它的地址。弟子,就他。然后对应的值修改成什么?
11:01
碳碳对应的值是多少5000,所以这个地方里面是多少5000 5000。那么当我们一执行的时候,这个地方会回收掉了,但是这个地方里面你看对应的值是吗?还在啊,从打印出来是一直是100啊好,那也就是我们在这个方里面的话,也要注意一点,就是这是5000,然后我们的之前指向的就是当我们执行过后,账单没有执行过后,也就是他这里面存放的啊,就是。在这个地方里面存放的啊,当我们这一个一直性额这2000,然后这个AJ等于temp temp存储的5000,那这个地方变成多少呢?5000H对吧?好,那这个时候拿着5000去取值,那么刚开始我们就取这个地方。好,取这个地方真的取到哪里啊,到这里来。
12:01
到这里了就得到100,那么如果系统回收了过后。回收了没关系,我取的是什么,根据地址去取值,在这呢,好得到的仍然是多少。100,所以这是我们打印啊多次啊,打印多次,你多次就取没关系啊啊,涛声依旧仍然还在。明白了吧,好,但是我们是手动去申请的。手动升级我们的这个内存空间,那手动去升级也带来一个问题,就是什么呢?没有释放对吧?好,那这个时候就用到一个什么这个方法。一首。把它回收好,我们给大家再去啊,打印出来看看。那最后啊,回收怎么办呢?福利把这个碳,因为我们是申请它嘛,把那个什么回收了,好我们编译一下,通过了执行,大家看一下又发现变成什么垃圾值了。
13:01
对不对啊,有被回收了。对不对,好,那同学们,这就是我们的一个什么。动态内存分配,那么这里面写小节,大家感兴趣自己看一看啊,看看啊,动态内存是开发的,手动分配是对分配的,对吧,然后这地地方的话呢,大家看一下这C语言的一些细节啊,细节就是总结的好,那同学们在我们的这个地方里面的话,这是我们的动态流程分配好。
我来说两句