00:02
对于变量作用域而言,有一个地方呢,也需要同学们注意,就是初始化局部变量和全局变量的问题。这里呢,有三点需要同学们注意,对于这个局部变量而言呢,系统不会实现这个默认的初始化,就系统系统不会。不会对企业默认初始化,这样加加一个说明,默认初始化也就是说当你定一个局部变量过后呢,这个系统它是不会帮你初始化的,需要我们程序员干什么呢?必须必须对局部变量初始化才能使用,否则程序运行就可能异常退出我我把这个呢给给大家举个例子。好,我把这个先注销,我们再来写第二个的案例,跟上老师思路还是我们变量的,呃,就是变量初始化的问题了,VR啊,Init初始化。一个DEMO。好,跟上老师思路哈,跟上老师思路。
01:01
那这个怎么理解这句话呢?比如说我举个例子,大家就一目了然了,Include ST dl。比如说同学们看我写一个主函数。在这里呢,我写了一个I,但是我没有出值,我没有像以前那样给他一个零或者怎么样,我就没有给,我就定义了一下,定义了过后呢,我就直接想输出这个值了,大家看这个后果是什么呢。大家看啊,我这样写,我写完过后,大家看我没有初始化,如果我没有初始化,我就去运行,这是非常危险的。这个是非常危险的,你看debug error这个就程序异常终止了。所以说我们在这里呢,需要同学们注意的就是刚才老师讲的这个细节,就是系统不局部变量,系统不会初始化,必须我们要去使用初始化,否则就会异常退出。你运行的话,整个程序就会崩溃。这是非常危险的事情。
02:00
我们就说到这啊,那紧接着我们来看全局变量呢,如果是全局变量系统呢,它会自动对其进行初始化,那具体来说呢,大家看我这里写了一些。对于整形,当然我这只写了个T啊,那long型short型是一样的,对于整整形呢,它初始化为零,对于char呢,初始化是一个斜杠零。就是这样这样的一个这样的一个符号。那么float呢是0.0 double呢也是0.0,对于这个指针类型,Point这个是指针。对于指针类型,同学们,它初始化是一个空,就闹这个呢,我们我们可以给他简单的演示一下,来看一个案例就行了,来写到这里了。同学们看我在这里呢。写了这么三三种有代表性的变量哈,那个指针我就没写了,因为空指针你也不好输出。A float higher double。Double。
03:00
好的,那这个整完了过后,我们看看这三个变量,这三个全局变量它的值是什么,我们输出一下。就输出一下就可以了,大家看一下就行。好的,那因为这个输出语句也非常简单,我就直接拿来用一下好吧。直接拿来用一下。同学们看。嗯,我这边输出了一个A,输出了ffa,输出了F的这个值,输出了第一这个值,那么我们看看它输出什么,如果不出问题的话呢,这个A就应该是零。对,而这个F呢,应该是0.0,对,那当然是这个零,因为你没有保留小数点,那是0.00很多位了,那干脆我这样子给他来一个控制一下小数位好不好。控制一下小数位,这样我们看的更清晰一点,就0.00。对。那么第一呢,是0.00。对,我们运行一下,看看跟我们想的是否一样就可以了,运行运行起来我们发现这个结果呢,我们想的应该是一样的。
04:06
对不对,00.000.0,这说明我们这一个全局变量哈,它是会初始化的,全局变量呢,就是说它会按照这个规则来进行初始化的默认值,那最后一句话呢,一定要跟大家说清楚,虽然我们全局变量会有一些初始化值,但是我这也说了一句,正确的初始化变量是一个良好的编程习惯。否则有时候程序可能产生意想不到的结果,因为未初始化的变量,比如说局部变量,呃,没有初始化会导致一些内存位置中,会导致在一些一些在内存位中已经已经是可用垃圾纸了,就说你你这个局部变量为什么刚才会。退出呢,因为这个A它指向的实际上是一个垃圾值,所以运行的时候就程序就崩溃了。所以我们尽量的养成一个啊正确初始化变量,比如说全局变量。
05:03
你这个全局变量,你本身有一个默认值,最好就给他,除非你确实没有说老师我不知道这个全局变量我不知道是什么,那你可以用默认值,但如果你明确知道这个全局变量是什么,你最好还是给它初始化一下。好,各位同学,那关于这个变量。就是我们所说的初始化局部变量,这个内容呢,就给它梳理到这儿,我们简单把它整理一下,内容也不多好,直接就梳理了。这块应该是属于变量的作用域的第三点。没问题吧,变量作用域的第三点,好,直接放这。呃,那么这三点我拿过来。三点哈。整到这儿。同样给他来一个标号。并不难,对不对,那关键就是这这个,呃,这个全局变量这个案例,我们把它放在这。这有个规则,大家说一下。
06:00
这规则呢,就是刚才老师在幻灯片里面给大家提到的。是不是这样子的,复制一份就可以了?好,这就是关于我们。局部变量和全局变量初始化,那这块我就不拿案例过来,因为这这这个语言已经说的很清楚了,已经说的很清楚了,好。好,关于初始化,我们就说到这里。
我来说两句