00:00
说平了吗?好了,同学们,接下来我们要讲的就是我们的静态内存分配啊,静态内存分配好,那么我们接下来呢,去把这个写一下来到这里,邮件选C静态内存分配对吧?好把这个呢复制一下来到这里,我们叫静态内存分配,看静看内存分配真那鸡蛋种分派有一个特点,就是当我们执行过后呢,这哥们呢,就被回收了啊,再去执行它有问题,好我们看一下在这个地方里面,我们有这么一个指针,我们想给它赋值。
01:00
就是给它赋值,我要在一个方法里明确的赋值,比如说我们的这个放放方法,那注意我们要要想对它复数,要把它地址存回去啊好,那么我们把它地址存回去,注意了。我们把一级指针的地址传过去,那能够接收一级指针地址啊。还记得我们我们记得讲的多极指针吗?那多极指针里面就用到这个知识点了,你看啊,现在这个是一指针。那要想去接收。这个一级指针递指的这个必须是多少I级指针吧,这明问题吧,那也就是说我们去写一个方法的时候,这个方法的时候,那我们就需要所这样的一个事情了,在我们对方里面返回值为空,然后接收的时候,那就是因特类型的极值呢,I级尺针对吧,ADDGS啊说进去,然后我想把里面的值给改了。
02:14
那注意了,那么我们就这么做,就说我要给它赋值,是要赋值一个弟子值啊。哎,他这里面附的值,这个一级指针,他要要的是地子值啊,所以我这个时候就要去给他去出一个地子值,这没问题吧,好,因为指针它指向是地址嘛,内存地址嘛,好,那接下来我们就要去第一个对题I等于100把谁呀,把I的地址复制给他,就就复值了I好。这没问题吧,好,我们来写一下,这样这样我们这样,我们先把它打印出来,然后再写一下注射F,然后呢,我们就可以去把它取值好在前面加个形式取它的对应的值取出来好然它的值应该是一个什么百分号D的画行,然后一个星好这样子好去编译执行大看是得到100对吧。
03:30
好,那么在我们这地方里面确实复制成功了,好我们看一下先把它注册一下,这是定义一个我们的定义,我们的int类形的一级指针变量,没有负值啊。那接下来呢,在这个里面定一个方法,那这里面这里这里是定义我们的这个int类型的。
04:09
啊,I变量,并且估值为多少对吧,那在这个地方里面呢,注意了同学们这个什么意思呢?这个就是这个意思,就是要把我们它里面地址。啊,地址就是说去去把他的地址。是把I的地址赋值给谁啊?夫子给。我们的它里面的就是说里面对应地址的地址。对不对,好,就是这个代码的意思是把。我们的I对应的地址,地址赋值给谁呢?其实本质上。
05:09
给的是iPhone的变量吗?因是因为你接收的,因为要要他的地址,地址的话传过来,那也就是说去星号是取他这一个存储的地址,就是它的地址啊对应的值把它给改下,那也就是说把ID地址复制给F。变成其实是这个意思啊,变成它的本质是这个意思好。那么有的同我们去运行起来,所以看到是这样的一个情况,好大家再仔细看一下,我再打印。两次好,大家看好哦。执行,你没发现什么。诶怪了,怎么就变成负二了,这负二是不是变成垃圾值了,为什么呢?是因为这样的同学们,因为我们呢,在静态这种分配啊,因为分配是由系统分配,回收也是有序的回收,那也就是说在回收的时候呢,就是在我们执行过后呢,他就在一个不确定的时候,它就回收,但你再去调的时候,它这个地址对应的值变了。
06:16
什么一个情况呢?好,画个图给大家分析一下。好,那在我这个地方里面,大家看一下。首先这个是一个啊may函数函数,然后呢,它这个地方里面定义了一个啊I或特类型是int类型的一个一帧,然后内存地址假设是1000H,注意了。那么他现在存放的有值吗?还没有好,那没有,那接下来这个地方里面它又掉了这个方法啊,这里面又开了一个什么。系统帮我们。
07:02
看了一个fun fun fun这个函数,当然是把这个以地址的方式存过来,对吧?好,那这个时候同学们在我们这一方里面的话呢,好注意了。它在这个地方里面的话,又定义了,就是这行的码线执行嘛,它注意当我们这个地方定的时候,它是不是是不是这个也要开P空间呢。好,那其实就是先是这个ADD是它是一个的类型的什么二级指针,假如内存地址是2000H泰内存地址,那么里面它存放的是谁。啊是存放的是我们的这个I point的地址啊好,那么它这个时候就是多少啊H,好,那接下来有了过后,接下来这个地方里面,它又产生了一个什么I,然后什么类型呢?一种类型,然后3000H。
08:09
对吧,好,那这个时候它里面存放的值是多少。它里面存放的值是多少啊。700啊,好100。好,那因于百个后期来这个方法是什么意思呢?它其实就是这个意思。好,注意啊,这个代码的意思是什么呢?它这么一个意思了,好,我们去画笔了,就是这个代码的意思是什么呢。这个代码的意思啊,它是。四。把我们这个变量。它存储的地址。对应地址就是他地址对应的值修改为ID地址。
09:00
I的地址是多少啊,3000H。3000。好,那大想想,当我们一起过后,这个嘞被系统回收。系统回收过后,当我们再去取这个3000对应的值的时候,已经什么没了。啊就就值的时候就不,他有时候就是你执行过后呢,它就就没了知道吧,没了好那么又为什么嘞,系统回收了,也就是说大家明白的就是内存呢,这个东西啊,就是静态内存呢,是由什么呀。系统去帮我们啊,回收的也就是大家看一下做了一个小结,如果是静态的话啊,静态的话是由系统也帮我们啊。静态内存是编程执行后系统自动分配,自由释放内存呢,是占分配啊啊那同学们也就是说这样的话呢,它就会啊回收了好,那么这是静态内存分配,那如果我们不想被回收怎么办呢。
10:09
就动态了,对吧,我们先把这个现在。
我来说两句