00:02
再简单吗?好,那我看一下,就是下面讲的内容是结构体作为函数参数存在的,那我们再来个例子啊。文件添加一个新建项是。幺零叫。结构体和函数角C。这个必须得点C啊,你这个别误导我,你让我不写点C是不是。零九,把这改成零九啊,那我们继续完成一下这东西啊。首先进一个结构体ST,然后再起个名字。叫叫啥呢?叫info吧,是不是没有这个名字吧啊,有没有S形就没有叫info了啊,那这里面起个什么,起一个这个是。然后是。内为20啊,21吧,每次都21,这也是21啊,然后再来一个。Int类型的age。
01:02
然后我们在这个转数里面看一下啊,主函数里面操作啊,是s t ruu c to,然后是一个S,让它等于括号,第一个叫张三,第二个叫逗号。18是不是这个年龄啊,那我们再定义什么,定义一个函数啊,看一下定义函数,首先定义一个Y的类型函数啊,是什么?是这个是。呃,FUN01,然后包括起来传递的参数,我看一下传递什么结构参数T,然后是IO一个S。然后我们看一下这里面结果啊,比如说这里面操作是ST啊不是不是,这里面是FUN01,然后括号一个S,是不是把这个作为一个什么,作为一个变量传递过去吧,这里面13,这是不是行参呢啊行参,然后这里面打印结果啊PTF打印个结果是百号D斜杠。
02:01
呃,不是sorry,摆放S,然后是摆方D,斜杠N。逗号一个,什么逗号一个。s.name然后逗号s.H啊打一下这个结果是不是,那我在这里面去修改一下啊,是这个是这样操作是。ST。RCP。然后是S点,然后是逗号是里。李四。然后第二个,第二个是。S。点H等于20,那我们看一下这里面改没改变,我们这里面直接看一下,就是怎么着是这是不是一个九体啊啊结构体变量是S,然后把这这里面传过去一个变量是不是,然后这里面是一个结构体,结构体类型的13,呃,行三是不是行三接到这个值之后,我去改变一下这个值能不能影响,这个十材里面值能不能影响啊,有没有同学说能影响。
03:09
都不影响吗?啊,我们打一下结果看一下啊。答案,结果是张三18岁是不是,那我看这里面这个结结果是多少是。啊,再把这话打印一下,打印拿到上面去啊,我上面打印一下,在下面打印一下啊看下结果,调试开始执行。一个是李四20岁是不是,这是在什么里面,这是在这个函数里面吧,这是在什么主函数里面,这个值是不是,那这里面如果说呃,结构体作为函数传递过去会影响这个结果吗?这不会影响,我们管这种方式传递到什么方式传递了,直传递是不是直传递不会改变谁的值啊。十参的值啊,这个这个是不是这个这样啊,这个同学看不着代码,是不是我再小点啊。是不是这样结果啊,先定一个变量,然后传递过去,然后这里面修改这个值,然后打印这个值,不会影响这个结果,是不是,你别看这块有个string copy,是不是这块不影响啊,啊这块不影响啊。
04:03
那我这里面再换第二种方式,这是方01Y的类型的什么呀Y。FUN02,然后这里面传递过去tino,然后是。星S。这传递过去一个什么,传递过去一个地址吧,啊,那这里面情况下,我要调用情况,应该调用哪个,应该是fuck。零二,然后这里面传递过去一个。And s是不是不是星啊,是按S取P纸啊,然后再看一下这样操作啊,比如说同样这个上面操作啊,复制然后粘贴,注意一下这里面情况应该变成啥了。箭头箭头指向了吧,是不是啊,箭头指向了。啊,这个值先不打印啊,这个值先给它删掉。啊,那我看一下这里面会不会改变我们的结果呢?会不会啊。好,我们这里面看一下结果是调试开始执行。是不是理四二十啊,这种方式是什么?直传递吧,是不是啊啊,你可以把什么把这个结构体就当做一个你自定义类型的变量存在,是不是就可以啊,我再说一句话啊,是你可以把结构体当做一个你自己定义的一种数据类型存在,是不是可以啊,只是这种数据类型里面包含很多这个值,知道吧,啊就可以这样存在啊,这是什么?这是这个是呃,结构体作为形参两种格式,班长知道一下啊,记住一下,那还有还有什么,还有是结构体作为返回值,那我看一下。
05:37
比如说呃,我们再用上面这个方式啊,再用上面上面这个代码啊,这个代码是不是没变的啊,没变没变情况下,我给呃呃再来一份吧,再来一份啊,再复制一份啊。复制这个零一里面代码,这里面改成什么,改成这个是ST,然后是。叫什么名,这词叫in info吧,Info星啊,不是先不行啊,是ino类型的值是不是啊,然后我在这里面,比如说定义的情况下,我都在都在哪个里面定义,都在这里面定义,把这块复制,然后拿到这里面来啊。
06:07
这里面不传递参数了啊,这里面没有参数了。啊,然后是定义一个S,然后S这里面name和这个值是不是都可以啊,啊定义完了之后,我这里面给他做操作是什么?Re return一个。S,那这里面S能不能接受这个这个李四和这20这个值呢?可不可以啊?啊,那我们这里面测试一下啊,这里面是零三了啊,注意一下,这是零三,给大家测试一下。把这个注销掉啊,这个这句话也注销掉。啊,先不注销了,我再再换主函数吧,是不是这是呃,零。是1001。再来一个是in对型MN划括起来。然后这样写S,然后是in fos等于一个fun。
07:03
零三是不是啊啊零三,然后这里面进行做操作,什么操作是这个是PTF打印一下,直接把这个话拿过来。Re return一个零,那你说这里面能不能打印出这个数据,哪个数据啊,是不是这个数据啊,咱们把它拿过来啊,放在咱们近一点啊,让同学能看得到啊。看下这两句,就是这两这两个函数啊,就这两函数,呃,定一个结构体类型start ino,然后这里面创建一个结构体,然后是S是不是,然后这里面S,呃是点name是李四,然后是s.H是20,然后return一个S,我这里面能不能接收到这个里面具体的值啊。能还是不能?能不能啊,有时候能,有时候不可能,是不是你俩别干起来啊,那我们看结果是不是就知道了,选择调试开始执行。这里面打印的是李四和20是不是,那如果说这个例子你比较看起来比较麻烦一点,我给你再来个简单一点的啊,是这样写啊是。
08:03
这是不是相当于数据类型一样存在啊,是不是啊,Int类型的什么int类型的是呃,范零四,然后括括起来。Int类型A等于十,然后re return一个A,然后在这里面做操作什么呀?是做什么操作是这个是。In的类型的A等于。放个零四。那你说这个A的值为多少?十你知道这个值为十,那你就难道不知道这个结果吗?多少啊,是。是不是把这个李四大十传递过来了,但是啊,这个同学可能是有一个误区,什么误区啊,这是不是我们这个创建的啊,创建完之后这个李四20是不是应该销毁掉了,但销毁掉之后它会把值传过来,如果你没人接收到的时候,比如说这里面我这个再改一下,把这个注销掉啊,这个测试代码给注销掉可以吧。啊。把那个拿过来啊。如果说这里面。
09:00
没人去接收什么,没人去接收FUN03里面这个值的时候,那它会怎么办呢?它就会就会这里面销毁掉,这里面是不是没人接收啊,那所以说这个对应的这个值是没有是不是,但凡我要有人接收的时候,这个里面值是不是存在着啊,存在着啊啊这个明白了吗?这块啊不要搞混啊,和之前内容不要搞混,你知道这个int类型,这里面是这样的结果是你知道是不是。你把这个结构体也可以当做一个数据类型样看待,是不是跟大家说了吧?啊,这是我们第一种返回的什么,返回的这个是。方式,那第二种访问方式是什么方式啊,是大家写一下,是把这个再复制一份啊,这个默认类型是不是没写啊,啊没写这是什么类型啊,啊不是不是,这有反应值类型是不是只是没写参数而已,是不是啊好,再写一个反问值类型是ST,然后是ino。星,然后这里面写一下是FUN03,呃零四了,然后括起来。
10:00
这里面写下从之前代码给它复制拿过来。Return一个什么一个。And s是不是啊ands,那我这里面再让它等于什么,等于这个是。呃,再把这个先先给他注销掉啊,再写一份。T,然后是info星,一个S等于零,四。是不是这样可以啊啊,那我这里面还能找到最大值吗?比如说打印一下。打印一下,这应该是怎么打印了,是S指向于内了吧,和S指向于谁了,指向于这个是A了吧,那我在打印的时候能不能打印这俩值啊。可能大于说价值,是不是?这同学说的这个,呃,无限接近于正确答案是不是?看这里面打印是什么,打印是这个是烫烫七,然后这是20,是不是可能打印这个值是不是打印一半啊,那为啥这个是打印一半这个值呢。
11:08
站,因为这是不是在站区创建的啊,站区创建情况下,这里面这个是不是销毁掉了哦,这个里面这个返问MS是返回地址过去是不是,然后地址对应的这个值是不是咱们被销毁掉了吧,所以说这里面在打印的时候是不是报错了啊,所以说你注意一下这一种格式啊,是这里面我给大家讲了几种,讲的是四种是不是,一个是呃结构,呃是结构体作为星参,然后结构体指针作为行参,还有一种什么?还有一种是这个是结构体作为反问值,结构体指针作为反问值是不是啊。啊,这几种格式啊,四种格式,这个和函数之间的关系啊,那这里面比如说什么,比如说这个是咱们还可以拿这个零几去修改啊。零九去修改是不是可以啊,怎么修改呢?冒牌序是不是可以单独提出来啊,啊冒牌序单独提出来,这里包括这个什么销毁是不是都可以单独提出来啊,做一个单独的什么函数存在,是不是你这里面传要传什么传那个是九体了吧?啊这个是给大家点练时间练习吗。
我来说两句