00:01
好,我们看完这个是作用域之后,还有一个生命周期,那我们看一下提数片上的生命周期是什么?是这个从它扩建开始,到它哪为结束啊,是不是到那个函数结束了,它就为结束啊,这是局变量的做范围,那我们直接在这里面画图就行,在这面加加一加一排啊,加一排叫什么呀?叫呃。生命周期。生命周期。是函数,这是如果是局部变量的情况下是,呃,局部变量创建到。到什么到这个是函数的结束,函数的结束这是它的生命周期,它和它的作用域是一样的,就是它的它的生命周期就是在作用域范围之内,是不是啊就这样,那这里面还需要有一个这个深度挖掘的东西跟大家说一下,就是我们回到第一个程序中啊,注意一下,这里面我是回到第一个程序中啊,第一个程序中是有个这个变量A等于十,然后这里面有一个其他函数中的一个变量A,然后以一个全局变量,全局变量写在哪?写在这个这个文件中的吧,应该是A等于100啊好,那咱们再回到这个成中,还有一个问题跟大家说一下,比如说这个这个是是什么?是这个函数吧,啊函数,那函数中再加括号,再写个in特类型A等于。
01:25
1000,那我再打印一下什么PTF100分号D斜杠N逗号。以及把这个代码复制一下,拿到它上面去,那你告诉我这俩值应该是什么样的一个值。我全局全呃全屏给大家看一下啊,现在这个是再跟大家分析下之前那个程序啊,是主函数是不是啊,然后是一个调用一个print符,打印一个值A,那这个A有一个什么呀?有一个全局变量,声明这个全局变量是在这个零二里面来,有一个运对形A等于100啊再回到我们这个图形中,是零一,那第一个打印的值是这个是100是不是咱们知道了吧,然后到这里面定义一个局变量,这个A等于十,然后去打一下这个什么呀,Point百分之D斜杠N这个括号,注意一下,这括号和这个怎么是分开的啊,它俩不是连在一起的,知道吧,我可以再写个其他东西啊,让呃以示分开啊是。
02:23
PF,然后这里面写个分隔符,当当当当当作为分隔符啊。那你告诉我。一个名号,一号,一个单引号啊,一下就让我懵了,都不敢说话了,是不是我以为这程序的错,那你告诉我现在这里面什么,现在这里面打印一个什么,就在这个括号里面,我又做一个操作,是pro否斜杠A,然后这个A它对应的是哪个A啊,是全局变量A还是这个里面这个A就是呃,慢函数中这个A,我把这个零一给它打开啊,是哪个A,这个题打的是十还是这个是呃,这个是100。
03:06
啊,注意一下,然后这个里面是什么,这个十加十二十,那你告诉我打印的是这里面这个还有一个1000,你说打印是哪个十还是100啊,我们把这个之前那个代码给它注销掉啊,咱们回头来看一下,就是零七。调试开始执行,诶有错误转错误啊。错误列表是。零四,然后零七引用了零四。耽误。这里面还有008这个是不是啊,这static啊这块因为static修饰了是不是啊,咱们加加上static之后,这个出现错误了,是不是能把这复制一份拿下来啊,把这个static注销掉,然后把这个static去掉,那这样情况下这个是就不会出错了吧,就是静态修饰的时候,这个static在另外一个文件中是它的作用范围不同,所以出现这个问题啊,不是跟咱们这程序有关啊,开始执行看一下代码点。
04:10
这这么多错误呢,是零二是S02多了一个。定义在这里面有定义吗?我找一下。都注销掉了,在其他文件中应该也有这个是A点一啊这呢是不是找着了吧?嗯,因为他们这个怎么的就是一个全局变量,如果名字相同,他们就就把它当做整个项目中所有文件都有,都可以用了吧,是不是,所以说你定义多个情况下就出现这错误了啊,那看一下调试开始执行,看还有没有这个问题了。啊,看一下分割符之后的这个值,第一个值是谁啊,是全局变量中的100万,然后对应这个括号括起来,这个应该是哪个是这个这个值是十吧,然后是1000是这个值是不是,然后是20是哪个值是这个是函数内的一个值吧,然后这里面要打印一下这个值,A是这个值是不是啊,那么快啊,这个括括起来了,这里面是不是又定一个变量是A等于十,这个是A等于不是这个A等于前,这个A等于十在一个括号范围之内,它就相当于一个什么呀,一个作用域是不是啊?呃,咱们在讲当初讲括号的时候,我说是不是可以这样写一个括号,这个程序也能运行啊,我说这个叫什么叫程序几。
05:24
叫程序体或者叫什么呀,代码体或者叫什么啊,函数体是不是都可以呀,那这个这样写完之后,那是一个什么呀,是一个没有名字的函数,是不是可以这么理解啊,这个没有写这个什么,具体的这个名字没写到这里面来,就是一个什么呀,叫未命名的函数体是不是可以啊,那这里面是不是一个单独的函数,是不是单独函数啊,那这个。In的类型A等于1000,它的作用力范围是哪啊?它作用范围之内是不是在这是被创建出来了吧,你要把它当做一个什么去看待,函数去看待是不是,然后函数去看待,那这里面A等于100不是A等于1000是创建出来这个这个值是不是,然后到这为止是不就销毁掉了,那我们怎么去验证它是不是销毁掉呢?我们可以这样啊,PTF。
06:20
啊,不是不是这样,直接这样写也行啊是呃,这样写啊,看一下int星P,然后是。P等于A,然后这里面是PF。百分号D,斜杠N,逗号一个星P。如果打印出来这个值是100,呃,不是1000的行为啊,它是不是就怎么的,它是不是就是正面没销毁啊啊,如果打印出来是一个非1000的值,是不是可能就销毁了啊,但是这样演示它也不一定能怎么的,能把这个咱们想要的结果显示出来,那先运一下看一下结果啊,再跟大家说为什么不一定能显示出来啊。
07:05
是不P还等于1000呢,那同学说了,是不是这没没被销毁掉啊,其实不是这样啊,这块内存可能已经被销毁掉了,知道不是已经被销毁掉,但是这个值怎么的还可能是1000,知道吧,就它俩的指向,现在可能已经这个发生变化,就A等于1000,现在这不现在是P等于1000,它可能对,也可能怎么的不对,知道吧,那。那为了这个方便起见,我看一下能不能改完之后是对的,比如说是。先打印下空格,换下位置换下行呃行,我先操作一下啊,就我要操作我这这里面是不是在哪建的,是在占中间的,是不是我得需要把这个这块这个占怎么的给给它占上呢?它可能怎么的就就是呃,它这个A的值就已经变了啊,那看一下怎么去占那个值呢?那我定一个因特行变量B等于100是不是也可以啊,看一下能不能把那个占上啊,如果占上的情况下就就对了,如果占不上可能还是这个原来的值。
08:04
还是1000是不是啊啊没没加上啊,但这个生命周期还是只只只能跟大家说一下就怎么的,就是这个A在创建完之后,到这为止,这个A就已经被销毁掉了,知道吧,就在这个函数函数体制内的一个A啊,这里面显示结果,虽然这个显示没显示出咱们想要结果,但是它指针被销毁掉了,这是我们一个未命名函数啊,括号括起来的一个内容,那同样咱们再把这块内容先注销掉啊,再来一块内容。大家记不记得一个一个这个叫什么?叫复循丸in ti等于零,I小于。十然后是I加加。这里面定义的这个I和别的地定义一个I是不是怎么不冲突,是不是啊,比如说在别的地又又定义一个I,比如再来一个负循环啊,或者是其他这种这个I啊,Int类型的I等于100,那这样情况这俩I是不是不冲突的啊,那比如说在这个前面写的,比如说前面写个int类型的I等于100。
09:02
写在前面的情况下,那这里面这个I它会接着这个这个值会发生改变吗?你看in类型I等于100是不是,然后这里面是in内型I等于零,I小于十,I加加是不是,那我们看下这俩值是不是发生改变了,我们先打印什么,先打印一下外面这个什么呀,IPTF,然后是。斜杠N,然后逗号。I,然后再打印里面这一个啊。拿到程序中。呃,程序应该没问题吧,呃,为了这个方便,咱们看的这个区域,咱们给他这个加一什么,加一个这个是。加个分割线是不是可以啊,调试开始执行。我高主要是给费。然后看一下咱这个值就是这个这个括号区间内0123456789是不是,然后这个为多少啊,100是不是这样,这俩值怎么的不冲突是不是因为它俩这是怎么的是呃,虽然同叫同样的这个变量名,但是其实两个完全不同的变量嘛,是不是一个是在这个不循环这个函数里面去操作的,在这里面定义,那这个in特类型的这个I等I等于零是创建这个就是定义呗,是不是啊,在哪结束啊,是不是在这个循环结束的时候才结束啊啊,这个是的作用范围啊,这是变量作用范围啊跟大家说一下,咱们就讲了两种,一个是这个呃,没有函数名的函数体,然后另外一个是这个循环里面操作的,那是变量作用范围是呃,变量创建到函数结束,那这里面这个是不是可以把这个当做什么,当作函数是不是啊,那这个作用完,这里面是不是可以当函数啊,啊,这是它的操它的这个作用范围。
10:39
那我再看一下下面。下一操作是全局变量呢,它作用范围是哪啊,是整个项目中,是不是,那整个项目中这里面就隐隐含出一个问题,什么问题啊,那程序。是在创建过程中,那是不是就是包含这里面所有的文件了啊,所以说它的作用范围就是什么,就是程序创建。
11:06
失望创建。到程序。结束,这是它的这个生命周期,它跟程序同时建立,也跟程序怎么着同时去这个去结束,这是一个,呃,全局变量,那这个呢,Static修饰的这个是。代这个修饰的一个变量呢,它应该在哪创建,在哪结束啊。啊,看一下这里面也有这个对应,对照这个表格看一下,呃,它的生命周期就是在修饰的这个局部变量是,呃,它的生命周期也是程序。创建到程序结束。好,这这里面是select,这个修饰全局变量应该和上面都是一样的吧,那这个没办法给大家演示,这个到底是怎它的,它是怎么被创建的过程是不是,呃,就是因为这个创建只是系统给给创建好的,知道吧,你也不能这个直接就是在你程序起来之后就找到这个变量,是不是在结束的时候再给销毁掉,是不是,因为怎么,因为咱们这个主函数的生命周期和什命周期是一样的,和这个是整个程序的生命周期是一样的,是不是,所以说你看不了这个东西,你就把这个东西记住就行啊,然后这个函数呢,函数的情况下看一下sta修饰这个函数。
12:26
子代这个修饰函数也是什么?也是,这个是整个程序期间,那看一下他们的生命周期,除了变量是什么,是当前函数之外,还有这个是另外一个叫re的变量,咱们一会再说啊,这其他的是不是都是什么呀,程序运营期间的啊,这个记住一下就行啊,这个是。那他们的这个呃,生命周期是一样的,那这里面还有一个什么,还有一个去需要了解的叫re的变量,Re的变量是啥呢?叫寄存器变量是吧,记是记得吧,啊记得吧,它作用范围也是和什么,也是和这个变量是一样的,叫一对括号之内,就是啊,就是函数创建的括号之内到不是函数创建啊,不是函不是,应该是怎么说呢?应该是从它定义到函数结束是不是那更准确一点吧,那咱们这里面写的不准确,是一对括号之内啊,它只是一个概,呃概括性内容,然后它的这个什么呀,瑞的变量,它的生命周期也是和什么呀,也是和我们这个变量生命周期是一样的,是当前函数之内这个凹凸变量,就咱们说的什么变量啊,局部变量嘛,是不是啊,局部变量啊,这是咱们需要注意一下,这是咱们讲的这个生命周期,呃,作用域和生命周期这。
我来说两句