00:00
那么这个word的话,咱们之前呢,写指针的时候啊,啊写个word啊,然后这个word字面意思无类型。啊,莫星呢,无类型指针。告诉咱们,俗话说任何的类型是不是应该都是有大小的。是不是有大小啊,那么无论使用的大小定多少比较合适啊?啊。定多少也不合适,没有类型就是没有类型,什么都不是。所以这个时候呢,我们用无类型,用word能不能去定义一个变量。能不能咱们说你在定变量的时候一定要告诉编辑什么?是不是要分配多少内存啊,如果边确定不了多少内存的话。那么这个类型是无效的,那我就报错了。所以说呢,无论有指针呢,哎,不能怎么动命名了,但是冒星可不可以。问的星这个可不可以无论是指针,能不能定义变量啊?
01:04
能不能,可不可以,可以你就这么想的,你就考虑验热就可以了,当你拿贸易星去定个变量的时候,编器知不知道会有多少力存,知道吧,多少自己。四个字,哎,四个字节是不是啊,咱们说指针不管什么类型的,不管几一指针占几个字节,哎,咱们不是话默认就是32位,明白了吗?啊,不是话末认就是32位啊这少这四个字写。啊这四个字,所以说word星是可以的,但是word不可以。那么word用到哪个地方呢?它不可能一点用处没有,Word主要用在哪啊?对函数反回的限定和对函数参数的限定。你要有疑问对吧,你说这个限定什么东西啊,咱们先写一下啊,我现下看一看效果你就明白了。啊,确定啊,这个女孩子。来个屌丝吧。
02:02
I。然后咱们看第一个啊,首先呢,咱们说一下这个第一个。哎,末呢,不能够。啊,直接什么定义变量,因为什么这编器不知道分配多少内存变变量。是不是啊,所以说肯定会报错,所以你只要写个T塔零。接下来个A。不好意思,报错了是报错了,那么还有一种情况下。还有一种情况下,这个边际也是不知道分配多少内存的。大家想想,大家有没有碰到这种场景?他回答我了,对吧。就是说还有一种情况下呢,当你自的这个数列型也是没有办法知道分配多少内存的。大家有没有见过?你看应该应该见过这样的吧,我觉肯定分不了,你就写个throughout person。
03:00
里边来个什么?框里面呢,再来一个,哎,咱来个啊叉name螺14老师直接写啊in什么H。啊,再来什么再来。这来写,如果你这么定一个四分之形了,它仍然也是什么。所有不了内存的。让他编一下啊。啊,P使用了未定律的方式。是报错了,是这点没有给你放不线嘛,但是这个地报错了,变器报错了,那么还有一点说到这的话,说大家注意点啊,就说如果你这个ID,那么这就咱们ID就要提升开发环境嘛,对吧,你这个ID1如果像照相啊,你不要管它。你看什么结果啊,你不要看下边有没有曝光线,你要看右键,你编译完之后生成,编译完之后下面有没有出error或有没有出光。
04:01
这样能理解吗?啊,ID会骗人的,但编辑一般不会骗人。这个时候报错了,那报的同学非常简单,他说这个啊,Star point是被定义的,什么叫被定义啊,就编译器呢,根本就不知道这个类型存在。根本就不知道这个类型存在的,为什么,因为这个类型是定义失败的,那么为什么定义失败呢?咱们就看你这个类型定义完之后能不能确定它外省。能不能去它大小。可不可以你看啊啊,就咱现在不考虑这个这个九底对齐对吧,咱就简单的来个计算啊,64加四六十八。P是多少?P是不是要计算本身呢?本身完了吗?是不是要计算64H值是吧,知大了是不是要计算本身啊,你看这是不是一个递归一个有一个一个无限的这个递归价上。哎,所以它是没有办法确定这个大小了,所以这种情况下,你也是没有办法用它来定义变量,因为什么?因为这个P值的变量,电器是不知道分配多少内存的。所以说这一点的话,有个结论对吧,当。
05:04
定义一个变量啊,编译器呢,哎,必须要知道分配多少离子。啊,如果不知道的话就。逗号。一样的,和上一句话一样,最大理解了吧。那么是word,那么刚才咱们说,那word用在哪呢?Word用到两个方法,一个呢是对函数返回的限定。哎,限定,哎,那么一个对什么对函数函数的限定。什么意思?我不知道你之前有没有见过这种写法啊,上。听不见吗?没有见过对吧,然后呢,你看啊,派402我还能调用成功,既然还可以调用成功,明白吗?我是不是竟然啊,确实。
06:03
他叫什么叫放啊。那么我们先看编译啊,写完代码之后看编译,编译器有没有报什么error warning啊之类的啊编译。它这个它上面这个坡对吧,把这个把这个玩意注掉吧。哎,再来一个。啊,上面那个对吧。啊,我这个是用这个条件,这个条件编译啊,就是IF0表示表示false for之后呢,那么这个代码就直接。啊,注释药了明白吗?啊,你可以用了吗?你可以用这个也可以啊,用那个多煌注释,或者用那个横杆也可以注释啊,这大家之前用过吧,有没有用过啊,没有对吧?啊用它也可以注释啊,我是一般比较喜欢写这个,这个呢预处理阶段,因为咱们知道编译的时候是不是有四个步骤,四个阶段,第一个是不是就预处理啊,预处理的时候就看到一看哦150这个大码箱里没有。
07:01
到B阶段就不可见了。就像已经给你剔除掉了,明白了吧,你像这个这个代码呢,在这个预处理之前呢,就给你扔掉了,白吗?就如果写横杠的话,其实效果都是一样了啊,就是为了注射啊,不生效啊,然后呢,我在。再编一下。有没有放error?红的没有,黄的有没有,果岭有没有,没有编器竟然认为制动写法是比较正常的,是不是?而且这个地方有没有过错,咱们就看这个十能不能打印出来吧,这太子陵啊。再这样。嗯。啊,这个地方改一下啊,属性咱们是不是变第一个项目。啊,讲当前项目。这大家不敢了。啊就这样,你看,因为我是不是在一个功能下建了多个项目,你在这个地方改一下啊,右键属性改什么,就刚才是个单体项目,你看是不是就是02WORD这个你把这什么当天选项内容,你点哪个运行的时候就是哪个项目。
08:09
明白了吗?啊,所以这样的话,咱们可以把价格写到一块儿嘛,啊确定。选上你选择项目就行了,选账或者都行。这些你看是不是就是20减十啊对吧。这变析认为这是合法,显然,自动习法虽然是合法,你想想怎么办呢?咱们在空中能这么写单法?能不能这么写啊,像最后语法你千万不要写啊,写最后一个结果。啊啊,然后他我抽烟都在骂你。明白吧,啊,所以这种题啊,我们不能写的,但是呢,呃,万一比如说你不小心你删了前面那个范回值啊,在最后再你发现它编译仍然是通过的。但别人看了会非常不舒服。是不是一个完整的函数,我们应该什么?应该是有。啊,有返回类型是不是啊,有什么有参数应该是这样的,那么这个代码更深的是什么,这个地方有没有参数没有。
09:09
我是不是传俩进去了。听没错啊,通过,而且还可以执行。是不是啊,哎,所以说这种呢,C语言允许这种语法存在,但是咱们也不能用。明白吗?啊,不能用啊,不能用这种语法,所以这个时候咱们需要信点,但是那更可气的是,像这种写法,你写完时候给你连个警告都不放是不是,你想想咱们写那么多代码,编译器不帮咱们检查,检查错误的话,靠咱们自己的话,咱们很多错误是检查不出来的。所以说咱们需要什么一个非常好的编译器,我写代码你在编译阶段呢,就能告诉我,我这个代码哪个地方可能会错误啊,或者说代码的哪个地方写的就是代码本身的语法呢,能就表达不是我的意图。就跟我跟我想要的结果是不一样的,说你提要能告诉我,我提前能改,你想是不是啊。
10:05
这个咱们给加什么。小问。啊,这个加过的之后呢,你看编一下。哎,这个时候是不是就word了,哎,至少这这个地方是不是有一个war啊,什么上word返回值。是不是哎,他至少告诉他至少报一个W嘛,那么这个地报错是因为我这个话掉了,因为它已经报的是范围是word,所以他这个二一是不能输入个word对吧,是这个啊报错,那么这儿至少给你个几张啊。大家是是不是按照题号。那么这了,如果没有参数的话怎么写啊。再写个不就可以了,最好不要拿协议呢。这个地方是有货的。你看这边你看放啊放的函数有word参数列表,声明是报警告了,就说我的没有参数,你传参数进来了,哥们儿就这意思,哎,但是呢,尽量不要什么写生率,最好是有些。
11:01
这个像这种警告啊,做手术啊是比较好的。啊,是进到什么。哎,犯些错误你可千万不要等着向发布的时候一个一还是错误,那还是太太倒霉了,明白吧。这大家能理解吗?哎,然后呢,再再给大家说一句啊,就是写代码的时候呢,要习惯写差不多的时候呢,右键编一下。明白吗?并且编译上尽早发现你刚写上了有语法错误啊,比要早上写完之后啊,就差不多写完了,因为一遍一夸一。这一页都看不完,然后你说哎呀,我有没有信心啊,咱们再重新写一遍吧,对吧,那就不好,就说写点啊,你编一下看看有没有错误,有错吧,直接赶紧改了,直接调了啊。那么这个是对它的反问限定,那么还有一个呢,是这样,呃,第三个其实word本身就是这么用法,在C语言里面我们加word,但是C加上面是不需要的,C加上不需要加个报的,明白吗?那谁家类型检查比较严格,你没仓,你要穿仓的话给你上掉。
12:01
啊,他有直进了吗?函数参数检查和函数导致值类的检查。啊,那么在C加上不不叫什么C语言里面啊,你看有些人呢,写这个末函数的时候,有时候也往里面放一个过程是不是啊,他会这常写,你知道为什么这么写就行,明白了吗?啊,因为这这块毕竟是感觉好么,不太严谨啊,记住这个代码刚才咱们写的呢,一定要规避,不要这么写啊,不是说这个编译器允许的语霸你都可以写的。啊,咱们要写代码要要对吧,有一定的标准啊,标准写这样的话有标准的写法,代码不容易出错,如果你翻标来写的话,你代码就可能了,会产生一些一想多错误啊,那么第三个呢,是这上是握星。啊,五类型指针。啊,无论型指针,那么这个无论型指针是可以定义变量的是不是,哎,因为咱们说不管什么类型的啊,不不管什么类型指针啊,不管几级指的,你1万级也好,2万级也好,是吧,你就成成仙了也好,它呢都占几个位别。
13:04
是不是,哎,所以沃星呢,啊,定个变量P呢是可以的。是不是可以了。啊,这样是没问题的。而且还有个什么,并且通过了。这张是吗?记掉就可以啊,打明白什么意思。哎,然后这样可以了,那么P在几个字点。Y4之一边系能够给P分配内存了,那么就OK了啊,那么就OK了,那么这P,那么这个值呢,其实呃,真正用的是什么,怎么用呢?啊,用数据的数据类型式封装啊,那么后面咱们讲数据构这个问题,再深入那么这块咱们只说这个贸星,你们怎么理解呢?它基本上是。所有类型指针的祖宗。啊,所有类型组合,那比如说为什么这么说呢?啊说任何类型指针呢,它都可以转化为一个外星类型指针,不需要任何的类型转换。
14:04
你比如咱们简单写完,我写来个一的星那个呃,这个P它嘛,等于什么等于空啊,是不是一的零指标那个差星那个P什么P差等于什么等于空啊,这个时候呢,我直接来什么。哦,这么行啊,这就来个P的啊,这样是不是涉及到把一个异能一值转成差那个指甲了啊B看是不是报了一个警告啊,不好意思,他告诉说什么,他说从E的星到差星类型不兼容。明白了吗?啊,一般存到这种问题怎么办,因为我如果不想看到这条情报怎么办。我怎么办?啊,用什么这个地方怎么做啊。是不强转啊,强转你是不是看不到啊,这个强转意思什么意思啊,所应在检测的时候说看转化两个又不一样,你你进行这个转化了,所以你要赶紧发现这个问题啊,那么如果你想上类型转化这化变器。
15:01
我知道这个地方发生了个转化了。啊,你就不要管了,你看这个极高这就没了。是不是啊,就没了。啊,那么但是你看啊,我如果写个word星的话。P word,哎,等于嘛,等于P。这边一样。有没有有没有紧张啊,没有任何类型指针呢,任何类型的指针都可以,什么不需要经过强转。啊都吗,都可以吗,不经过。强制转换,哎,找到哪啊。用了强制转换就强制转嘛,对吧。哎,转完成。我想了一想。哎,所以它这个可以理解为就是所有类型指针的主宗指针嘛,啊,所以有时候我们也把它当做什么,因为它是主宗指针嘛,就是任何类型指针啊,传统下是不是不需要强转啊,哎,所以我们把一般到什么到函数参数。
16:01
它函数参数是不不会报警啊,如果你写任何类型的指令,那传看类型的令跟它不一样的话,是不是就会报警啊,跟我一般把它到哪写函数参数,或者咱中心口的呢,再大家说,然后再给大家说,这个大家理解了吧啊,那剩下一点咱们就不说了啊,就是这个。我现在主要用在什么?哎,主要用于数据结构的比说。啊,十几膨胀稍后呢,咱们讲到的话再说啊,这几个点大家理解了吗。理解吗?啊,我刚才强调是你千万不要写,刚才那个这个下马尔语法明白了吗?啊,千万说没有百分之你直接给你返回了,没有参数,已经存参数了啊,不要这么写啊,就是能写但不能写,就是允许你这么写,但是你不能写。这就叫规范。
我来说两句