[00:00:00] [Daqq ta mużika] [00:00:11] Davin: Kull dritt, guys. Allura dan huwa r-reviżjoni għall-ewwel kwizz. Huwa kulħadd lest għall l-kwizz nhar l-Erbgħa? ALLISON: Woo! STUDENT: Woo! Davin: Yeah. ALLISON: Yeah! Davin: Li Guy lest. Li Guy, żewġ idejn, sbieħ. Allura reviżjoni kwizz llum, li għaddej li jkun ta 'madwar siegħa u nofs. Aħna qed tmur biex jmorru fuq l-maġġuri kunċetti inti għandek tkun taf għall-kwizz. Aħna qed tmur biex jmorru fuq xi wħud kodifikazzjoni mill eżempji idejn, li huma fuq kull kwizz. U jekk ikollok aktar mistoqsijiet, tħossok liberu biex jgħollu naħa tiegħek u kollox bħal dik. Ukoll, il-loġistika dwar l-kwizz online. Allura aħna qed tmur biex jaqsam nies up fi kmamar differenti. Huwa bbażat fuq l-isem tagħhom. Mela jekk għandek xi mistoqsijiet dwar fejn imorru jew dwar dak il-materjal huwa, simili, l-kelma uffiċjali dwar x'inhu għaddej li tkun fuq l-kwizz, iċċekkja online. U li kollox aġġornata. Mela jekk ma jkunx hemm mistoqsijiet lill jibdew, aħna qed tmur biex tibda. U hawnhekk Allison. [00:00:56] [Claps] [00:00:57] ALLISON: OK, grazzi, Rob. Japprezzaw dan. Davin imissha flipped għal dan. Din hija l-lista mhux eżawrjenti ta ' suġġetti, bħal dejjem, kif Davin qal biss. Ikkonsulta dokumentazzjoni online dwar kwizz żero. Iżda dan huwa pretty much-- huwa fuq il-sillabu huwa kollox konna marret fuq s'issa. Kollox hawnhekk huwa logħba ġust, kif ukoll kull ħaġ'oħra li jistgħu jkunu ġew imsemmija fil lecture. [00:01:21] Taqsima tiegħi, hawnhekk, huwa biss ta 'lott ta' reviżjoni. Hemm eżerċizzji koppja Li inti guys jista 'jaħdem fuq. Iżda għall-parti l-kbira, aħna verament jixtiequ li jsiru Davin ma 'dawk kodiċi billi eżerċizzji idejn. [00:01:31] So I am ser jtiru permezz ta 'dan. Jekk għandek xi mistoqsijiet, stop me. Jgħollu naħa tiegħek. I wegħda I ser probabbilment tara int. Jekk le, biss mewġa madwar. Jien ser tkun jitkellem malajr. Nispera li kulħadd OK ma 'dak. [00:01:43] OK, kelma speċjali, Davin ovvjament nesa li flip permezz ta 'dawn pjastri. [Laughs] Inti fl-inkwiet, il-bniedem. Allura tips għall kwizz żero, prattika kodifikazzjoni fuq il-karta. Inti guys se tikseb xi prattika ma 'dak issa ma Davin, sabiex inti mhux se tkun kompletament mill yourself. I think we qed attwalment għaddejjin permezz ta 'dawn iż-żewġ funzjonijiet. Allura inti ser tkun ippreparata tajjeb hemmhekk. [00:02:04] Ikun familjari ma 'settijiet problematiċi tiegħek. Kien hemm mistoqsijiet fuq kwizzijiet preċedenti li se jgħidlek, per eżempju, għall-kodiċi up xi ħaġa simili ħafna għal Mario. Allura qed familjari ħafna ma ' problema tiegħek settijiet, kif ukoll kif l-mistoqsijiet aħna nitolbuk fil-bidu fuq il-formola li inti timla out, se inti sservi tajjeb ħafna. [00:02:20] Do kwizz preċedenti taħt restrizzjonijiet ta 'żmien. Dawn kwizzijiet huma twal. Il-ħin tmur verament mgħaġġel. U spiss, inti ma jirrealizzaw kemm fast din tmur sakemm inti fil-fatt tpoġġi lilek innifsek taħt dawk limitazzjonijiet. Hekk jekk inti tista 'sempliċement ifittxu, tafu, 75 minuta, jew tonight jew għada li tieħu waħda minn dawn kwizzijiet taħt li, inti ser tkun fil-forma ferm aħjar. [00:02:41] U wkoll, il-ħolqien tal-karta referenza tiegħek. Ftakar, ikollok wieħed Front Page u lura bħala referenza għall-kwizz tiegħek nhar l-Erbgħa. Ħolqien dan huwa mod tajjeb ħafna biex tistudja. Kwalunkwe ħaġa li int trouble wara ma inti tixtieq li jinkludi fuq hemmhekk. Kwalunkwe ħaġa li TFS tiegħek ġew, bħal, dan huwa verament importanti. Għandek tkun taf dan, huma forsi l-affarijiet li għandek fuq hemmhekk jekk inti ma jkollhom magħhom memorizzati. Anki jekk inti do jafu lilhom verament ukoll, xi kultant wara dan fuq hemmhekk huwa biss tip ta 'kumdità għalik, li naf kwizzijiet huma stressanti. Sabiex kwalunkwe kumdità ikollok tista 'tgħin. Kull dritt, ukoll, nikseb irqad u jieklu u simili l-affarijiet normali li aħna jgħidlek għal kwiżż. [00:03:16] Allura jibda off faċli, tipi ta 'data u daqsijiet. As I said, dan huwa biss se li għandha tiġi me jitfg lott ta 'għalf up here li inti għandek tkun taf. Allura aħna għandna Chars tagħna li huma wieħed bytes, ints li huma erba 'bytes, twil twil, li huma tmien bytes. Bażikament, huwa biss int tixtieq li żżomm interi akbar. Sufruni, li huma erbgħa, jirdoppja, li huma tmienja. Għal darb'oħra, biss jagħtik aktar ispazju għall-floats tiegħek. U mbagħad it-tip star, sabiex kwalunkwe pointer fuq magna 32-bit, li hija kollha inti guys bżonn tkun taf, huwa erba bytes. [00:03:44] Sabiex l-affarijiet kollha li għandek suppost taf, forsi l-affarijiet inti tixtieq li jkollok fuq folja referenza tiegħek. OK, konverżjoni binarju biex binarju, konverżjoni biex hexadeċimali, quddiem u lura, kollha affarijiet li għandek tkun taf. Hekk mill binarja għal Deċimali. Inti guys tixtieq li tieħu quick minuta u jippruvaw u figura kull wieħed minn dawn u mbagħad tell me dak li huma? [00:04:06] Għandi wkoll kandju fil-borża tiegħi, sabiex ħadd li tweġibiet gets kandju, mill-mod. U għandi lottijiet ta 'dan. Let me grab din. Jien ser jagħti dan Gabe. Allura inti tista 'idejn kandju biex min sbieħ u kooperattiva. [00:04:21] OK, I raw idejn hemmhekk fid-dahar. [00:04:26] STUDENT: Yeah, l-ewwel waħda hija 42. [00:04:28] ALLISON: Iva, l-ewwel waħda hija 42, korretta. STUDENT: [inaudible]. [Rires] ALLISON: It-tieni wieħed, hemm lura fl-isfar? STUDENT: 110010. ALLISON: Korretta, u dan aħħar wieħed, stabbiliti hawn fuq qiegħ? Ukoll, yeah, inti taf tixtieq? Just toss out kandju. Kif dwar kandju għal kulħadd? [00:04:46] STUDENT: [inaudible] meta aħna qed isir. [00:04:47] ALLISON: SHH. U allura l-aħħar wieħed. Min jixtieq li twieġeb? Hemm dritt. [00:04:52] STUDENT: 11100. [00:04:54] ALLISON: 11100, tħares lejn dak. Prosit, xogħol kbira, kulħadd. OK, kulħadd tip ta 'jifhem il-proċess biex isir dan? Inti għandek, li jmorru minn binarja li Deċimali il-mod I-tendenza li tagħmel dan, hija l-kitba out is-setgħat tat-2. So I say, OK, 0 ħinijiet 2-0, hekk li għamilhom 0, 1 darbiet 2 għall-ewwel, hija ta '2 għaddej quddiem li mod. Ħadd ma trid lili biex espliċitu jmorru permezz ta 'eżempju ta' binarja? OK, berred. [00:05:28] Deċimali binarja li huwa simili ħafna. I-tendenza li jiktbu l-poteri ta '2. Tibda bil-waħda li hija l-akbar, iżda ma tmurx passat il-deċimali li inti qed tfittex. U mbagħad it-tip ta xogħol tiegħek mod lura żżid up affarijiet kif meħtieġ. [00:05:42] U mbagħad mal B'żieda, huwa bħad żieda normali. Jekk qatt ikollok l-każ fejn int żżid żewġ 1s, ovvjament isir 2. 2 binarja issa huwa 1 0 hekk ikollok bżonn biex iwettqu tiegħek 1 fil-kolonna li jmiss. Kessaħ. [00:05:59] Hexadeċimali, dan jista 'jkun xi ħaġa li hija ftit inqas familjari. Allura kif Rob kien biss javżak me qabel, trick tiegħu għal din huwa biss qasmitha up f'erba biċċiet byte, OK? Bits, sorry. Tara? Grazzi Rob. Dan huwa għaliex int hawn. [ISTORBJU] OK, hekk aħna biss farrku f'erba biċċiet bits. Allura ma binaries għall hexadeċimali, nħarsu lejn l-ewwel 4, li hija jekk għandna erba 1s fi ringiela, dak in-numru ma li jissimbolizzaw? [00:06:25] STUDENT: F. [00:06:26] ALLISON: Allura f'dan il-każ, dak li huwa 11111111 or-- iva? STUDENT: FF. ALLISON: Perfect, FF. Hekk kbir, kandju għalik. Issa, għal kemm hexadecimal biex Binarju, aħna Aħsbu ftit dwar dan it-tip ta 'fir-reverse. Għal kull numru jew ittra li għandna f'hexadecimal tagħna, biss jaqilbu għal erba daqsxejn tagħha [Laughs] għall-konverżjoni erba daqsxejn tagħha. Allura 5, f'dan il-każ, dak li huwa 5 jekk aħna qed jirrappreżentawh ma 'erba' bits? [00:06:58] STUDENT: 010? Mm-hm. U mbagħad A, li hija attwalment 10, ikun? 1010. Allura aħna għandna li, hawnhekk. Allura konverżjoni bejn hexadecimal u binarja attwalment mhix dik ħażina. Jekk inti tħares lejn din f'erba daqsxejn biċċiet, se tkun deheb. Everyone-- iva? [00:07:19] ROB: Dan huwa iblah, imma jien dejjem niftakru A, peress suppost A li jkun 10. U binarja biss 10 10, so-- [00:07:26] ALLISON: Ah, hemm immorru. [00:07:27] ROB: Hey. [00:07:28] ALLISON: Hey, kandju għall Rob. Hemm Jittieħed mhux ċikkulata fil hemmhekk. Allura inti jista 'jkollhom xi. Matematika hekk ASCII. Jaġixxu. Allura Matematika ASCII, kif inti guys probabbilment ukoll jiftakru p sett 2 ma Visioneer u Caesar, inti għamilt ħafna ta 'dan. Ftakar, il-karattri huma fundamentalment biss numri. Allura nistgħu nagħmlu matematika magħhom, bħad nagħmlu matematika ma ints. [00:07:54] Allura aħna għandna biss ftit ħaġa sempliċi hawn. Għandna xi wħud fil A thats initialized sa 65. U B ugwali għall-valur ASCII ta 'A flimkien ma '1, char C ugwali għal D minus 1, u char D ugwali għal 68. Hekk allura aħna ser print kollha kemm huma, kif naraw hawn. U jista 'xi ħadd tell me dak li dan se jistampa? STUDENT: [inaudible]. ALLISON: Eżattament, hekk ħaġa waħda li l-avviż huwa li aħna istampar out karattri kull darba, hawn. Aħna tinnomina anki jekk A u B huma ints meta aħna dikjarati minnhom hawn fuq. Aħna tistamphom bħala karattri minn il-mija C u d-dikjarazzjoni printf tagħna, hekk dawn se jkunu kollha print bħala karattri. U naturalment, il-valur ASCII 65 rieda jistampaw bħala A. Il-valur ASCII ta 'A plus 1 Ikun 66, li kieku kburi li B. Allura fil-fatt, aħna nikseb A B C D Kulħadd tajba hemmhekk? Kwalunkwe mistoqsijiet? Biża. [00:08:52] OK, ambitu. Allura ambitu huwa ovvjament ħafna Ħaġa importanti li wieħed jifhem, hawnhekk. A lott ta 'inti, jekk inti jkollhom żbalji kompilazzjoni, u jgħid inti ma għandekx aċċess għal xi wħud varjabbli, huwa probabbilment minħabba li inti ddefinietu fi loop u mbagħad ippruvaw li jkollhom aċċess għaliha minnha, jew viża versa. [00:09:12] Allura ambitu fil-qalba tagħha, hija biss jiddetermina fejn aħna ngħidu varjabbli teżisti, fejn aħna tista 'bidla, fejn nistgħu jkollhom aċċess għaliha. Huwa biss tip ta 'tgħid dawn huma l-uniċi postijiet fejn ikollok aċċess għal dan il-varjabbli. [00:09:26] Allura l-żewġ ambiti li nitkellmu dwar matul il-klassi huma globali u lokali. Varjabbli hekk globali nitkellmu dwar meta inti qed jiddefinixxu lilhom hawn prinċipali. Dan ifisser li kollu tiegħek programm għandu aċċess għalih, u dan jeżisti sakemm bħala l-runs tal-programm, OK? Lokali ifisser li huwa aktar limitata għal reġjun. Allura meta għandek funzjonijiet speċifiċi bħal tpartit, aħna dejjem jitkellmu dwar. Aħna dejjem jitkellmu dwar swap mal A u B. A u B jeżistu fi ħdan dik il-funzjoni. Dawn ma jeżistux imkien ieħor. [00:09:56] Kif ukoll, meta jkollok jekk dikjarazzjonijiet jew għall-linji. Kull meta għandna, per eżempju, fil- a għal loop għandna int I ikun egwali għal 0. Għandna xi kondizzjoni u aħna taġġornah. I jeżisti biss fi ħdan il- ċingi ta 'dik għall-loop. Jekk inti tipprova l-aċċess xi mkien ieħor, kompilatur tiegħek se Yell fi inti. Hija d jkun simili, liema huma inti tipprova tagħmel? Dan ma teżistix. Allura dak l-tnejn tipi differenti ta 'ambitu. Ma li jagħmel sens għal kulħadd? [00:10:23] Hekk per eżempju hawn, dan huwa biss xi program sempliċi. What do you guys think huwa jiġri f'kull punt li nippruvaw li jistampaw? Allura dan wieħed hawn, x'inhu jiġri? STUDENT: Hija se print tlieta. ALLISON: Dritt. Hija ser print tlieta. What dwar hawn? STUDENT: Dan mhux se taħdem. ALLISON: Dan mhux se taħdem. Int minn ambitu, id-dritt? Varjabbli lokali ma teżistix barra ta 'dawn ċingi, id-dritt? U allura dak dwar hawn? [00:10:56] STUDENT: [inaudible]. [00:10:57] ALLISON: What? Rob, go. [00:10:59] ROB: I biss qal. Varjabbli globali għandu jkun varjabbli enfasizzati globali. [00:11:04] ALLISON: Ah, iva, sorry. Grazzi, Rob. Rob bħal kompilatur residenti tagħna. Huwa ser biss Yell fil us meta aħna bżonnha. [Laughs] Iva, li għandu jkun varjabbli globali enfasizzati. B'tali mod wieħed jassumi li din kien enfasizzati globali varjabbli, x'inhu jiġri hawn? STUDENT: Li se taħdem. ALLISON: Hija ser taħdem. Allura dan ser jistampaw, hekk biss eżempju sempliċi ħafna. OK, prototipi. Allura ovvjament, aħna verament jenfasizzaw għalik guys biex tagħmel funzjonijiet jekk jagħmlu sens fil-programmi tiegħek. Iżda naturalment, meta inti jagħmlu funzjonijiet tiegħek stess, tipikament inti ser tiddefinixxi minnhom wara prinċipali. U inti ser tipprova li jsejħu lilhom fl prinċipali. U jekk inti ma tuża prototip, kompilatur tiegħek se Yell fi inti. [00:11:46] Prototip huwa bażikament biss javżak kompilatur tiegħek li għandi din il-funzjoni isfel prinċipali. Jien ser sejħa hija qabel I jiddefinixxu dan. Just iżżomm fuq. I wegħda li huwa definit, u int se jkollhom dak kollu li għandek bżonn. [00:12:00] Allura l-mod kif nagħmlu huwa biss tiegħek ritorn tip, isem il-funzjoni tiegħek, input tiegħek lista. Huwa bażikament l-ewwel linja ta 'dikjarazzjoni funzjoni tiegħek. Huwa tassew kollox huwa. Iżda din hija biss tip ġenerali ta 'format. [00:12:14] Għalhekk fl-eżempju tagħna hawn, li inti guys għandhom raw fis-sezzjoni f'xi punt, għandna xi kubu int li jieħu xi int ta 'input. U għandna prinċipali tagħna funzjoni, li ssejjaħ kubu. U kubu huwa definit wara l-fatt. [00:12:28] Hekk jekk aħna ma kellhiex input kubu int fil-quċċata, meta aħna msejħa kubu fi ħdan prinċipali, kompilatur tagħna se tikseb ġenn fil us. Hija d jkun simili, liema huma inti titkellem dwarhom? Cube ma jeżistix. I do not know dak li qed titlob għall. U jien biss stop għaddejjin. [00:12:43] Iżda għaliex aħna ma prototip tagħna fil-quċċata, konna qal, inti taf, meta tara kubi, ma tinkwieta dwar dan. I wegħda huwa definit aktar tard. U inneħħu let inti tagħmel dak li trid. Mela jekk inti qatt funzjoni li hu ddikjarat wara li inti sejħa hija għall-ewwel darba, inti għandek bżonn jkollhom dan prototyped fil-quċċata. [00:13:01] Iva? [00:13:02] ROB: Huwa kwadrat, mhux cubing. [00:13:04] ALLISON: Oh Alla tiegħi. I ma have-- Gabe, ħsibt inti kienu proofreader tagħna. Guys OK, jkollhom miegħi, hawn. Nispera li kulħadd jkollna l-idea. OK, għalhekk dan għandu jkollu ġew kwadrat, mhux kubiku. Imma l-idea jibqa l-istess. Kull funzjoni li aħna qed ssejjaħ wara il-fatt għandu jkollu prototip. Kulhadd tajba ma 'dak? Kwalunkwe typos oħra? OK. Kwalunkwe typos hawn qabel nibdew, Rob? [Laughs] OK, hekk structs. Bażikament, structs jippermetti li inti biex joħolqu tip ta 'data tiegħek stess. Tant bħal int jew char jew float, huwa biss tip ieħor. Inħobb naħseb li bħala, bħal, joħolqu tip ta 'data tiegħek stess. Għalhekk tippermetti li inti tagħmel dan. U hija żżomm tipi differenti ta 'data. [00:13:56] Mela jekk inti tiftakar, fil-firxa, aħna tista 'żżomm biss affarijiet tal-istess tip. Structs inessu li jżommu multipli affarijiet ta 'tipi differenti. Allura f'dan il-każ hawnhekk, aħna jkollhom Struct imsejjaħ Student, jismu hawn fil-qiegħ. U aħna għandna xi int id u xi isem string. Allura dan huwa biss tip ta 'data ieħor. Issa għandna tip ta 'data msejħa Istudenti. [00:14:20] Allura għaliex aħna tista 'taħseb huwa biss bħala tip ta 'dejta ieħor, nistgħu tiddikjara varjabbli kif aħna kieku kwalunkwe oħra. Allura minflok sempliċiment li, bħal, l int student, aħna biss għandhom student, student 1. Oh, tħares. Huwa Rob. Allura hawnhekk aħna qed tiddikjara a Struct, jew varjabbli imsejħa student 1 tat-tip student. Allura li għaddej biex ikollhom id u l-isem assoċjat magħha. [00:14:45] U l-mod aħna aċċess dawn elementi fil-Struct tagħna huwa ma 'l-operatur dot, hawnhekk. Allura f'dan il-każ, aħna ddikjaraw madwar istudent 1. Aħna assenjata l-identità biex tkun 1. U aħna assenjata l-isem li jkun Rob. OK, kulħadd tajba ma 'dak? Jużawha biss like-- iva? [00:15:06] STUDENT: Yeah, typedef-- meta għandna bżonn li jużaw typedef? [00:15:09] ALLISON: Allura typedef biss jgħid that-- Rob, inti tista 'tikkoreġi lili fuq dan jekk jien wrong-- iżda typedef huwa biss fil-fatt li tiddikjara bħala tip li tista 'tuża, right? [00:15:19] ROB: Yeah, huwa bażikament, Allura huwa biss il-ħolqien alias, jew nickname għal tip. Allura inti tista tip li [inaudible]. Allura [inaudible] teżisti, u issa aħna biss għandhom [Inaudible] mezzi eżattament l-istess ħaġa. U hekk hawn, aħna qed ittajpjat, I think, xi tip Struct 2 [inaudible]. Allura huwa biss nickname għal tip partikolari. [00:15:40] STUDENT: String [inaudible] librerija kien ittajpjat up bħal stilla char. [00:15:51] ALLISON: Għall-għanijiet tagħna hawn, jekk int tiddikjara Struct, biss tagħmel typedef Struct. OK, hekk qabel, dan huwa biss varjabbli normali hawn. Aħna jkollhom aċċess għaliha bit-tikka. jekk ikollna pointer li a Struct, nistgħu attwalment użu vleġġa, li huwa pjuttost jibred. [00:16:10] Allura f'dan il-każ, għandna pointer li student 1 li huwa ta 'tip student. Ftakar, bil tiegħek kostruzzjoni pointer, inti tixtieq kwalunkwe tip pointer tiegħek hija li tipponta lejn li tkun fil-bidu. Allura aħna għandna xi student 1, hawn. U peress li din student 1 issa hija osservat, aħna tista 'attwalment tmur student isem 1 vleġġa minflok dot, għaliex dan huwa pointer, u tassenja Rob. U issa jekk irridu li bidla Rob għall Davin, dan huwa biss turi li inti mod differenti biex tagħmel dan. [00:16:43] Allura minflok tintuża l-vleġġa, inti jista also-- I se jintemm dan u mbagħad jieħdu dik question-- inti tista wkoll do student referenza 1. Li qal simili mur dak kollu li huwa fil student 1, li Ikun Struct student tagħna. Aċċess għaliha bit-tikka u l-element li tixtieq, u mbagħad jassenja mill-ġdid dan. Kien hemm kwistjoni. STUDENT: Iva, hekk kif come ikollok biex jużaw [inaudible] meta int tagħmel student star mingħajr [Inaudible] student? ALLISON: Minħabba li dan qed toħloq pointer. ROB: Aħna qed tmur biex jitkellmu dwar dan. ALLISON: Aħna qed tmur biex jitkellmu dwar li aktar tard fir-reviżjoni. Hekk biss iżomm dak maħsub. Jekk għadu bothers inti fil- aħħar, come kellem lit wieħed minna. [00:17:20] Għalhekk dawn jagħmlu eżattament l-istess ħaġa. Aħna qed turi biss inti żewġ modi differenti biex jagħmlu dan. Istudent 1 issa hija pointer, hekk inti tista 'aċċess l-element Isem fi ħdan il-Struct bi vleġġa. Jew inti tista dereference pointer tiegħek, u allura jkollhom aċċess għaliha kif inti normalment kieku. Does li jagħmel sens li kull wieħed? Jekk l-affarijiet kollha pointer huma ftit konfużjoni, Gabe se jitkellmu dwar dan, u mbagħad forsi dan se tagħmel aktar sens. Iva? [00:17:46] STUDENT: Iva, hekk kif huwa dan differenti mill-? ALLISON: Il-waħda preċedenti? Allura l-istudent 1 f'dan każ mhix pointer. Huwa biss Struct attwali tiegħek. [00:17:54] STUDENT: OK. [00:17:55] ALLISON: Billi dan wieħed huwa pointer għal Struct. [00:17:58] STUDENT: OK, iżda ma dan it-tip ta ' jispiċċaw jaħdmu l-istess [inaudible]. [00:18:02] ALLISON: Huwa effettivament taħdem l-istess. Sintassi tiegħek hija biss differenti. STUDENT: OK. [00:18:05] ALLISON: Yeah, dawn huma effettivament l-istess. Huwa biss jiddependi fuq il-kuntest, inti tista 'tixtieq wieħed fuq l-ieħor. Iva? [00:18:11] STUDENT: Meta inti tagħmel referenzi għall-1-- ALLISON: Mm-hm? STUDENT: Għaliex inti jkollhom il-parentesi? ALLISON: Minħabba student 1 hija l-pointer. Allura inti għandek bżonn tagħmel żgur li int biss dereferencing l-pointer. [00:18:22] STUDENT: OK. [00:18:23] ALLISON: Allura f'dan il-każ hawnhekk, il-parentesi madwaru ifisser li int dereferencing student 1. Allura int ser fejn student 1 punti, li huwa Struct tiegħek. Allura issa inti tista 'taħseb tal bħala li Struct, hekk nistgħu nużaw tagħna operazzjoni normali dot. Kwalunkwe mistoqsijiet oħra? Kessaħ, biża. [00:18:48] Allura aħħar ħaġa, I think hija l-aħħar slide tiegħi, Woo! OK, hekk floating punt impreċiżjoni. Aħna tkellimna fil-qosor dwar dan matul lecture. Bażikament, aħna għandna numri reali infinitament ħafna. U jekk kwalunkwe inti guys imħabba matematika, hemm kull xorta ta 'għalf jibred magħna. [00:19:05] Iżda hemm infinitament numri reali ħafna. Iżda dawn qed biss finit ħafna bits li għandna. Allura int dejjem se jkollhom impreċiżjoni, hija kollha. U li dan huwa biss tip ta ' bħal xi ħaġa inti għandek tkun taf. Li bħal aħna jista 'jgħidlek għaliex ma punt floating impreċiżjoni jeżistu? Hekk biss xi ħaġa li għandek tkun taf. U ma 'dan, jien tidwir jikkonsenjaha lill pointers. [00:19:27] Binky: Hello, guys. Jisimni Binky. Jien ser jitkellmu dwar pointers. Yeah, hekk pointers huwa attwalment parti favorit tiegħi f'dan il-kors. Hekk biss li tagħmilha ċara liema Allison kien jitkellem dwar hawn, hekk ir-raġuni why-- l-unika differenza hawnhekk, id-differenza kbira kienet il-mod aħna niddikjaraw affarijiet. Allura student stilla ifisser dan huwa pointer li student. Billi l-slide qabel, student huwa Struct attwali, bħal student attwali, li jkun fih kwalunkwe minn dawk l-affarijiet. [00:19:54] U r-raġuni għaliex aħna tixtieq to-- iva, Davin? [00:19:57] Davin: X'tagħmel il-vleġġa jfisser? [00:19:58] Binky: Il-mezzi vleġġa eżattament l-istess bħal dan. Allura inti ma verament bżonn il-vleġġa. Bħal, jekk int biss program fis-C, inti tista 'biss tuża din. Jiddispjacini, jien ma dak li hu. Inti tista 'biss tuża din sintassi. [00:20:14] Imma xi nies, meta kienu tfassil C, huma dehret li n-nies użata li sintassi tant, li se simili biss toħroġ bi struttura sintassi għal dan. U dan sar fl l-forma ta 'dan vleġġa. U huwa verament sbieħ, għaliex tissimbolizza xi ħaġa simili aħna qed attwalment wara Din il-vleġġa, dan il-werrej, lejn xi spazju fil-memorja. U meta aħna naslu s'hemm, irridu tfittex għall-isem ta 'dik il student, jekk dan jagħmel sens. OK? [00:20:43] Allura dan huwa eżattament l-istess. Dan huwa eżattament l-istess ħaġa bħat dan. Huma jiksbu kkompilata eżattament l-istess, OK? U r-raġuni hawn għaliex aħna malloc xi ħaġa, għaliex f'dan il-każ, varjabbli tagħna huwa attwalment biss varjabbli pointer. Allura aħna biss għandhom xi spazju fil memorja thats azjenda pointer. Aħna ma verament ikollhom xi spazju li jkollha l-Struct attwali. [00:21:06] Allura dan għandu jsir f'żewġ passi. Irridu joħolqu l- memorja li tpoġġi l-Struct fil. U għandna biex joħolqu l- memorja li tpoġġi l-pointer fil. Allura dawn qed bażikament tnejn varjabbli differenti, hawn. Waħda minnhom hija ta 'tip student, ħlief huwa ma verament ikollhom isem. U l-ieħor huwa tat student stilla tip. U mbagħad student 1 punti hemm, jekk dan jagħmel sens. OK? [00:21:28] Allura r-raġuni għaliex nużaw pointers huwa għaliex kollox fil-kompjuter, kull varjabbli fil-kompjuter għandha żewġ affarijiet. Hija għandha valur tagħha. U għandu l-indirizz tiegħu. U mod tajjeb biex conceptualize dan huwa hemm ħafna problemi meta inti jippruvaw jużaw funzjonijiet. U aħna qed tmur biex tipprova tħares lejn wieħed minn dawn. Jiġifieri, li għaddej biex think tal-memorja bħala kaxxi. [00:21:50] Inti dejjem ħsibt ta 'varjabbli meta inti tgħidli na ugwali 5. Inti taħseb ta 'tqegħid 5 ġo kaxxa. Allura dak li jekk inti tixtieq li jgħaddu li int fis funzjoni? Inti biss pass-- jien ma know-- x ġo funzjoni. Imma dak li jiġri huwa normalment bħala bnedmin, inti ser jaħseb xi ħaġa bħal jien tgħaddi l-kaxxa lil persuna. U ma verament jiġri fil-kompjuters. Dak li jiġri huwa inti kopja l-valur tal-kaxxa kaxxa tal-persuna. [00:22:17] Allura dak li nkun qiegħed nipprova ngħid huwa li jekk għandek function-- sorry-- hawn, jekk ikollna funzjoni simili għal ħamsa up hemm, jekk inti tipprova li jgħaddu varjabbli, huwa biss se kopja. Jekk NX initialize ugwali 3, li għaddej li kopja dan il-valur sal-varjabbli ta ' up hemm. OK, u dan huwa tip ta 'r-raġuni għaliex irridu li jużaw pointers. Minħabba minflok tagħti biss il-valur, minflok sempliċiment jgħaddu biss il-valur għal funzjoni, irridu li jgħaddu permezz ta 'referenza. Nsejħu pass b'referenza huwa tip li tagħti l-kaxxa għall-funzjoni, sabiex il-funzjoni tista 'wkoll jibdlu l-valuri fi żmien li l-kaxxa. [00:22:53] OK, hekk biss ftit pointer bażiku Jittieħed huwa li joħolqu pointers, inti biss tiddikjaraha tip, u inti tpoġġi stilla dritt wara dan. U t-tip huwa biss dak li qed tipponta lejn. Mela jekk huwa stilla int, int tipponta fi int. Jekk huwa stilla char, int tipponta lejn ċart. U jekk huwa stilla student, int tipponta lejn student. OK? [00:23:08] U dawn qed 4 bytes kollha twil. Minħabba dan il-varjabbli din attwalment ma bżonn li jkollhom char, l int, jew student. Huwa biss jeħtieġ li jżomm l-indirizz. C'est pourquoi dawn qed 4 bytes kollha twil fil magna normali 32-bit. OK? Allura hawnhekk, x hija varjabbli li l-punti għal int. punti y għal char. z punti għal float. Kwalunkwe mistoqsijiet hawn? Kessaħ. U hemm żewġ simboli differenti li jkunu li wieħed iżomm f'moħħu meta ġejjin għall-pointer. Hekk referenzjar u dereferencing huma dawk kbar. Allura l-ampersand tal- isem varjabbli jagħtik l-? STUDENT: Indirizz. Binky: Indirizz. Mela jekk inti tiddikjara int a ugwali 5, imbagħad ampersand ta 'se jagħtuk l-indirizz. U inti tista 'fil-fatt jipprovaw li jistampaw dak u ara dak l-indirizz fil-memorja varjabbli tiegħek. U mbagħad dereferencing-- b'tali mod li kien referenzar, jkollna l-dereferencing address-- huwa l-oppost preċiż. OK, bħad drabi huwa l- oppost ta 'diviżjoni, star huwa l-oppost ta ampersand. Allura dereferencing mezzi jmorru hemm. Mela jekk inti tagħti I star-- ma know-- 50, li l- ser jippruvaw imorru għall-indirizz ta ' numru 50 ġewwa tal-kompjuter tiegħek. OK, u għaliex do naraw li huma opposti? Għaliex dak li jiġri jekk inti tagħmel xi ħaġa bħal stilla ampersand a? Ukoll, ampersand a jagħtik-indirizz ta 'varjabbli,-indirizz ta'. Iżda star ifisser jmorru hemm. [00:24:35] Allura x'jiġri jekk int mur l-indirizz ta '? Inti biss tikseb għal, id-dritt? Allura jmorru għall-indirizz ta ' a huwa l-istess ħaġa bħala. C'est pourquoi dawn qed normalment irrefera għall-same-- dan u dan huma msemmija operaturi kif opposti. OK? Hekk jibred. [00:24:53] Taħt il-barnuża, per eżempju, jekk aħna niddikjaraw int x ugwali 5, għandna varjabbli. U ftakar li għidt kull variable-- u din hija ħaġa tajba iżomm mind-- għandha żewġ affarijiet differenti assoċjati magħhom. Hija għandha u valur indirizzat. OK? [00:25:07] Allura l-valur f'dan il-każ hija ta '5. U l-indirizz is-- ejja ngħidu, jien jagħmlu xi ħaġa up-- huwa 0x04. U l-unika raġuni għaliex aħna normalment jirrappreżentaw indirizzi hexadecimal huwa wieħed, għaliex dan huwa simili tajjeb. Hija tmur tajjeb ma binarja. Huwa faċli li jikkonvertu lejn u mill binarja. U ma jiksbu wisq kbar jekk għandek numru kbir ħafna. Allura aħna tixtieq tuża hexadeċimali fl-indirizzi istampar. Imma I jista 'jirrappreżenta dan bħala numru sħiħ. Huwa tal-multa. [00:25:32] U għalhekk għandha l-indirizz 4 u valur ta '5. U mbagħad I said star int pointer. Allura dan huwa tip, avviż differenti. Int pointer star ugwali l-indirizz ta 'x. Allura dak li qed jiġri li jkun il-valur tal-PTR? Li għaddej biex tkun il- indirizz ta 'x, stabbiliti hawn. OK, hekk il-valur li jkun ser jkun l-istess bħall-indirizz. Dik hija l-assenjazzjoni topera qed nagħmel. U mbagħad PTR huwa se jkollu indirizz tagħha stess, li jirriżulta, f'dan il-każ, il-8, OK? [00:26:03] U mbagħad I joħolqu kopja numru sħiħ ġdid. U jien ngħidlek kopja int ugwali jmorru hemm. Allura jmorru għal dak PTR hija li tipponta lejn. Ukoll, dak li dan PTR jkollhom? PTR għandu 0x04. X'jiġri jekk nipprova li jmorru hemm? I se ssib il-Guy li għandu indirizz x u li għandha l-indirizz 4. U li għandu jindirizza erba huwa x. Ma li jagħmel sens? Iva? [00:26:28] STUDENT: F'dan il-każ, huwa l-pointer fil-munzell? [00:26:32] Binky: F'dan il-każ, it's-- mistoqsija tajba. I ma verament jaħsbu dwar dan meta jagħmlu up dawn l-indirizzi. Imma jekk dan huwa, bħal, kollha dawn huma varjabbli lokali, allura x hija tmur tgħix in-- kollox se jgħixu fil-munzell. Allura kollox sejjer li jkun tipponta lejn munzell. Inti biss jiksbu l-borġ meta tibda tuża malloc, id-dritt? [00:26:52] Mela jekk inti recall munzell huwa kull darba inti sejħa funzjoni fil-programm tiegħek, bħal, per eżempju prinċipali, jew kwalunkwe funzjoni oħra, bħal printf. Il-varjabbli kollha lokali huma se tikseb jitqiegħdu fil-qafas munzell. U dawn qed tmur biex tikseb bħal piled fil-ċmieni. Dak hu sejjaħ munzell. U dawk il-varjabbli kollha lokali ser ikunu hemm. U l-heap-- u aħna qed tmur biex jitkellmu aktar dwar dan later-- -borġ huwa fejn kollha ta ' dinamikament allokati ħajjiet memorja. Kessaħ? [00:27:20] Immorru għal dan slide. Iva? [00:27:22] STUDENT: Għaliex huwa mhux int kopja jirritornaw 0x04? [00:27:27] Binky: Għaliex huwa mhux int kopja jirritornaw 0x04? [00:27:30] STUDENT: Għaliex huwa mhux li [inaudible]? [00:27:32] Binky: Minħabba dak li huwa valur ta PTR? [00:27:37] STUDENT: 0x04. [00:27:38] Binky: 0x04. X'jiġri jekk inti tmur 0x04? What do you get? [00:27:41] STUDENT: Oh, OK. Binky: You see? STUDENT: Iva. Binky: Allura ikollok 5. Allura kopja huwa se jkollu 5, jekk dan jagħmel sens. Iva? [00:27:49] STUDENT: Jista għandna gotten 5 fil-kaxxa valur [inaudible] jekk npoġġux int kopja [inaudible]. [00:27:55] Binky: Int-- nixtiequ, yeah. Li kien jagħmel pretty ħafna l-istess ħaġa. Iżda dan il-mod, nistgħu jgħaddu tindirizza lill funzjonijiet. U li l-ħaġa jibred aħna qed tmur biex tagħmel id-dritt issa. [00:28:06] Allura dan it-tip ta 'eżerċizzju dejjem taqa up on-- normalment ħafna jitla 'fuq kwiżż. Allura huwa verament tajba biex tipprova tagħmel dan it-tip ta 'ħaġa yourself. Sabiex tipprova żżomm rekord ta 'dak l-indirizz hija u jridu li l-valuri tal-varjabbli huma f'kull punt. Allura dan huwa eżattament dak li aħna qed tmur biex tagħmel. Hawnhekk, aħna għandna passi, wieħed, tnejn, tlieta, erba ', ħames. Wieħed, tnejn, tlieta, erba ', ħames. U aħna qed tmur biex iżommu kont tal-valuri ta x u. [00:28:34] Allura dak li dan qed tagħmel, jekk dan huwa kodiċi Buggy, aħna qed jippruvaw jagħmlu biex ħamsa. Allura aħna qed tipprova tikseb fil- varjabbli u l-bidla valur tagħha sa 5. U ftakar analoġija tiegħi li jkollhom kaxxa u għoti-kaxxa lil xi ħadd? Allura prinċipali għandha din il-kaxxa msejħa x. U fiha l-valur 3. U jien jippruvaw għall-idejn din il-kaxxa biex għal ħamsa. [00:28:58] U nixtieq li ħamsa għall-bidla il-valur ta 'din il-kaxxa sa 5. U mbagħad I biss jistampaw il-valur ta 'x. Dan huwa dak function-- tiegħi dan huwa dak li jien tipprova tagħmel. Jien biss tipprova li taġġorna il-valur ta 'x sa 5. Huwa ċar dak li l-funzjoni ma? [00:29:16] OK, iva, liema ser ikunu l- valuri ta 'x u dritt hawn, l-ewwel linja, dritt qabel l-ewwel line-- Nixtieq say-- tal-programm? [00:29:27] STUDENT: Probabbilment żibel. [00:29:28] Binky: Just Jittieħed żibel. So I biss jitqiegħed N / A. Hekk aħna ma verament jafu. Bħal, a ma jeżistux għadhom, għaliex aħna ma jissejjaħx biex ħamsa. Int a ma jkunx iddikjarat. U x se jeżistu hawn, iżda aħna ma verament assenjati xi valur lilha, hekk OK? [00:29:46] U mbagħad, liema ser ikunu l- valuri ta 'x u fil numru tnejn? [00:29:54] STUDENT: [inaudible]. [00:29:55] Binky: Allura x se jkun ta '3. Li faċli, għaliex aħna qed assenjazzjoni 3 lilha. U għadu ma jeżistix minħabba biss jgħix fil lill ħamsa. Hekk jien ser ikollhom 3 u xejn. jew simili żibel, ikun x'ikun, mhux verament definit. U issa, dan huwa l-linja importanti. Hawnhekk, aħna qed tmur biex attwalment sejħa għal ħamsa. U ftakar dak li għidt. Aħna qatt jgħaddu fil-kaxxa. Aħna biss kopja tal-valur ta ' l-kaxxa għall-kaxxa ieħor. C'est kompjuters kollha do, kopja affarijiet minn post għal ieħor. [00:30:27] Allura għal ħamsa, x'jagħmlu hija IT kopji l-valur ta 'x li a. Allura dak li qed jiġri li jkun hawn? Il-valuri ta xu a. 3 u 3, aħna ser biss kopja dan matul minn x sa. Kessaħ. [00:30:45] Issa aħna qed hawn. U issa aħna qed tmur li taġġorna ugwali 5. X'hemm jiġri fil-linja erbgħa? [00:30:55] STUDENT: [inaudible]. [00:30:56] Binky: a gets aġġornata, imma x ma jiksbu aġġornata. Minħabba x għadha tgħix fl prinċipali, huwa blokk kompletament differenti ta 'memorja. Huwa varjabbli differenti. a huwa varjabbli ieħor. Huma jiġri li jkollhom l- istess valur minħabba I kkupjati fuq il-valur ta 'x li a. Imma issa meta I do ugwali 5, dan ma verament effett x-ebda mod. Dan huwa l-parti delikati. Ma jagħmilx sens li kulħadd? Iva? STUDENT: Mistoqsija waħda aktar, ikollok 3. Għaliex huwa already-- oh, no, huwa 3. Jiddispjacini, qatt f'moħħhom. Naqra 5. [00:31:29] Binky: Yeah, 3, 3. [00:31:30] STUDENT: [inaudible], yeah. Binky: U allura aħna tassenja 5 sa a, imma ma verament tbiddel x. Tajba? STUDENT: Iva. Binky: Iva? Inti tista 'tispjega darb'oħra kif a gets kkupjati [inaudible]? [00:31:42] Binky: OK, hekk meta inti sejħa għal ħamsa ta 'x, għalhekk din il-linja tal-kodiċi hawn. għal ħamsa ta x, x'inhu x? x hija biss 3 f'dan il-punt, id-dritt? Allura inti tista 'biss jaħsbu ta' tqegħid 3 fil hawn u jinsa dwar x. Biss jitqiegħed 3 hawn. Bħal, aħna qed tmur biex kopja fuq il- valur ta 'x li l-int a li l-up hemm. OK? [00:32:13] Allura l-valur ta 'x huwa 3. Aħna qed tmur biex kopja 3 fuq għal. U dan kollu blokk ieħor ta ' memorja, dan il-varjabbli oħra imsejħa se jkollhom 3, kif ukoll. Ma li jagħmel sens? Iva? [00:32:25] STUDENT: Jekk inti tagħti għal ħamsa simili jkollhom bħala numru sħiħ x minflok ta ', li kieku jiffissaw kollox? [00:32:32] Binky: Jekk huwa ta 'integer-- ebda, li kieku ma jiffissaw kollox. Allura li hija mistoqsija tajba ħafna. Hija ma verament kwistjoni liema inti sejħa dawk il-varjabbli. Għal darb'oħra, dan se tkun kwistjoni ta 'ambitu, għaliex dawn mhux qed l-istess x. Huma qed kompletament spazji differenti fil-memorja. STUDENT: [inaudible]. Binky: Allura ma verament jimpurtax dak li inti jsejħulhom. Li ma tiffissa l-affarijiet, OK? Aktar mistoqsijiet? Iva? [00:32:55] STUDENT: Kif huwa lura li numru b'ħames [inaudible]? Binky: OK, aħna ma għamlu dan għadu. Ejja mur numru b'ħames, imbagħad. [00:33:03] STUDENT: [inaudible]? [00:33:04] Binky: What? [00:33:05] STUDENT: Do ikollok ritorn fil-livelli kollha? Binky: Aħna ma jkollhom ritorn, ma ta prinċipali. Iżda prospetti ewlenin 0 awtomatikament jekk inti ma jirritornawx xejn. Iva? [00:33:15] STUDENT: Tista 'tagħmel main-- jew inti tista 'tagħmel biex ħamsa ritorn ta'? [00:33:24] Binky: Aħna jista 'jkollhom għal ħamsa ritorn, iva. Imma allura aħna obbligati jassenjaw x daqs il-valur tar-ritorn ta 'għal ħamsa, li tkun kemmxejn programm differenti. Ikun xogħol. Imma dak li rridu nagħmlu huwa dak li huwa imsejħa xi ħaġa bidla fil-post. Hekk irridu li attwalment bidla li kaxxa u ma joqogħdu jinkwetaw dwar li jkollhom li jirritornaw valuri jew xejn. OK? [00:33:46] Dan huwa biss bħall-funzjoni tpartit David wera fil lecture, ħlief jien biss jittrattaw ma 'varjabbli waħda. U hu użat tnejn, hekk int A u B u imbagħad varjabbli temporanju u whatnot. OK? Allura x'inhu l-aħħar linja? Wara ħames prospetti, huwa sempliċement l-a huwa se jmorru lil hinn. Aħna mhux se jkollhom aktar, u biss x xorta se jgħixu fuq. [00:34:10] U raden liema? x ma biddlitx il-valur tagħha, wara kollox, għaliex aħna qed jinbidlu biss il-valur ta '. C'est pourquoi x kien 3 kollu. OK? Tajba. Allura dan il-programm ma jiksbu dak li ridna. Issa ejja tiffissa lilha. [00:34:24] U l-programm jiffissaw qed tuża pointers. Dak li nagħmlu huwa għandna tliet linji li huma differenti. L-ewwel dawk qed aħna mhux qed tgħaddi x. Aħna qed tgħaddi l-indirizz ta 'x. Allura minflok ikkupjar fuq il-valur tal-kaxxa, Jien xorta ser kopja fuq xi ħaġa. Imma jien ikkupjar fuq l-indirizz tal-kaxxa. [00:34:45] Mela jekk jien jgħaddu l-indirizz tal- kaxxa li għal ħamsa, imbagħad għal ħames se tkun tista 'ssib li fil memorja u l-bidla valur tagħha. [00:34:53] Hekk u mbagħad up hemm, għandi li mhijiex int aktar. a hija stilla int. Huwa pointer li integer. U mbagħad, għaliex jien tgħaddi l- jindirizzaw hawn, u mbagħad dak I do mhix ugwali 5, għaliex a hija holding indirizz. Allura dak I trid tagħmel hu li tmur hemm u taġġorna l-kontenut ta 'dan l-indirizz bi 5. [00:35:18] OK, so ejja jgħaddu kollha ta 'konz wieħed minn wieħed. Allura meta I tibda hawn, I għad għandhom N / A, N / A, N / A għal kollox fl-ewwel linja, minħabba I ma jkunux verament iddikjarata Jittieħed s'issa. U mbagħad linja tnejn, għandi x ugwali 3. A star int a ma jeżistux, istess ħaġa bħal qabel. [00:35:39] Issa jiġrilha interessanti. Hekk jien ser jgħaddu. U ejja nassumu li l-indirizz tat x hija 12 fil hexadeċimali. Ejja biss wieħed jassumi dan. I magħmula it up. Allura dak am I tgħaddi hawnhekk hija għal ħamsa. Jien tgħaddi 12. [00:35:56] Allura dak il-valur ma a jkollu? [00:36:04] STUDENT: [inaudible]. [00:36:06] Binky: Jiddispjacini? [00:36:06] STUDENT: [inaudible]. Binky: Yeah, bħalu, għal ejja jassumi li aħna qegħdin hawn, issa. Jien tistaqsi. [00:36:12] STUDENT: [inaudible]. [00:36:13] Binky: Ġie mibdi. [00:36:14] STUDENT: [inaudible]. Binky: Għaliex aħna għadda xi ħaġa li l-funzjoni. Iva? [00:36:19] STUDENT: Indirizz ta 'x. Binky: Huwa ser għandhom l-indirizz ta 'x. U l-indirizz ta 'x hija 12, tajba. Allura x se jkun ta '3, għaliex aħna ma verament jinbidlu x s'issa. U mbagħad se tkun 0x12, hekk l-indirizz ta 'x, għaliex thats dak li aħna mgħoddi lill għal ħamsa. [00:36:38] U allura dak li jiġri jekk nippruvaw li jmorru hemm? Liema huma aħna ser issib? Mela jekk inti tipprova li jistampaw istilla a, aħna qed tmur biex isegwu dan l-indirizz u jiksbu l-valur ġewwa. U l-valur hija biss l-istess valur li x għandu għaliex dak l- indirizz ta 'x, li se jkun ta' 3. Aħna tajba? [00:36:56] OK, u mbagħad issa, aħna fil-fatt imorru hemmhekk. U aħna aġġornament x'ikun Huwa f'dan l-indirizz 12. Aħna għamilhom 5. Allura issa kemm x u star a huma 5. [00:37:13] Għaliex huwa li? Minħabba li l-indirizz tat x huwa 12. U għandha wkoll 12 bħala valur tagħha. Hekk jekk aħna isegwu 12, aħna qed biss jmorru biex isibu x. Sabiex ikun x'ikun nagħmlu ma ' star a jiġri li x, minħabba fih l-indirizz ta 'x. OK? [00:37:34] U dan huwa bħall-qofol tal-jiffissaw. Allura issa aħna qed kapaċi, minn għal ħamsa, fil-fatt memorja t'aċċess li għexu fl prinċipali. Allura din il-memorja ma jgħix fl għal ħamsa, bħal qabel, dan l-indirizz 12. U konna kapaċi li jmorru hemm u l-bidla valur tagħha sa 5. [00:37:50] U mbagħad meta nerġgħu lura, aħna tinsieh. Aħna tinsieh stilla a. U x għadu ħamsa. Mela jekk inti tixtieq li jimplimentaw funzjoni tpartit, inti biss tagħmel l-istess ħaġa eżatt, ħlief ikollok bżonn li int stilla hawn, u hekk u ibqa 'sejjer hekk. OK? Aħna tajba? Kessaħ. [00:38:10] Hekk pointer aritmetika. Dan huwa suġġett kemmxejn delikata. Għalhekk jirriżulta li pointers huma biss interi. Inti tista 'taħseb minnhom bħala interi. Għaliex fil-memorja, inti għandek bħal indirizz żero, wieħed, tnejn, tlieta memorja, erbgħa, ħamsa. Allura nistgħu qosor indirizzi memorja. [00:38:23] U dan huwa normalment dak li inti tagħmel meta int fil u firxa, per eżempju. Firxa hija biss bħal kontigwi blokk ta 'memorja, ta' lottijiet ta 'Chars, per eżempju, lottijiet ta 'ints. Mela jekk inti tixtieq li tmur għall- tieni int jew għat-tielet int, inti tista 'sempliċement is-somma xi ħaġa li l-ewwel indirizz, u int ser naslu s'hemm. Allura dan huwa verament utli għal dak. [00:38:39] U l-ħaġa li wieħed iżomm f'moħħu, għalkemm, hi li mhuwiex eżatt bħal aritmetika normali fis-sens li jekk int jittrattaw, jgħidu, stilla int, u inti żid 1 miegħu, allura int mhux se biex żid 1 fl-indirizz, int ser iżżid 4 għall-indirizz. Minħabba li int huwa 4 bytes. [00:38:57] Allura dan huwa biss bħal mixi fuq firxa. Jekk għandna firxa ta 'lottijiet ta' ints u allura aħna tipprova tmur għat-tieni waħda, huwa bażikament biss jingħaddu l- indirizz ta 'l-ewwel waħda flimkien ma' 1. Iżda dan mhux se be-- biss ejja ngħidu li l-indirizz ta 'l-ewwel wieħed huwa ta' 4. Hawnhekk, f'dan il-każ. U jekk aħna qosor, għalhekk dan huwa dak li qed jiġri. Għandna int. Int x ugwali 5. X għandha valur 5. U aħna initialize dan il-werrej, int y y star int ugwali-indirizz ta 'x. [00:39:31] Ejja nassumu l-indirizz ta 'x hija 4. X'hemm jiġri issa jekk I somma żid 1 sa y? Li għaddej biex attwalment somma 4 minflok sempliċiment 1. So I żid 1, iżda fil-fatt miżjud 4, minħabba l-kompjuter intelliġenti. Allura li għaddej biex attwalment żżid billi i żminijiet id-daqs tat-tip tal-pointer. OK? [00:39:58] Hekk jekk kienet char, per eżempju, jekk dan y star char, u jekk aħna miżjud 1 allura dan ikun jkun ta '5, minħabba char huwa 1 byte twil. Tajba? [00:40:10] U finalment, aħna ltqajna biex pointers u arrays. Jirriżulta li kull darba int jittrattaw ma 'firxa, int fil-fatt jittrattaw ma 'pointer. Ir-raġuni kunċettwali sbieħ ħafna għall dan hija li arrays huma kbar ħafna. Mela ftakar li jien qal li kull darba li inti tgħaddi Jittieħed madwar, inti kopja kollox. Mela jekk għandek firxa li tassew, tassew kbir, inti ma verament irridu li kollox kopja kull darba inti tgħaddi madwar għall-ieħor funzjoni, għaliex dan huwa biss ammonti massivi ta 'xogħol. Allura dak li għandek tagħmel huwa biss passat l-indirizz ta 'l-ewwel byte. U allura l-funzjoni se jkollhom aċċess li l-elementi kollha f'dik firxa. Allura inti għadda l-array indirizz tagħha, hekk-indirizz ta 'l-ewwel byte. [00:40:48] Hekk jekk aħna niddikjaraw int firxa 3, hawn, nafu kif ikollhok aċċess l-ewwel element bl-użu notazzjoni parentesi. Jekk inti tiftakar il-kategorija notazzjoni, array parentesi 0 ugwali 1. Ukoll, dan ikun eżattament l- istess bħal biss jmorru hemm u mqiegħda 1. OK, huwa eżattament l-istess ħaġa. Allura l-notazzjoni bracket fil hawn se jkun l-istess bħal din il-linja. [00:41:13] U raden dak in-notazzjoni parentesi għall-firxa bracket 1 se jkun? Dan se jkun biss l-istess ħaġa bħat dan. Allura żid wieħed għal firxa. Nimxu waħda tul fil-memorja. Mur hemm, u mqiegħda 2. OK? U din il-linja l-istess ħaġa. Aħna rridu li jmorru għat-tielet kaxxa, hekk firxa plus 2. Mur hemm, u poġġi 3. Allura fil-memorja, x'hemm jiġri hija aħna qed se jkollhom 1, 2, u 3 kif l- tliet elementi ta 'din array. [00:41:44] Nistgħu għamlu dan bl-użu notazzjoni tagħna bracket familjari. I biss jixtiequ inti guys tkun taf li huma l-istess ħaġa. OK, mistoqsijiet dwar dan? Nizza. Issa, jien ser idejn jikkonsenjaha lill Hannah, [00:41:59] HANNAH: Yay, Yee Haw-. [00:42:00] Binky: Nitkellmu dwar memorja u l-artikolu Jittieħed. [Applause] [00:42:06] HANNAH: Hi, jibred, hekk aħna qed ser jitkellmu ftit aktar dwar memorja, li aħna biss indirizzati billi jiġu pointers. Allura hemm żewġ partijiet ewlenin ta ' memorja li aħna qed kkonċernati ma. Aħna għandna l-munzell, li tikber fil-qiegħ, u borġ, li jinżel mill-quċċata. U l-munzell hu se żżomm kollha ta 'varjabbli istanza tagħna. Allura kull sejħiet għal funzjoni gets frejm ftit tagħha stess fuq il-munzell. Allura kif Gabe issemma qabel, jekk aħna sejħa tal-funzjoni ġdid u għal darb'oħra, aħna qed tmur biex jistivaw affarijiet up fuq il-munzell. [00:42:35] U l-istess, il-borġ, li jibda fil-quċċata se jżommu kollha ta 'l-memorja li aħna dinamiku jallokaw. U hekk kif aħna dinamikament jalloka memorja, dan se tinżel lejn il-qiegħ. Koppja affarijiet li jkun konxju ta 'meta aħna qed jużaw il-munzell u l-borġ, mal-munzell, jekk ikollna wisq many-- ejja say-- sejħiet rikursivi, u aħna qed ssejjaħ funzjoni darb'oħra, u għal darb'oħra, u għal darb'oħra, u għal darb'oħra, u huwa stacking up, stacking up, stacking up. U li għaddej li jikkraxxja fil-borġ. Aħna qed tmur biex jispiċċaw ta 'memorja. Li għaddej biex jikkawża problema għall-kompjuter. U li sejjaħ l-overflow munzell. Allura li definittivament xi ħaġa li għandek għandhom ikunu konxji ta 'u jippruvaw jevitaw. U l-borġ, għandek tiftakar li ma aċċidentalment tnixxija memorja. Kwalunkwe ħin li inti tuża malloc, ma tinsa biex ħielsa li l-memorja. Inkella, hija ser biss tkun fuq il-borġ moħlija, u l-kompjuter mhux se jkun jaf li huwa liberu li juża li l-memorja. Għalhekk dawn huma affarijiet koppja li jkun ferm attenta mal meta int jittrattaw il-munzell u l-borġ. Kwalunkwe mistoqsijiet ma 'dan? Biża. [00:43:31] OK, berred. Allura dan it-tip ta 'għandu l-istess idea bħala overflow munzell, fejn aħna qed tmur lil hinn mill- limiti ta 'dak li memorja huwa aħna suppost li tkun tista 'tuża. Sabiex jieħdu, per eżempju, buffer, jew inti tista 'biss jaħsbu li bħala firxa. U aħna qal, OK, aħna qed tmur biex joħolqu din array ftit sbieħ. Huwa ser tkun string. Jew li għaddej biex jaħżnu karattri. U huwa biss se jgħidu bonjour. U huwa indeterminat. Thats it. [00:43:53] Imma jekk jien kienu xi ħadd ħażen u riedu tagħmel xi ħaġa ħażina ma 'dan array, liema I tista 'tagħmel huwa li tipprova li tikteb passat il-tarf tas-sekwenza. U kif tkun taf tara, jekk Nikteb bogħod biżżejjed, I jistgħu attwalment jaffettwaw l-indirizz ta 'ritorn. U jekk I jibda jaffettwa l-indirizz ta 'ritorn, I jaffettwaw kif il-programm attwalment runs. U minflok jirritornaw, inti jafu, string kuntenti bħal hello, I tista 'tagħmel xi ħaġa ħażina, bħal mur x'imkien ieħor fil-kompjuter tiegħek, xorta memorja, jibdlu, kwalunkwe I trid tagħmel. Allura dak hu li dan look like huwa jekk I biss tip ta 'mimlija up b'valur żibel każwali, f'dan il-każ, biss. U mbagħad meta I attwalment qbilna li l-indirizz tal-memorja, I bdew mili ma 'xi ħaġa li ma dak li ridt li tagħmel. Kwalunkwe mistoqsijiet bil overflow buffer? Biża, li jtajru dritt permezz ta 'dan il-għalf. [00:44:40] OK, hekk aħna tkellimna ħafna ta ' dwar pointer ma Gabe. Kif nistgħu attwalment tikseb pointer? Kif nikbru indirizz fl memorja? Well, nistgħu nużaw dan sbieħ funzjoni sejħa malloc, li se tikseb biċċa ftit tal-memorja, speċifikament fil- munzell, kif aħna diskussi, u li għaddej biex jagħtuk lura pointer li dak l-indirizz fil-memorja. U l-argument li aħna għandek tagħti lill malloc huwa kemm l-ispazju fil-memorja irridu. [00:45:04] Allura tista 'tara l-daqs byte. Ejja ngħidu, per eżempju, jew attwalment, f'dan l-eżempju, aħna jallokaw biżżejjed spazju għal 10 interi. Allura probabbilment dak li aħna qed tmur jridu jitqiegħdu hawnhekk hija firxa ta '10 interi. Allura aħna tagħtiha daqs tal ints, li Aħna tgħallimna kien kemm bytes? STUDENT: 4. HANNAH: 4, sbieħ, u aħna tixtieq 10 ta 'dawk fir-ringiela, b'tali mod li għandna biżżejjed spazju biex jaħżnu 10 interi kollha, f'dan il-każ. Xi ħaġa super importanti, kwalunkwe ħin inti sejħa malloc, ikollok biex jiċċekkja għal null. Jekk inti ma jiċċekkja għal null, ukoll, malloc jekk runs out ta 'spazju u m'għadhomx jistgħu jagħtuk xi memorja aktar, huwa ser jerġa null. Mela jekk inti ma check, malloc tista 'tirritorna null. U mbagħad jekk nippruvaw dereference pointer null, aħna qed tmur biex tikseb tort segmentazzjoni, li aħna se nitkellmu dwar id-dritt issa. Biża. [00:45:56] OK, mistoqsijiet malloc? Iva? [00:46:00] STUDENT: Does iċċekkjar null [Inaudible] ma tagħmel dan fuq l-kwizz? [00:46:05] HANNAH: Sure, il-kwistjoni kienet ma matter-- fuq l-kwizz, ser ikollok tikseb punti off jekk inti ma jiċċekkja għal null? Iva, inti se tikseb punti off jekk inti ma jiċċekkja għal null. Kwalunkwe ħin li inti sejħa malloc, kemm fuq il- kwizz u psets tiegħek u fil-ħajja reali, ikollok biex jiċċekkja għal null. Mistoqsija tajba. [00:46:18] Gabe: X'jiġri jekk jien ma ħielsa? HANNAH: Gabe jixtieq ikun jaf dak li jekk aħna ma ħielsa. Imbagħad aħna se jkollhom nixxija memorja borġ tagħna. Kwalunkwe mistoqsijiet oħra? Iva? [00:46:27] STUDENT: Jista you-- jmorru fuq overflow buffer reali malajr mill-ġdid? [00:46:30] HANNAH: Sure. Il-kwistjoni kienet nistgħu tmur fuq overflow tassew mgħaġġla buffer. Ejja ħa mmorru lura għal dawk pjastri. Allura buffer, inti tista 'sempliċement jaħsbu li bħala firxa, id-dritt? Inti għandek xi spazju fil-memorja. U meta aħna ewwel joħolqu firxa tagħna, nafu arrays fiss daqs, jew tarka tagħna għandu daqs fiss. [00:46:45] Mela ejja ngħidu f'dan il-każ, għandna biss spazju biżżejjed biex jiktbu l-sekwenza bonjour. Jekk immorru passat li marbuta, jekk immorru fil-passat dak firxa tagħna aħna qalet li setgħet iżżomm, nistgħu attwalment tibda kitba fil-memorja li l-kompjuter ma tixtieq magħna biex jiktbu fis. U speċifikament, jekk aħna hit xi ħaġa bħall-ritorn indirizz tal-funzjoni, li, bħal kull biċċa oħra ta 'memorja, huwa biss x'imkien fil tiegħek kompjuter, inti tista 'attwalment bidla li u jibdew jagħmlu affarijiet ħażen. Iwieġeb il-mistoqsija tiegħek? Biża, xi ħaġa oħra? Iva? [00:47:17] STUDENT: Allura munzell [inaudible], inti qal tmur mill-qiegħ jmorru up. Fil-firxa munzell, ma il-memorja jmorru minn, bħal, top down jappartjenu għal kull waqfa? [00:47:28] HANNAH: Kif do you-- tiddifferixxi għall Rob fuq dan wieħed. [00:47:35] ROB: Hija se jikbru fl-istess direzzjoni bħall-munzell tikber. HANNAH: OK. ROB: So I nikseb konfuż. Dan se jkun estrazzjoni. HANNAH: OK. ROB: Dan huwa korrett. Allura jekk il-munzell qed jikber up, allura generally-- dan ma għandhom ikunu bħal dan. imma int tista 'tiddikjara int x. Imbagħad inti tiddikjara y int. Imbagħad int x ġeneralment se jkun aktar baxx fuq il-munzell milli y int. Imma dak li biss fatt. Li mhux simili ħaġa importanti żerriegħa. [00:48:02] ROB: Għalhekk il-kwistjoni mill-ġdid kien biss dak li jiġri kull qafas jibni up. Allura kull funzjoni gets biċċa ftit tal-munzell. U kif tmur up, f'dak ftit biċċa, fi ħdan dak il-qafas, aħna ser ngħidu li varjabbli fi ħdan dak il-qafas wkoll ningranaw. Mistoqsija? [00:48:17] ROB: li jkun biss fuq mic. HANNAH: Oh, yeah. ROB: I ser jitkellmu fis inti. HANNAH: Oh, yeah, OK. ROB: L-eċċezzjoni hija għal matriċi u structs, fejn arrays, aktar baxx indiċi fil-firxa, u structs fil ogħla qasam fil-structs huma ggarantiti li tkun f'indirizzi aktar baxxi minn valur aktar tard fil-firxa. Sabiex dawk huma garantiti. Iżda kwalunkwe varjabbli partikolari fi ħdan, bħal int x u int y fi ħdan funzjoni, hemm l-ebda relazzjoni meħtieġ bejn l-indirizzi tagħhom. HANNAH: Mistoqsija oħra minn hawn? STUDENT: Allura fil-buffer fluss, buffer overflow biss biss ġara meta inti jkunu, simili, assenjat ammont ta 'firxa li allura huwa akbar? Bħal, inti tista? Mela jekk inti qed tistaqsi għal xi ħaġa mill-user-- [00:49:05] HANNAH: Mm-hm. STUDENT: Jistgħu dawn sfurzat jagħtik xi ħaġa lura li l-akbar minn kwalunkwe inti stajt allokati għalihom? HANNAH: Sure, sabiex il- kwistjoni kienet bażikament, tista 'l-utent jtik aktar milli inti ssaqsi għall? STUDENT: Yeah. HANNAH: Well, inti tista 'tipprevjeni l-utent milli jagħmel dan. Tista 'tgħid speċifikament ma tagħti me aktar minn x l-għadd mill bytes Stajt biss tak kamra għal x numru ta 'bytes, numru ta' karattri x. Allura li xi ħaġa inti tixtieq li tevita. Iva? X'inhi d-differenza bejn munzell overflow buffer u overflow? [00:49:30] HANNAH: OK, sabiex il-munzell overflow-- oh, liema hija d-differenza bejn munzell overflow u overflow buffer? Allura aħna tixtieq li jaħsbu ta 'overflow munzell jiġri meta aħna qed attwalment stacking up dawn is-sejħiet funzjoni. Ejja ngħidu li għandek funzjoni jirrikorri, għaliex aħna nafu li kull darba li inti sejħa funzjoni, huwa jiġrilha frejm tagħha stess fuq il-munzell. [00:49:45] Allura aħna munzell sa għoli wisq, u imbagħad nibdew biex overflow. U nużaw memorja wisq, U Aħna ma jkollhom kullimkien xellug. Nikbru dan l-iżball. [00:49:51] Overflow buffer hija fi ħdan programm. Irridu jista 'ma neċessarjament ikollhom jispiċċaw ta 'memorja bl-istess mod li nistgħu jekk aħna qed istivar up tant sejħiet funzjoni, imma aħna tikteb passat il-memorja li nafu nistgħu nużaw. U li jippermetti li tagħmel affarijiet ħażen. Yeah? [00:50:08] ROB: Iva, inti tista 'tixtieq għal ftit irrepeti dan, imma int tista 'wkoll taħseb ta 'overflow munzell bħala bħal tip speċifiku ta 'overflow buffer. Jew inti biss jaħsbu ta 'tiegħek munzell bħala buffer verament kbir. Imbagħad meta inti jfur inti munzell, huwa tip simili ta 'overflow buffer. Iżda overflow munzell huwa biss terminu speċifiku użat meta l-munzell innifsu tifwir. [00:50:24] HANNAH: Dritt, hekk li irrepeti għall-video, Magħha inti tista 'taħseb overflow munzell bħala tip speċifiku ta 'overflow buffer. Kessaħ? Kwalunkwe mistoqsijiet aktar qabel immorru fuq? Biża. [00:50:37] OK, jibred, so ejja nitkellmu dwar xi messaġġi ta 'żball komuni. Din hija xi ħaġa li għandha murija fuq kwizzijiet multipli, hekk xi ħaġa li jiswew tieħu ħarsa tieni fuq. Jien ċert li inti stajt jiltaqgħu magħhom inqas xi wħud minn dawn kif qed tagħmel il-problema tiegħek settijiet. Sabiex tagħmel żgur li int tista 'tkellem dwarhom fuq il-kwizz. [00:50:50] Allura l-ewwel waħda hija tort segmentazzjoni. U li kwalunkwe ħin aħna tipprova l-aċċess memorja li aħna mhux qed jitħallew aċċess. Allura inti migh raw dan, per eżempju, fl tbegħid. Jekk tiskopri kolliżjoni ritorn null, u allura inti ippruvaw jagħmlu xi ħaġa ma 'dak il-valur null, il-kompjuter jagħti inti tort segmentazzjoni. Allura wieħed, ħaġa importanti li jagħmlu sabiex jippruvaw jevitaw dan huwa li dejjem jiċċekkja għal null. [00:51:13] Inti tista deher ukoll dikjarazzjoni impliċitu tal-funzjoni. Allura dan huwa dak li jiġri meta Allison wera inti kif nagħmlu prototip, id-dritt? Mela ejja ngħidu aħna għandna xi funzjoni li aħna jiddefinixxu. Ejja ngħidu kubu. U li tmur fil-qiegħ tal-funzjoni tagħna, taħt prinċipali. [00:51:27] Jekk ninsew li tgħid il-kompjuter dwar kubi, meta prinċipali tipprova li jsejħu kubu, il-kompjuter se jkun, bħal, oh gosh tiegħi. Għandi l-ebda idea dak li tfisser. I do not know x'għandek tagħmel, hawn. Allura l-prototip jgħid tinkwetax. Jien ser jgħidlek. [00:51:42] Hija ser ġejjin. Ma Yell fil lili. Ma jagħtux me impliċitu dikjarazzjoni tal-funzjoni. Hekk jekk ikollok dan l-iżball, wieħed Ħaġa int ser trid tagħmel hija tiżgura ruħek li għandek prototip tiegħek. OK? [00:51:53] U fl-aħħar iżda mhux l-inqas, identifikatur mhux iddikjarat huwa essenzjalment meta inti tipprova tuża varjabbli li int ma dikjarati. Allura kollha f'daqqa tibda qal like n plus plus. U l-kompjuter jgħid x'hemm n? Inti qatt ma told me n kienet ħaġa. [00:52:06] Allura ħaġa waħda għandek tagħmel żgur li int għamlet hu li tgħid il-kompjuter dak n huwa. Hekk per eżempju, n tista 'tkun numru sħiħ. U allura inti se tevita dan l-iżball. Kwalunkwe mistoqsijiet dwar żbalji komuni? Iva? [00:52:17] STUDENT: Għall-impliċitu dikjarazzjoni ta 'funzjoni, jista 'jkun ukoll li inti barra wieħed tal-libreriji inti kienu suppost li tinkludi, aktar milli l-prototip? [00:52:24] HANNAH: Dritt, hekk il- kwistjoni kienet, tista wkoll tikseb dan l-iżball jekk inti nesa li jinkludu librerija. [00:52:28] STUDENT: Iva. [00:52:29] HANNAH: Assolutament, għaliex bl-istess mod li aħna rridu li tqiegħed prototipi tagħna qabel l-funzjoni ewlenija tiegħu, jekk ikollna librerija, dawk huma għaddejjin li essenzjalment jinkludu l-prototipi, jinkludu d-definizzjonijiet tal-funzjonijiet. Kwistjoni kbira. [00:52:40] STUDENT: Għal segmentazzjoni tort, li kieku wkoll jiġri jekk aħna, bħal, ippruvaw aċċess varjabbli, bħal, fil-[inaudible] differenti milli kien iddikjarat fil-? HANNAH: Sure, hekk kieku aħna jiksbu tort segmentazzjoni jekk aħna ppruvaw għall-aċċess għal varjabbli barra mill-ambitu? Kienet li kwistjoni? STUDENT: Iva. HANNAH: Beautiful. Allura probabbilment, int ser tikseb żball identifikatur mhux iddikjarat minflok. Allura huwa biss se ngħid I do not know dak li hu. Kessaħ, kull ħaġ'oħra? Yeah, OK, beautiful. [00:53:10] Kollha righty, hekk recursion. So I imsemmi koppja darbiet li nistgħu jiksbu overflow munzell għaliex aħna qed ssejjaħ tagħna funzjoni rikursivi hekk bosta drabi. Aħna jkollna dawn kollha munzell frejms, blah, blah, blah. What anki hija funzjoni jirrikorri? Ukoll, funzjoni jirrikorri hija kwalunkwe funzjoni li s-sejħiet innifsu. [00:53:26] Xi affarijiet li jkun konxju ta 'meta inti qed jimplimentaw il-funzjoni jirrikorri, ma ninsewx li tinkludi każ bażi. A każ bażi huwa l- punt li fih aħna jispiċċaw. Allura, per eżempju, jekk aħna qed kodifikazzjoni, , Jgħidu, Fibonacci recursively, aħna tixtieq li tagħmel ċert li meta nikbru għall-0 jew l-ewwel numru Fibonacci, dawn iż-żewġ numri jkollhom dawn il-każijiet, għaliex dawn mhumiex dipendenti fuq affarijiet li daħlu qabel. Dawk għandhom valuri tagħhom stess. [00:53:51] Xi pros għal recursion, li hija kwistjoni Rajna fuq kwizzijiet passat. Dawn jistgħu jwasslu għal aktar konċiż, kodiċi eleganti. U ħafna ta 'funzjonijiet, a lott ta 'algoritmi differenti, attwalment jipprestaw ruħhom għal recursion. Definizzjoni tagħhom jista 'jkun rikursivi u fih innifsu. Allura Fibonacci huwa wieħed. Fattorjali huwa wieħed. Jingħaqdu sort jiġifieri one-- kollha affarijiet li inti tista 'tħares lejn. OK, xi mistoqsijiet? Iva? [00:54:15] STUDENT: huwa każ kantuniera simili għal każ bażi? Jew hija li għal xi oħra tip ta '[inaudible]? [00:54:22] HANNAH: Sure, so a każ kantuniera huwa any-- tant huwa l-każ kantuniera l-istess bħal każ bażi? Każ rokna hija xi ħaġa li tiegħek kodiċi jġibx ruħu ftit differenti. Xenarju bażi huwa tip ta 'relatat, b'mod li dawn qed simili każi partikolari li inti tixtieq li tħares lejn. Imma l-idea ta 'każ bażi huwa li inti tixtieq funzjoni jirrikorri tiegħek biex tieqaf f'xi punt. Hija ma jistgħux iżommu ssejjaħ lilha nnifisha dejjem. Jeħtieġ li tieqaf f'xi punt. [00:54:49] Rob: Iva, frekwentement, każijiet bażi tiegħek Jista 'jkun eżempji ta' bażijiet kantuniera. [00:54:53] HANNAH: Dritt, berred, xejn? [00:54:55] STUDENT: Tista 'tispjegalna tibbaża ftit aktar? I ma pjuttost jifhmu [Inaudible] Każijiet bażi. [00:55:01] HANNAH: Tal-każijiet bażi? [00:55:02] STUDENT: każijiet Bażi, yeah. [00:55:03] HANNAH: Oh yeah, żgur. Ejja naraw. Do għandna ġibs minn hawn? Iva, nagħmlu. OK, sabiex verament malajr, jien ser tipprova tikteb kbir biżżejjed sabiex inti tista 'tara fuq l-iskrin. Ejja nitkellmu dwar, verament malajr, Fibonacci. So I ser jagħtuk l-sekwenza Fibonacci. Inti tista 'tfittex up-definizzjoni. [00:55:17] Essenzjalment, kull numru fis-sekwenza hija s-somma taż-żewġ numri ta 'qabel. OK, sabiex il-mod li I biss deskritta Fibonacci, inti tista 'tisma' l-recursion, id-dritt? Meta I qal kull numru huwa l- somma taż-żewġ numri ta 'qabel, nistgħu ngħidu OK. Ukoll, il Fibonacci nth number-- hekk ejja ngħidu aħna għandna din il-funzjoni imsejħa fib fib-- ta n se tkun ugwali għal FIB ta 'n minus 1 plus-- sorry, aħna ser tmur fuq il-linja li jmiss fuq fib here-- ta n minus 2. [00:55:52] OK, sabiex dan jaħdem kbir jekk int tħares lejn, per eżempju, il-żero, wieħed, tnejn, tlieta, erba ', ħames numru Fibonacci, fejn inti tista 'tgħid li 5 huwa ugwali għal 2 plus 3. Imma x'jiġri jekk int fil-bidu? X'jiġri jekk int biss laqtu dawn l-ewwel żewġ valuri? [00:56:08] Biex tikseb dan 1, inti ma tistax jgħidu żid it-tnejn ta 'qabel, minħabba li żero and-- I do not know. Allura f'xi punt, għandna bżonn li tieqaf. F'xi punt, għandna bżonn li ngħidu li dawn tnejn biss ikollhom definizzjonijiet tagħhom stess. In-numru 0 Fibonacci huwa 0. U l-ewwel numru Fibonacci huwa 1. [00:56:26] Allura l-mod I tista kodiċi dan, I ngħid jekk n huwa inqas minn tnejn, allura biss jirritornaw n. U li tkun każ bażi tiegħi. Thats kif I taf biex tieqaf b'funzjoni jirrikorri. Huwa li ċari? Biża. Xi ħaġa oħra fuq recursion? Beautiful. [00:56:45] Ejja malajr nitkellmu dwar tfittxija u ħinijiet sort run. U mbagħad I se tagħti xi Davin ħin biex jitkellmu dwar kodifikazzjoni eżempji. Allura hawn huma l-tfittxija prinċipali u xorta li għandek tkun taf dwar. Guarantee-- I ma jistgħux jiggarantixxu, minħabba I ma bbenefikawx l-quiz-- iżda din taqa up kwizz wara kwizz wara nieqaf. Allura definittivament tuża din it-tabella. Bħal, jieħdu din chart. Poġġih fuq folja iqarrqu tiegħek. Int ser tkun persuna kuntenti. [00:57:09] Dan tgħidilna l-ħinijiet run ta 'kull ta 'dawn it-tip u tfittxija algoritmi. Allura tfittxija lineari, tista 'tara run ħin, u istess bil-tfittxija binarja. Mur fuq liema dawn algoritmi tagħmel, l-idea ġenerali. Ħares lejn uħud pseudocode, jekk mhux kodiċi nnifsu. [00:57:25] Int ser ikollok tara dik it-tip bużżieqa għandha fuq marbuta fl-agħar każ ta 'n kwadru. Hekk jekk firxa tagħna kien kompletament lura qabel ridna li sort it, aħna ngħid li dan huwa ser jieħdu passi n kwadri. Iżda fl-aħjar każ, sabiex il- t'isfel marbuta għall-aħjar każ se tkun jekk huwa diġà perfettament magħżula. Imbagħad kollha għandna nagħmlu huwa jiċċekkjaw li huwa magħżula. Hemm kwistjoni minn hawn? [00:57:47] STUDENT: Meta kieku inti tixtieq li tuża tip? L-tip. Jien sempliċiment kurjuż. [00:57:52] HANNAH: Meta kieku inti tixtieq li tuża sort għażla? Dan wieħed? Il-wieħed li n kwadrat fiż-żewġ każijiet? [00:57:55] STUDENT: [inaudible]. [00:57:56] HANNAH: Allura huwa differenti ħafna. Jekk għandek speċifiku rekwiżiti għall-programm tiegħek, bħal affarijiet simili jekk aħna biss qal timplimenta sorry-- search-- timplimenta sort, inti ser probabilment tixtieq li tmur għal wieħed mill-dawk li għandha aħjar każ ta 'n, jew aktar baxxa marbuta fl-aqwa każ ta 'n. Iżda jista 'jkun hemm ċerti affarijiet simili, ngħidu aħna, Swaps huma verament għaljin għal xi raġuni. Imbagħad inti tixtieq li tagħmel sort bużżieqa, għaliex inti għandhom jagħmlu dan ħafna Swaps, affarijiet bħal dik. Kwalunkwe iva other--? [00:58:23] STUDENT: Ikun [inaudible] ngħid li [inaudible]? HANNAH: Li ħaġa waħda li se jgħidlek jekk inti qed tħares lejn l-implimentazzjoni. Il-mod nixtieq attwalment jaħsbu dwar għaliex huwa n kwadrata hija li għandna jiddekorri permezz firxa tagħna ta 'tul n, kull darba li tagħmel l-aktar, n swaps. U għandna nagħmlu dan il-proċess n żminijiet. [00:58:46] Allura meta inti għandek tagħmel l-aktar, n tpartit u għal n runs permezz tal-firxa, hemm għaddej li jkun n kwadrat. Imma iva, dan ser jiġi żvelat permezz ta 'din doppja għall loop, bħala l-kwistjoni asked-- jew nested għall loop, I għandha tgħid. OK? [00:59:00] U mbagħad jingħaqdu sort, li huwa t-tip mgħaġġla aħna issa, jew li konna koperti fl CS50, jafu li l-algoritmu prinċipali huwa din l-idea ta 'ksur fis biċċiet magħżula u mbagħad tintegra flimkien dawn bits magħżula. U se jiksbu us log n log n. Kwalunkwe mistoqsijiet dwar tfittxijiet u xorta qabel I tgħaddiha fuq? Ejja naraw. [00:59:21] Oh, listi marbuta. Jiddispjacini, għandi suġġett wieħed aktar. OK, biża, marbuta listi. Problema bil-arrays, jekk ikollha daqs fiss. Mela jekk inti ma taf kif big input tiegħek se tkun, inti ma tridx li joħolqu firxa. Għaliex jekk aħna joħolqu firxa li huwa żgħir wisq, nistgħu run fis overflow buffer. [00:59:35] Allura minflok, stajna nagħmlu xi ħaġa ma 'listi marbuta, li jippermetti li jkollhom dinamikament struttura tad-data daqs li se jippermetti magħna biex jaħżnu ammont aktar flessibbli ta 'data. Allura fi ħdan kull node fil tagħna marbuta lista, għandna żewġ biċċiet. Aħna għandna l-valur attwali li jaħżen. Allura dak biss il-ħaġa inti tara fil-firxa, per eżempju. U allura aħna wkoll iżżomm kont ta ' pointer li l-ħaġa li jmiss fil-memorja. [01:00:04] B'differenza arrays, li nafu lkoll se biex be-- elementi array huma kollha wieħed wara l-oħra fl memory-- marbuta listi jista 'jkun kullimkien fil-memorja. Huma qed postijiet arbitrarji. Hekk jekk konna biex fil-fatt imorru jsibu lilhom, aħna bżonn li jżommu rekord ta 'l- ħaġa li jmiss fil-lista tagħna. [01:00:19] U mbagħad sabiex tkun taf fejn dik il-lista kollha kemm hi huwa, kollha għandna biex iżommu kont ta hija l- ewwel element fil-lista marbuta tagħna. U li ser jippermettu magħna biex jimxu. [01:00:31] Allura dan huwa kif inti tista 'tiddefinixxi modalità. Din hija opportunità kbira biex jieħdu vantaġġ ta 'structs. Għax għandek din l-idea, ukoll, għal node partikolari, Għandi żewġ biċċiet. Għandi l-valur attwali innifsu. U mbagħad I jkollhom pointer għall- element jmiss fil-lista marbuta. Allura inti tara, għandna n integer, li se jkun il-valur attwali, u mbagħad pointer li node, imsejjaħ jmiss. Allura li għaddej biex tkun il-li jmiss element fil-lista marbuta tagħna. STUDENT: Iva? Do għandek tispeċifika li l-istilla huwa bħal Struct? [01:01:01] HANNAH: Iva, hekk peress li dan huwa kważi bħal tip ta ', jidher li huwa simili rikursivi definizzjoni li aħna bżonn tkun taf dak node huwa ġewwa li tinstab node. Peress li ma attwalment taf liema node huwa kompletament sakemm aħna jiksbu l-aħħar tal this-- u wara dan nistgħu biss sejħa hija a node-- ġewwa ta 'din id-definizzjoni, għandna bżonn li sejħa hija node Struct. Kwistjoni kbira. Xi ħaġa oħra? Iva? [01:01:26] STUDENT: Għalfejn nagħmlu jkollhom jgħidu node darbtejn? Għaliex meta konna fil [inaudible] aħna biss kellha tagħmel dan fil virgola, iżda issa għandna biex issib li node Struct? [Inaudible]. HANNAH: So Nemmen fl-aħħar eżempju, konna biss joħolqu ghaċ riedu jużaw student wara li, inti kellhom jużaw Struct node-- Jien sorry-- student Struct. Dan ippermetta magħna biex, wara l-fatt, biss użu node iżżid tip ġdid, essenzjalment. Li jagħmel sens? Allura aħna d jkollhom imorru lura u tħares lejn il-kodiċi qabel. Imma nixtieq raden li aħna ma użatx typedef. U aħna staqsa l-mistoqsija, għaliex għandna bżonn tuża typedef? Typedef jippermetti li tiġi evitata l- Struct kelma fil-bidu. Iva? STUDENT: X'tip ta ' mistoqsijiet ser toħroġ f'termini f'termini ta ' lymph u listi marbuta? [01:02:10] HANNAH: Allura ħaġa waħda hija nistgħu ngħidu kif jista inti tfittex permezz ta 'lista marbuta? OK, għaliex dan huwa ftit aktar kumplikata milli kieku aħna qed tiftix permezz ta 'firxa. Nistgħu biss ħarsa lejn l-element żero, element wieħed, element tnejn, blah, blah, blah. Jekk irridu tfittxija permezz ta 'lista marbuta, aħna'd attwalment ikollhom isegwu dan labirint ftit ta pointers. Mela ejja fil-fatt imorru permezz ta 'dan verament malajr. Dak li stajna nagħmlu fil tordna to-- ejja ngħidu aħna jridux biss jtenni permezz lista marbuta kompletament tagħna. Aħna se tibda fil-ras. U mbagħad sabiex jimxu lejn l-element li jmiss, minflok sempliċiment inkrementazzjoni minn wieħed bħal aħna jista fid għaddejjin permezz ta 'firxa, aħna qed attwalment għaddejjin biex isegwu l-pointer li jmiss, hekk nistgħu nsibu fejn fil memorja l-element li jmiss huwa. So I know mhuwiex biżżejjed biex tieħu dan kollu fl-dritt issa, imma inti ser ikollok dawn pjastri. Allura inti tista 'tmur permezz dan ftit aktar bil-mod. Imma essenzjalment, dak li rridu tagħmel hu li ssegwi dawn pointers permezz tal-intier tal-lista marbuta. Allura din hija kwistjoni inti tista 'tiġi mistoqsi. [01:03:01] Xi ħaġa li l-avviż ma inserzjoni, ejja ngħidu ridna li jitqiegħed element ġdid fuq quddiem tal-lista marbuta tagħna. Aħna rridu nkunu attenti ħafna dwar l-ordni li bih aħna assenjati mill-ġdid il-pointers. Minħabba ejja ngħidu I biss qal OK. Agħmel il-punt ras għal dan l-element ġdid. Biss tagħmel dan punt 1 Imbagħad, konna essenzjalment tilef il-bqija tal-lista tagħna, minħabba I ma tiftakarx fejn 2 ħajjiet. [01:03:25] Hekk għandna nagħmlu fil- ordni speċifika ħafna. L-ewwel, nagħmlu l-ġdida punt element lill-kap. U allura aħna jagħmlu l-ras punt li l-element ġdid. Mela ejja ara dak li qisu ma arrows-- biss bħal dik. Allura inti l-ewwel ikollhom l-ġodda punt element lill-kap qodma. U issa, aħna għandna l-ras punt li l-ewwel element ġdid. Kwalunkwe mistoqsijiet ma 'dan? [01:03:49] OK hawn xi kodiċi mill-ġdid, xi ħaġa li tħares lejn ftit aktar tard. U issa I se imissu fuq lill Davin għal GDB u xi ftit ta 'prattika kodifikazzjoni fuq il-karta. Beautiful. [01:04:01] ROB: U Rob. [01:04:01] HANNAH: Oh, Davin u Rob. Jien sorry. [01:04:03] STUDENT: Woo! [01:04:08] ROB: Grazzi. [01:04:09] Davin: Tixtieq li tgħid kollox reali malajr? ROB: Yeah, yeah. Davin: Ladarba jien up. OK, filwaqt li Rob tpoġġi l- mikrofonu fuq, hekk x'hemm GDB? Kulħadd għandu raw GDB fil klassi u wkoll ħinijiet tal-uffiċċju. U inti għandek tkun tużaha. Allura x'inhi GDB? Kulmin? [01:04:28] STUDENT: Huwa debugger. [01:04:29] Davin: Huwa debugger. U dak ma jippermettu li tagħmel? Bħal, għaliex aħna simili GDB? STUDENT: Biex tnikkirx l-programm. Davin: Dritt, sabiex inti tista 'timxi permezz dan bħal pass bniedem. U iva, liema huma wħud kmandi inti tista 'tagħmel? Ukoll, waqfa huwa probabbilment kmand favoriti tiegħek. Minħabba li ihallik jiksru l- programm u attwalment jimxu permezz ta 'dan linja b'linja. [01:04:44] Run jippermettilek li run. Sussegwentement, bħal titjib permezz. X'inhu l-bejn jmiss u pass? Stenna, jgħidu li out loud. Hija kienet korretta. [01:04:54] STUDENT: [inaudible]. [01:04:55] Davin: Iva, biża. Allura simili, li jmiss u pass, jekk you're-- ejja ngħidu li għandek funzjoni inti jiddefinixxu. Ejja ngħidu xi wħud fil-funzjoni prinċipali tiegħek, u int biss laqtu jmiss, li jmiss, li jmiss. Int fil-fatt se tesegwixxi dik il-funzjoni, imma int ser jaqbżu fuqha. Jekk inti hit pass, jew i jew kwalunkwe, int ser attwalment jaqbżu fis dik il-funzjoni, u allura inti tista 'hit li jmiss biex tara l-sejħiet differenti ġewwa dik il-funzjoni partikolari. Yeah? [01:05:16] STUDENT: Hemm mod li jaqbżu, bħal, back out? Davin: Finish, yeah, finitura ma jaqbżu inti out. Allura li għaddej biex jintemm dak funzjoni, u allura int se jkun lura fil-prinċipali, per eżempju. Stampa se ipprintjaha darba. Xi ħaġa I dejjem jużaw huwa display. Display se ipprintjaha kontinwament matul il-intier tal-programm tiegħek. [01:05:32] Per eżempju, jekk int fil għal loop, u int trid tara kif xi ħaġa li qed dejjem jinbidlu, u inti ma tridx li, bħal, b'mod kostanti tkun qiegħda tagħmel bħal print, istampar, stampar, turija se display dak il-varjabbli kontinwament, kull darba li inti hit Next. U tkompli. Allura GBD, li GDB. [01:05:47] STUDENT: X'hemm l-waħda fejn inti [inaudible]? Davin: X'inhu dan? [01:05:52] STUDENT: X'hemm the-- il-varjabbli lokali. ROB: Hemm xi ħaġa fil-fatt bħal lokal jew xi ħaġa. I can't-- [01:05:58] Davin: Jista 'jkun xi ħaġa bħal dik, yeah. [01:05:59] HANNAH: Fil-lokal? [01:06:00] Davin: Li lilha. Dik hija l-waħda. ROB: Beautiful. [01:06:03] Davin: Yeah. [01:06:04] STUDENT: X'tagħmel tkompli tagħmel? [01:06:06] Davin: Hija continues-- hekk huwa biss ser tkompli programmi tiegħek. Mela jekk inti break u hit tkompli, li għaddej li biss run dak il-programm sal- hits li break darb'oħra. Hekk per eżempju, jekk inti kissru fi funzjoni, u int se do simili għal loop jew xi ħaġa bħal dik, u inti hit tkompli, li għaddej biex tkompli u jmorru lura għal dak break. Jew hemm ebda waqfa, li għaddej biex tkompli u jispiċċaw il-programm. [01:06:22] ROB: Allura bħad waqfiet run fl-ewwel breakpoint inti hit, jekk inti mbagħad hit tkompli, dan ser iżommu għaddejjin sakemm huwa l-breakpoint jmiss. U mbagħad tkompli se jmorru għall-breakpoint jmiss. Davin: Kwalunkwe mistoqsijiet oħra fuq GDB? Hekk naħseb fil-passat, konna mitluba x'għandek GDB huwa u jagħti Eżempju ta 'xi affarijiet li inti tista 'tagħmel ma GDB, hekk sempliċi reali, iżda yeah. Hemm inti tmur. U lymph? [01:06:43] ROB: Iva, hekk f'liema direzzjoni kien dan? STUDENT: Li ma kien. Davin: Stenna. ROB: Dan Guy? Davin: Li wieħed. ROB: Dan Guy, oh, I ma jirrealizzaw. Allura aħna ma kinux ċari fuq dak the-- jien ma taf min huwa was-- iżda l-kwistjoni. Ma nafux eżattament dak li għandek kienu tistaqsi dwar dan, hekk biss biex tiċċara xi ħaġa. Allura l-ewwel, bħal I said qabel, typedef int dejjem jużaw biss toħloq laqam għal tip. Allura dritt hawn, il-laqam aħna qed ħolqien huwa għal dan node Struct tip. [01:07:13] Allura l-ewwel, jinjora dan node fil- typedef, għalhekk dan Struct kaboċċi node Brace isfel għall kaboċċi jmiss Brace hija t-tip node Struct. U għandna bżonn li dik node up hemm, għaliex aħna bżonn biex referenza node fil hawn. Allura ma 'dan it-tip ta Struct rikursivi, ikollok bżonn tagħti dan Struct isem, jew inkella inti ma setgħux jgħidu node Struct fil hawn. Billi qabel ma student meta konna ittajpjat, I think, aħna ma jkollhom jgħidu student up hemm, għaliex aħna ma jkollhom jgħidu Struct student ġewwa l-Struct innifsu. Allura huwa l-rikursivi li forzi magħna biex jgħidu node hemmhekk. [01:07:43] Dan node huwa biss l-isem nkunu tagħti node għall-typedef. Allura li node mhuwiex l-istess bħal dik node. Iżda dan node Struct huwa l- istess bħal dik node Struct. Davin: Allura meta inti sejħa, bħal, node fil-funzjoni prinċipali tiegħek, int mhux ser jkollhom jgħidu node Struct. Inti tista 'biss jgħidu node, għaliex node huwa different-- hija bażikament int tgħid, OK. Minflok ma jkollhom sejħa node Struct fil-kodiċi tiegħi, I biss jixtiequ semmi mill-ġdid kif node biex tagħmilha aktar faċli. [01:08:04] ROB: Jekk inti dejjem użu typedef, allura dan huwa l-uniku post inti qed tmur biex ikollhom li tiddikjara varjabbli node Struct star, yeah. [01:08:14] Davin: OK, hekk l-aħħar parti huwa diffiċli biex jgħallmu because-- ROB: What? [01:08:24] Davin: Għaliex dan huwa kodifikazzjoni fuq il-karta. Allura kull sena għandna kodiċi dwar kwistjonijiet tal-karta. So I think aħħar sena, 12 minn 80 punti kienu kodiċi fuq il-karta. Sena qabel dik, 10 minn 80, sena qabel dik, 20 minn 100, hekk pjuttost ftit ta 'dawn. Allura int ser ikollhom biex ikunu jistgħu għall-kodiċi up dawn il-funzjonijiet bl-idejn. [01:08:40] So I dehret nistgħu jmorru permezz ta ' ftit minnhom u tara kif in-nies jagħmlu, tip ta 'walk permezz minnhom bil-mod ma 'nies. Allura ġenerali, strlen u atoi kienu popolari ħafna. Sena li għaddiet, I think kellna GetPositiveInt u RandomInt. Iżda Pow, għalhekk l-enerġija, ukoll wieħed pożittiv wisq. Ejja biss jgħaddu forsi wieħed jew tnejn ta 'dawn flimkien. What do nies trid tara? [01:09:05] STUDENT: Atoi. STUDENT: Yeah. Davin: Atoi? STUDENT: [inaudible]. Davin: OK, jien ser li tagħmel dan fuq il-bord. Għandek preferenza jekk nagħmel dan hawn jew hemm? Hemm, Gabe jgħid hemmhekk. [01:09:16] ROB: U dan huwa ħsibijiet ġenerali fuq dawn il-mistoqsijiet kodifikazzjoni. Tipprova tikteb xi ħaġa. Ma ħalliha vojta. [01:09:22] Davin: Iva. ROB: Jekk inti tista 'tikseb l- ritorn tip korrett, jew forsi nistgħu jagħtu lill inti, imma jekk inti tista ', bħal, tikteb il-firma funzjoni ġenerali, Jekk inti tista 'tikseb l-każijiet bażi korretta, jew każijiet kantuniera, jew ftakar kontroll għall null, sakemm ikollok xi affarijiet, allura forsi aħna jista 'jtik koppja punti għall-problema. Ma biss ħalliha vojta. [01:09:36] Davin: Iva, u jekk inti huma biss kompletament stumped lejn kif attwalment jduru fis-kodiċi. Jekk tikteb pseudocode, li pjuttost tajba wisq. Allura huwa simili, huwa ta 'sitt punt mistoqsija, u tikteb l-pseudocode korretta, int ser tingħata mill-inqas żewġ punti. Allura ma biss jħallu lilhom vojta. Tipprova tpoġġi xi ħaġa. [01:09:50] ROB: Jeħtieġ li jkun l- pseudocode korretta, għalkemm. [01:09:51] Davin: Iva. ROB: Allura aħna ġeneralment huma inqas klementi ma bugs fil pseudocode. Davin: OK, sabiex inti guys riedu jaraw atoi. OK, hekk biss really-- hekk dak li inti trid tagħmel huwa int ser tkun minħabba xi tip ta 'numru. Iżda dan in-numru mhuwiex se tkun int, right? X'hemm dan se jkun? [01:10:08] STUDENT: [inaudible]. [01:10:09] Davin: Huwa ser tkun string, id-dritt? Mela jekk inti kienu mogħtija a string-- ejja say-- [01:10:13] ROB: Għandi pull up editur? I jistgħu jiġbdu up-- [01:10:16] Davin: Oh, inti tixtieq li tagħmel dan on-- [01:10:16] ROB: Would you jippreferu l-bord? [01:10:17] Davin: What do inti tixtieq li tagħmel? I mean, do inti tixtieq li tagħmel dan bl-idejn? Jew inti tixtieq li tagħmel dan permezz ta 'kompjuter? [01:10:21] ROB: Jagħmlu dan bl-idejn. [01:10:22] Davin: [Laughs] ROB: Jagħmlu dan bl-idejn. [01:10:23] Davin: OK, hekk li għaddej biex tkun atoi. Allura x'hemm it-- I mean, aħna ser probabbilment jagħti dan lilek. Imma x'inhu li għaddej biex jirritorna? [01:10:29] STUDENT: Int. [01:10:29] Davin: Huwa ser jirritorna int, right? So-- Ma rridx li tagħmel dan hemmhekk. I ser tagħmel dan hawn. [01:10:34] ROB: Tista 'pull isfel u imbagħad imbotta up fuqha. [01:10:38] Davin: yeah. [Laughs] Game bidla. OK, hekk li għaddej biex tkun atoi INT, u dak li huwa għaddej biex tieħu? A star char, hekk biss spag, star i, bħal dik. [01:10:57] ROB: star Nizza, sbieħ. Davin: Dan ma jista 'jkun hemm, OK. ROB: Yeah. Davin: OK, hekk l-ewwel ħaġa li trid do-- I ma nafx jekk xi ħadd ħares fil-solutions-- prattika imma dak li int ser li trid tagħmel hu li int tmur jridu jkollhom loop, għax int tmur jridu attwalment pass permezz din is-sekwenza. Mela helpful-- hekk ejja ngħidu aħna qed tmur lil għat loop, u aħna qed tmur biex pass permezz kull element tas-sekwenza. Kemm huwa twil li? Kif ħafna drabi aħna se li jtenni f'dik għal loop? STUDENT: Sterln? Davin: Sterln, yeah. Mela ejja ngħidu tul int ugwali sterln s. U sempliċiment kurjuż, għaliex hi dejjem tip ta 'aħjar biex tagħmel dan barra tal-linji? Bħal, għaliex huwa aħjar li sejħa din il-funzjoni barra ta 'linja? Just a quick sanità check? Yeah? STUDENT: Allura inti ma għandhom iżommu jikkontrollah. Tista 'biss [inaudible]. [01:11:59] Davin: Eżattament, hekk yeah, eżattament dak li qalet. Allura aħna ma jkollhomx biex iżommu jikkontrollah. Hekk per eżempju, jekk jien ssejjaħ din il-funzjoni ġewwa loop, allura jien ser iżommu ssejjaħ din il-funzjoni multipli darbiet. U li għaddej biex jonqsu l-effiċjenza tal-programm tiegħek. Allura huwa dejjem utli li tiddikjaraha barra. [01:12:12] ROB: Li qal, fuq kwalunkwe minn dawn il-problemi, pretty ħafna sakemm inti tikseb soluzzjoni operattiva, ikollok kreditu sħiħa. So tinkwetax jekk disinn tiegħek huwa assolutament orribbli. Jista 'jagħmel magħna mqalleb qari kodiċi tiegħek. Iżda sakemm taħdem, int ser tingħata l-punti. [01:12:28] Davin: Iva. OK, hekk allura jien ser tiddikjara xi varjabbli. Huwa biss ser sejħa somma int. U jien ser jistabbilixxu dan ugwali għal żero, bħal dik. U li jinsab biss għaddej li jkun placeholder. Allura li għaddej biex tkun dak li jien ser jirritorna. Hekk jien ser eventwalment ritorn somma minn dan il-programm. So I jkollhom dawn iż-żewġ varjabbli. Għandi tul. Għandi somma. U issa ejja jaqbżu fis string tagħna. [01:12:48] Allura tikri għandhom tagħna għal loop. So erba int I ikun egwali għal 0 w, filwaqt li I huwa inqas mit-tul I plus plus. U now-- ROB: Nizza. Davin: OK, u issa hawn taqa 'l-laħam tal-kodiċi tagħna. Allura inti tista 'attwalment tagħmel din il-linja bażikament wieħed. Allura ħadd ma jkollu idea ta 'dak li aħna qed tmur biex tagħmel wara? OK, b'tali mod li OK. Allura aħna qed tagħmel ngħid somma equals-- let me scoot din is-somma over-- ugwali ħinijiet somma 10 plus-- aħna qed ser jieħdu s I nieqes wieħed kwotazzjoni kwotazzjoni 0 wieħed isir, bħal dik. ROB: intuwittivi ħafna. [01:13:56] Davin: Imfarrak dan. OK, hekk someone-- I ltqajna, I ltqajna. OK, għalhekk dan huwa b'mod ċar jogħla. Xi jfisser dan? Allura ma xi ħadd jaf liema dan ifisser? Jista kulħadd tara dan? Le, ħadd ma jista 'jara dan, OK. Jien ser to-- [01:14:18] ROB: jien ser jikteb l- formula biss id-dritt hawn. Davin: OK, Rob għaddej biex tagħmel dan fuq il-kompjuter, li huwa divertenti. ROB: Oh Alla tiegħi. Jew jien mhux ser. Davin: Stand-by. STUDENT: Għandi mistoqsija. Davin: Yeah, żgur. STUDENT: [inaudible]? Davin: OK, hekk fil-fatt, bħal, biss b'mod ġenerali, jekk ġejt biex tpoġġi, bħal, f'dan int dikjarazzjoni I ugwali tul 0 virgola ugwali sterln, that-- [01:14:59] STUDENT: [inaudible]. [01:15:01] Davin: Dik il-multa, minħabba that-- STUDENT: Għaliex kieku inti anki bżonn tuża tul? Għaliex ma nistgħu biss [inaudible] sterln i, bħall-ħin kollu [inaudible]? [01:15:08] Davin: You tfisser dritt hawn? [01:15:09] STUDENT: Iva. Davin: Minħabba li kull żmien dan għal runs loop, li għaddej biex tevalwa din il-kundizzjoni. STUDENT: Dritt. Davin: U jekk għandek sterln hemm, allura huwa ser ikollhom attwalment sejħa dik il-funzjoni kull wieħed ħin. Allura minflok sempliċiment jitqabbel ma 'int, int ser tkun sejħa funzjoni u mbagħad jitqabbel għall-valur tar-ritorn. Yeah, dan huwa biss, yeah. [01:15:28] Nizza, OK, hekk issa kulħadd jista 'jara dan. X'inhi does-- dan huwa simili, dan huwa minnu. Dan huwa l-ġamm, dritt hawn. Dak ma jfisser? What am I tagħmel? Yeah, idea? Yeah? [01:15:43] STUDENT: Well, hekk meta int jidħlu firxa, int ser jkunu għaddejjin mix-xellug għal-lemin, hekk int ser jkunu għaddejjin fil deċimali 'l isfel fil- [inaudible]. Davin: Eżattament. STUDENT: Allura kull wieħed inti għandek jimmultiplikaw dak li inti raw bħala l-valur tal-int minn il-ħin ikollok biex jimxu li aktar minn wieħed. [01:15:59] Davin: Perfect, perfetta, hekk per eżempju, ejja ngħid I taw you-- jien ser jikteb hawn fuq. Le, jien ma. Jien ser jikteb hawn fuq. Ejja ngħidu I taw inti 76, id-dritt? Ejja ngħidu I jagħtuk 76. C'est string biex jibdew, OK? [01:16:15] Allura tul huwa dak? 2, id-dritt? Somma hija 0. Allura aħna Mur fil tagħna għall loop. OK, l-ewwel iterazzjoni ta dan, dak li huwa għaddej biex tkun? Li għaddej biex tkun somma hija 0. Allura qosor ħinijiet 10 0. C'est sens. Allura dak ma dan jagħmlu? STUDENT: [inaudible]. [01:16:33] Davin: Huwa ser dawran li karattru fi integer, id-dritt? Huwa tip ta 'bħal ma tiegħek problema set-- dan light-- Huwa tip ta 'bħal ma problema stabbiliti biex Visioneer. Int jittrattaw valuri ASCII. Hekk jekk I jagħtuk, bħal, a seba ', imma hija karattru, u inti trid tkun taf, OK, dak ċifri huwa li? Yeah, inti tista ', yeah. Allura dak ċifra hija li? Inti tista naqqas 0 minnha, imma int għandek naqqas 0, il-karattru. [01:16:59] U fejn xi nies nikseb tripped, dawn qed simili, OK, ukoll, għandi taf il-valuri ASCII għal dan il-kwizz? Le, inti żgur ma jeħtieġ li tkun taf l-ASCII valuri ta ', bħal, zghar a, uppercase A, żero. [01:17:09] ROB: M'hemm l-ebda raġuni li qatt tpoġġi dan fuq il-folja iqarrqu. [01:17:12] Davin: Żgur ma iskart ispazju tiegħek ma 'dan. Inti tista literally-- biss minflok ta 'tgħid 48, bħal dritt up hemm, li huwa ekwivalenti għal qal wieħed, apostrophe wieħed, bħal dik, eżattament l-istess. [01:17:27] ROB: Inti tista 'kważi taħseb tal bħala if-- Alla, I bżonn tiegħi, oops-- inti tista 'kważi jaħsbu li kif jekk ikollna xi ħaġa bħal dik hash jiddefinixxu 0 hekk kif 48. Li mhux se taħdem. Imma naħseb li bħala kwotazzjoni waħda 0 kwotazzjoni waħda, u għall-karattri kollha. Jaħsbu li bħala kostanti li tirrappreżenta dak il-valur ASCII. [01:17:47] Davin: Iva. OK, hekk l-ewwel darba permezz, hekk bil 76-- hekk l-ewwel darba permezz, dan huwa biss il-karattru 7 nieqes il-karattru 0, u dawk huma seba integers-- ukoll, dawk huma seba spazji bogħod minn kull oħra fuq il-karta ASCII jew ikun x'ikun. Allura li għaddej biex jirritorna l int tas-7. Allura issa, somma ugwali 7. [01:18:08] OK, ukoll, ejja jaqbżu fis dan għal loop darb'oħra. OK, issa huwa somma ħinijiet 10. Hekk int effettivament jiċċaqalqu l-7 lejn ix-xellug. Ma li jagħmel sens? Inti effettiv jmexxuh lejn ix-xellug. [01:18:19] U allura inti add-- dan se jkun 6 nieqes 0. C'est 6. Allura li għaddej biex tkun ta '70 plus 6. 76, li l-numru tiegħek. Allura irrispettivament minn liema numru I taw inti, huwa bil-mod biss ser ċċaqlaq il-valuri akbar lejn ix-xellug, 1 b'fattur ta '10 kull darba fil-għall-loop, u mbagħad żid fuq kif meħtieġ. [01:18:37] Fid-dahar? STUDENT: Aħna ma jkollhom jagħmlu kwalunkwe verifika fil-programm? [01:18:41] ROB: Allura safejn iċċekkjar tmur għall-programm, aħna se jgħidlek pretty ħafna dak li għandek bżonn biex jiċċekkjaw. Jekk aħna ma jgħidlek xejn, allura ġeneralment jassumi inti għandek tiċċekkja aktar affarijiet. Bħal inti tista, biss sabiex ikunu sikuri, inti għandhom probabbilment check ħej, huwa null s? Imbagħad Għandi l-ebda idea dak li jirritornaw. Imma aħna se jgħidlek dan it-tip ta 'ħaġa. 0, I do not know. [01:18:59] Davin: U għaliex kieku inti tixtieq sabiex terġa tiġi ċċekkjata jekk i ugwali null? STUDENT: [inaudible]. Davin: Minħabba star char. Huwa pointer. Allura perfettament aċċettabbli dikjarazzjoni, nista 'ngħid, OK, i ugwali null, minħabba li jista 'jkun pointer li nulla. Allura meta għandek pointers fil-path tiegħek bħal dan, inti għandek probabbilment check. Għaliex jekk inti ma tivverifika li, u allura inti mbagħad tmur fis tiegħek għall-loop, u int doing-- scoot isfel. Scoot isfel. [01:19:22] ROB: Jiddispjacini, thats it. [01:19:23] Davin: U għalhekk, simili, jekk huwa null, u allura inti tagħmel dan, dak l-iżball huma inti se tikseb? STUDENT: Inti qed tmur tikseb tort sett. Davin: Inti qed tmur biex jistabbilixxu tort, id-dritt, għax int jippruvaw indiċi fis null. Allura inti qed tmur biex tipprova indiċi fil-memorja li inti ma stess. Allura dan, jekk dan huwa null, u inti tagħmel dan, inti ser ċiklu. [01:19:39] ROB: I think wkoll fuq l-eżami li fih staqsejna din il-mistoqsija, aħna jgħidlek li inti tista 'biss tassumi huwa numru pożittiv. Minħabba atoi huwa mistenni wkoll biex jimmaniġġaw numri negattivi, hekk inti jkollha każ speċjali. Ħej, hija l-ewwel karattru sing, f'liema każ, OK, issa huwa numru sħiħ negattiv. Aħna ser jgħidlek dawn it-tipi ta 'affarijiet. Aħna ser jgħidlek dak li għandek bżonn biex jimmaniġġaw. Davin: Iva. Hekk jien ċert xi nies jistgħu have-- jekk bdejt tħares lejn eżamijiet qodma, inti stajt tidher sterln. C'est waħda popolari. U naħseb fil sterln, kellek biex tagħmel din il-verifika għall nulla, ir-ritorn 0 jew xi ħaġa bħal dik. Bħal, kellek biex jiċċekkja għal null. U jekk inti ma, li kien punt off fuq il-kwizz. Allura xorta, ma kulħadd jħossu OK ma atoi? Ma xi ħadd tixtieq li jmorru fuq partijiet mill-ġdid? ROB: Oh yeah, I think aħna wkoll jgħidlek int jista 'jassumi li kollox is-- li dawn qed attwalment jidħlu numru, li inti ma għandekx għalfejn tinkwieta dwar, bħal, ittri li jkunu fis-sekwenza, hekk. Davin: Yeah. Iva? STUDENT: Tista 'tmur matul wieħed aktar ħin meta tuża kwotazzjoni doppja u kwotazzjoni waħda? [01:20:37] Davin: Sure, hekk kwotazzjonijiet doppja, ħafna sempliċement, hija kwotazzjonijiet doppja huma kordi. Mela jekk inti doppja quote xejn, li l-string. Allura, bħal, jekk I kellha din 0 hawn fuq, u Jien għamilt dan, li l-string. Li m'għadux karattru. So I ma tistax issib dan il-valur fuq ASCII tiegħi chart, għaliex dan huwa string, yeah. [01:20:57] OK, xi mistoqsijiet oħra? Iva? [01:21:00] STUDENT: Allura inti ħadthom diġà wieġeb din, iżda bħal, meta aħna qed attwalment bil-miktub dan fuq l-kwizz, tridu li ahna ma tikteb slashes zeroes [inaudible]? Davin: No Il-kwistjoni kienet għandek tpoġġi slash permezz tal-żerijiet biex jindikaw jekk dawn qed żerijiet? Le, aħna ser figura hija out. Yeah, grazzi, dawn qed tajba. OK, xi ħaġa oħra? Ma xi ħadd tixtieq to-- so I think konna run ftit matul iż-żmien. Do inti tixtieq li tara xulxin, jew? STUDENT: RandomInt. [01:21:29] Davin: RandomInt, OK, eżattament. Mela ejja do RandomInt. I ser tagħmel dan aktar hawn. Allura RandomInt huwa attwalment ferm aktar sempliċi. Naħseb atoi huwa probabbilment l-waħda agħar li konna mitluba fis-snin preċedenti. STUDENT: [inaudible]. [01:21:46] Davin: What? ROB: Jien jaraw jekk huwa tip ta 'viewable minn hawn. Davin: Huwa? ROB: Ma naħsibx li huwa going-- I think li għaddej biex run off lejn il-lemin. Davin: OK, so I ser jagħmlu dan wieħed. U allura inti biss jitqiegħed fuq l-iskrin. [01:21:56] ROB: Kull dritt. [01:21:57] Davin: Inti trid tkun scribe tiegħi? [01:21:58] ROB: Yeah. [01:21:58] Davin: Nizza. OK, nista 'tħassar dan? [01:22:02] STUDENT: Yeah. [01:22:04] Davin: Li tant diffiċli. (KANT) qed tagħmel dak li qed tagħmel. U tagħmel dak li inti ma. Kull dritt. [01:22:19] OK, jekk niftakar sewwa, fuq l-kwizz l RandomInt kien simili, OK, jien ser jagħtuk żewġ numri, bħal A u b. U nixtieq li inti tagħti me RandomInt bejn dawn in-numri. Allura RandomInt huwa għaddej biex jieħdu żewġ numbers-- hekk RandomInt-- u huwa ser jirritorna l int. [01:22:41] Allura x'inhu l-valur tar-ritorn? I biss qallek. Int, right? Bħal dan, u allura huwa ser jieħdu żewġ ints. Allura li għaddej biex tieħu int au int b, bħal dik. Allura dak RandomInt hu ser tagħmel hu li għaddej li jirritornaw xi valur każwali bejn dawn iż-żewġ valuri. Allura li għaddej biex jkun akbar minn, inqas minn b. So I think inti tista 'probabbilment jassumi li a hija l-iżgħar miż-żewġ valuri. Mela jekk aħna qed jittrattaw ma ' randomness, liema funzjoni ma rajna li jagħtina affarijiet bl-addoċċ? STUDENT: Drand. Davin: Drand, eżattament. Allura int ser probabbilment tixtieq li tuża drand tiegħek. Allura inti tista 'tgħid int każwali, u aħna ser biss jgħidu li ikun egwali għal 0 dritt issa. U dawn qed aħna qed tmur biex ngħid, OK, ugwali każwali drand 48. U dan xi ritorn? X'jagħmel din il-funzjoni jtik? [01:23:43] STUDENT: Bejn 0 u 1. [01:23:45] Davin: Yeah, bejn 0 u 1. Allura li għaddej biex be-- [01:23:48] ROB: U dan is-- naħseb aħna se jgħidlek dan. Bħal, inti tista 'tuża drand 48. Inti tista 'tivverifika dan fuq l-eżami tal-passat. Iżda aħna'd probabbilment ngħidu li inti jistgħu jużaw drand 48, li jirritorna float bejn 0 u 1. [01:23:58] Davin: Iva, iva, jien pretty żgur fuq l-eżami jgħid inti probabilment tixtieq li tuża drand, yeah. Allura li għaddej biex jirritorna xi valur bejn 0 u 1. U allura dak li huma inti tmur trid tagħmel? Ukoll, inti tixtieq li jimmultiplikaw by-- stenna, I think it'sa bħal dan, sorry. I ser biss tagħmel dan. I do not know. [01:24:19] Allura b nieqes. Allura għaliex b nieqes? Mela ejja ngħidu drand jagħtik lura OK int--, I ser biss tagħmel l-bqija, hekk plus a. Allura dak does-- y huwa b nieqes. Mela ejja ngħidu li drand jagħtik lura il-valur massimu li jista 'possibbilment jtik. X'hemm li għaddej biex tkun? STUDENT: 1. [01:24:43] Davin: 1, id-dritt? Hekk jekk dan huwa 1, u int moltiplikat b nieqes, ukoll, li jinsab biss l- differenza bejn minus A. U jekk inti mbagħad żid li lura fuq, dan huwa dak? Huwa bażikament b. Ma li jagħmel sens? [01:24:57] STUDENT: Iva. [01:24:59] Davin: Mela jekk dan huwa l-massimu valur possibbilment dan jista 'jkun, li għaddej biex tkun 1. U allura dan huwa biss il- differenza bejn it-tnejn. Żid fuq, għalhekk dan huwa ser jirritorna każwali. U fil-każ kantuniera li drand jagħtik lura 1, każwali se jkun biss jiġu b effettiv. Iżda li l-massimu jista 'jkun. Mela jekk li għaddej biex tkun inqas minn li, hekk ejja ngħidu li bħal tagħha 0.9, hekk allura 0.9 drabi b minus a se tkun inqas mid-differenza bejn b nieqes. [01:25:33] U mbagħad jekk inti żid li fuq għal, allura dak il-valur huwa ser ikun akbar minn, għaliex int żżid xi ħaġa fuq dan, iżda li għaddej biex tkun inqas minn b. Allura inti qed tmur biex tikseb każwali numru, għax int ssejjaħ drand. U li rand, dak in-numru każwali hu se tkun x'imkien bejn u b. Ma li jagħmel sens? [01:25:50] ROB: Just biex tqiegħed fil numri konkreti, hekk ejja ngħidu li rridu pick numru bl-addoċċ bejn 7 u 10. Allura b nieqes huwa firxa tagħna. Allura hemm firxa ta 'tlieta numri irridu li jagħżlu minn. U mbagħad multiplikazzjoni li bejn 0 u 1 1, jekk dan imbagħad tagħtina some-- ejja ngħidu li jagħtina 1.5. [01:26:07] Imbagħad 1.5, irridu imorru 7-10. Allura 1.5 plus 7 iwassalna lura fis tagħna 7 sa 10-firxa. U allura aħna qed maħżuna ġewwa ta integer, għalhekk maqtugħa isfel sa 8. U allura aħna biss jirritornaw dik. Allura b nieqes huwa firxa tagħna. a xiftijiet it up fil-numri li aħna rridu f'dik il-medda. Allura bejn 7 u 10, u allura aħna tista 'ritorn dak li aħna jispiċċaw ma. [01:26:30] Davin: Yeah, sbieħ. [01:26:32] ROB: Grazzi. [01:26:34] Davin: Yeah, x'hemm up? [01:26:35] STUDENT: Do we run għal kwalunkwe tip ta ' Żbalji ASCII meta we're-- jekk drand huwa jirritornaw float [inaudible]. [01:26:42] ROB: Allura bħad Rob qal, minħabba każwali mhijiex int, hekk drand se jkun float. Hekk u mbagħad timmultiplika out. U inti tista 'tikseb xi tip ta 'numri float. U allura li għaddej biex truncate. [01:26:51] STUDENT: OK. Davin: Yeah. ROB: U jekk il-kumpilatur kienu biex iwissu inti dwar, bħal, telf ta 'preċiżjoni, biss jintefa l int fil hemm, u allura huwa tajjeb. Davin: Iva? [01:27:02] STUDENT: Would jkollu l- istess probabbiltà ta 'jkollna, simili, b jew [inaudible]? [01:27:08] ROB: Allura is-- jien attwalment wondering-- huwa RandomInt suppost li jkun hemm numru minn għal inqas minn b? Simili, jekk din tkun bejn 7 u 10, liema huma l-possibbiltajiet? 7, 8, u 9, jew 7, 8, 9, 10? Davin: I tinsa. Fuq il-set-- problema [01:27:19] ROB: Naħseb li huwa 7, 8, 9. [01:27:20] Davin: Hija speċifikament tgħid wieħed inklussiva u ta wieħed esklussiv. [01:27:22] ROB: Yeah. [01:27:23] Davin: Imma jien don't-- jien not-- [01:27:23] ROB: So I think dawn huwa mhux inkluż, f'liema każ, hemm ugwali probabbiltà ta '7, 8, u 9. M'hemm l-ebda probabbiltà ta '10. Davin: Iva? STUDENT: Għandi mistoqsija. Aħna rridu li jiddefinixxu funzjoni prospetti mhux valur wieħed, iżda firxa. Allura dak ikun l- sintassi wara r-ritorn? [01:27:41] Davin: OK, hekk allura inti would-- wara r-ritorn? Mela ejja ngħidu li inti kienu ddikjaraw firxa x'imkien up hemm. Imbagħad inti biss jirritorna l-isem tal-firxa. [01:27:49] STUDENT: OK, grazie. Imbagħad biss ritorn ma a-- Davin: Oh stenna, so sorry. Il-mistoqsija kienet kif do inti tirritorna firxa. [01:27:54] ROB: Għalkemm ma setax jiġu firxa ddikjarat fuq il-munzell jew xi ħaġa bħal dik. Ikun jkollhom jiġu xi ħaġa malloced, għaliex malloc huwa kif inti tikseb madwar allokazzjoni memorja awtomatiku. [01:28:01] Davin: Iva. ROB: Kif inti tikseb madwar ambitu lokali. [01:28:09] Davin: Imma inti biss ritorn name-- tagħha [01:28:11] STUDENT: [inaudible] mhuwiex wieħed valur, per eżempju, żewġ numri, hekk [Inaudible]. [01:28:18] Davin: Inti ma tistax tirritorna numru multipli. Inti ma tistax, bħal, return-- [01:28:20] STUDENT: I ​​tkellem dwar jirritornaw firxa jew xi ħaġa bħal dik. [01:28:23] Davin: Yeah, sabiex il-kwistjoni hija nista ritorn valuri multipli. Inti ma jistgħux jirritornaw valuri multipli. Inti ma tistax, bħal, ritorn imbagħad ritorn b jew xi ħaġa bħal dik. Għax wara inti tirritorna, inti ritorn mill-funzjoni. U allura l-funzjoni isir, u bħal Rob qal, huwa fuq il-munzell. [01:28:35] Allura dak kollu li memorja biss gets lura lill-kompjuter. Kollox gets minsija, bażikament. Mela jekk inti tixtieq li jirritornaw multipli valuri, inti għandek tirritorna firxa, U l-mod inti tagħmel dan huwa mallocing. U allura inti se jerġa 'lura x bħal dik. Bażikament, inti biss jirritorna l-isem. U meta inti tirritorna xi ħaġa bħal din, int mhux attwalment jirritornaw il-valur. [01:28:53] Mela ejja ngħidu li inti maħżuna il-valuri fil-firxa. Int ma attwalment jirritornaw dawk il-valuri. Bħal, jekk I lura l int, jien verament jirritornaw kopji tal-valuri. Imma jekk jien kienu li jirritornaw xi ħaġa bħal din, Jien jirritornaw referenza għal dawk il-valuri. Hekk jien jirritornaw, bażikament, a indirizz tal-memorja għall-valuri. Ma li jagħmel sens? STUDENT: Iva. Davin: Nizza. Iva? [01:29:13] STUDENT: Meta int użu drand hawn fuq, do inti għandek tpoġġi srand qabel dik? [01:29:17] Davin: No, no, jien ma naħsibx hekk. [01:29:20] ROB: Yeah, hekk do ikollok li jgħidu xejn dwar srand? L-inadempjenza tal inti qatt tgħid srand fil-livelli kollha huwa li biss tagħmel srand ta null. Allura drand fuq ix-xogħol rieda tagħha stess. U se awtomatikament żerriegħa bil il-ħin kurrenti, huwa dak li tuża. Davin: Iva? STUDENT: Do you [inaudible] man-numri? Davin: Iva, inti tista '. STUDENT: Allura inti tista jgħidu, bħal, 4 darbiet 2. Il-ħaġa hija, inti ma tistax tassumi allura int huwa erba 'bytes. Il only-- [01:29:51] Davin: I tfisser, għall-kwizz tista '. [Laughs] [01:29:54] ROB: Mm, l-ebda. Davin: Iva, iva tista '. Jekk dawn jistaqsu kemm hu kbir l-int huwa, inti ma tistax tkun, bħal, erba 'jew tmien. ROB: Oh, hekk jekk l- kwistjoni hija speċifikament, bħal, jekk din hija problema kodifikazzjoni, inti għandek tgħid daqs ta 'int. Jekk huwa tabella, jew jgħid kemm bytes, inti m'għandekx timla fid-daqs ta 'ints. [01:30:08] STUDENTI: [Laughs] [01:30:18] Davin: Dritt, hekk għaliex huwa daqs ta 'int importanti hawnhekk? Allura simili, jekk aħna qed tmur biex 32-bit proċessur jew xi ħaġa bħal dik, allura li għaddej biex jkun ta 'erba bytes. Imma fuq xi wħud mill-aktar ġodda Jittieħed, jista 'jkun dak? Dan jista 'jkun ta' tmienja, id-dritt? Mela this-- jekk inti biss kodiċi hard erba, imbagħad fuq xi magni, din se taħdem. Xi magni, mhux se taħdem. Imma jekk fuq il-kwizz aħna qed bħal kemm hu kbir huwa int? Poġġi erba. ROB: Dritt. Davin: Yeah? STUDENT: Allura għaliex aħna qed tiddikjara [Inaudible] ġewwa funzjoni, għandhom npoġġux 3 ġewwa dik il-funzjoni? Jew nistgħu nużaw dan barra? Davin: Tista 'tużah barra minn dik il-funzjoni. Hekk hu tistaqsi b'xejn. [01:30:49] STUDENT: Lose track ta 'fejn [inaudible]. [01:30:51] ROB: Oh, il-free ma happen-- li l-parti tal-maġija ta malloc hija li int mhux ristretta għall-ambitu lokali. Inti għandek kontroll sħiħ fuq kemm varjabbli tiegħek ħajjin. Allura aħna sejħa malloc hawn, jista ' tkun funzjoni separata kompletament. Jista 'jkun 10 siegħa wara li aħna finalment sejħa ħielsa. [01:31:08] Davin: Hekk per eżempju, bħal, koppja ġimgħat minn issa meta inti finalment do speller dizzjunarju tiegħek psets, int ser li jkollu xi funzjoni li joħloq tunnellata ta 'għoqiedi. Hekk int mallocing tunnellata ta 'punti strateġiċi din il-funzjoni. U mbagħad fil- funzjoni separata, int tmur jridu ħielsa ta'dawk il-lymph kollha. Allura inti tista litteralment biss jgħaddu biex ħielsa pointer, so a indirizz tal-memorja għal dak li inti malloced. U li se tkun multa. Inti ma għandekx ħielsa, simili, fl-istess funzjoni. Iva? [01:31:30] STUDENT: Allura malloc varjabbli [inaudible] barra? Hija li dak li qed tgħid? Davin: Stenna, jgħidu li? Jiddispjacini. [01:31:38] STUDENT: Jekk varjabbli malloc jista 'jkun b'xejn kullimkien fil-kodiċi, allura jistgħu dawn jiġu aċċessati kullimkien fil-kodiċi? Inti tista 'żżomm minnhom lokali? [01:31:45] Davin: Oh, hija talbet, simili, il-varjabbli, like-- [01:31:51] ROB: Allura inti xorta jkollok bżonn li jkollhom xi tip ta 'referenza li jimblokka l-malloc ta 'memorja. Allura hawnhekk, aħna qed jirritornaw x. STUDENT: Oh. ROB: Jekk aħna ma reġgħux lura x hawn, u dan kien biss null, allura rridu naraw l-ebda aċċess għall- l-pointer li kien malloced, u huwa nixxew memorja. [01:32:05] STUDENT: OK. [01:32:06] Davin: Allura simili, ejja ngħidu li inti jkollhom din, bħal, dritt hawn. ROB: No Davin: Fil-funzjoni prinċipali tiegħi, ma nistax biss sejħa dan x u jkunu, bħal, OK, F'din il-funzjoni, Jien għamilt dan. [01:32:14] ROB: Dritt. [01:32:14] Davin: So jien ser sejħa x fi, bħal, prinċipali jew xi ħaġa bħal dik. Inti ma tistax tagħmel dan. Int ser jirritorna xi ħaġa. Imma liema huma inti se tirritorna? Inti qed tmur biex jirritorna l-indirizz tal-memorja. U għaliex inti tirritorna memorja indirizz, li jistgħu jiġu aċċessati x'imkien ieħor. Kwalunkwe aktar mistoqsijiet? Iva? [01:32:28] STUDENT: Huwa l-funzjoni ta 'hawn fuq jkunu verifika għall [inaudible]? [01:32:33] Davin: Għaliex għandi m'għandhomx bżonn li tagħmel dan? STUDENT: [inaudible]. Davin: Minħabba int mhux mallocing xejn. Allura huwa not-- yeah, huwa mhux bħal string i. Huwa pointer x'imkien. Dawn huma biss il-valuri. STUDENT: OK. Davin: Yeah. Xi ħaġa oħra? ROB: Yep? STUDENT: Imma meta inti [inaudible]? [01:32:55] ROB: Allura biex tilliberalizza l- memorja, aħna ngħid hawnhekk. Allura x hija pointer tagħna biex l-blokk ta 'memorja. Aħna ħielsa li pointer. U aħna mhux bilfors tagħmel dan hawn. Nistgħu nagħmlu dan kullimkien. Imma inti biss sejħa b'xejn fuq xi ħaġa li malloc prospetti. Allura malloc, hawn, lura dak li qed jiġi maħżun fil x. Allura nistgħu sejħa b'xejn fuq x. Kwalunkwe aħħar kwistjonijiet? [01:33:20] Davin: Kwalunkwe mistoqsijiet aħħar? Yeah? [01:33:22] STUDENT: Jiddispjacini, inti tista terġa 'tispjega għaliex inti ħielsa fil hemmhekk? Għaliex [inaudible]? [01:33:26] Davin: Għal hawn? [01:33:27] STUDENT: Yeah, bħal dritt wara. Davin: You probabbilment ma tridx ħielsa hawn. ROB: You probabbilment ma. Davin: Yeah, li dan ser jagħmlu xejn. Dan ikun, bħal, joħolqu memorja, do Jittieħed lilha, u mbagħad minnufih tinsieh, yeah. [01:33:37] ROB: Iżda aħna tista 'tagħmel, bħal, fil hawn għal xi raġuni. Nistgħu ngħidu star int y ugwali firxa ritorn. Do xi għalf ma y, forsi jistampaw il-kontenut. U mbagħad, fl-aħħarnett, aħna qed isir. Nistgħu ħielsa y. STUDENT: [inaudible]. Davin: Għandi iscroll isfel? Grazzi. ROB: Nizza. [01:34:02] Davin: OK, thats it. ROB: Kull dritt, tajba. Xorti tajba. [01:34:05] Davin: Jekk ikollok aktar mistoqsijiet, email us. Xorti tajba.