ALLISON BUCHHOLTZ-AU: Ei, visi. Sveiki atvykę į skyrių. Šiandien yra tik ketina būti visi viktorinos peržiūrėti savo viktorinos trečiadienį. Tikiuosi, kad visi prisimena, kad jos pagrįstos trečiadienis viktoriną. O jei ne, gerai, Dabar jūs jau priminė. Taigi trečiadienis įsitikinkite rodomi už klasės ar kitų kelionės kaip būtina. Vaikinai ketinate būti nuostabus. Ji ketina būti didelis. Ir aš ruošiuosi daryti viską, ką galiu padėti parengti jums šiandien jūsų viktorinos dabar. Ir taip pat, jei jūs nežinote,, yra žinoma plačiai apžvalginį šiandien 07:00 į Northwest labs kambarys B103. Jūs galite pamatyti man vėl už kaip encore Aš padės dalį šios sesijos apžvalgos taip pat. Taigi, jei jūs negalite gauti pakankamai mane dabar galite ateiti vėl šįvakar. Gerai, taigi Pirmasis dalykus. Tiesiog kai viktorina patarimai Prieš tikrai pasinerti į nuomones. Taigi kaip ir su bet egzamino praktika tikrai padės jums. Yra egzaminus iš praeities šešių ar septynių metų, kad ten, todėl tai, daug praktikos medžiaga jums vaikinai turi. Ir iš tiesų, šiandien yra tikrai tik bus vyksta per visus pranešimus kad jus vaikinai klausimus, taip pat kaip dirbti per praktikos problemas iš viktorinos nulio. Taigi aš mesti viktorina nulį nuo praėjusių metų čia, ir mes galime dirbti per visas problemas, kad vaikinai nori. Taigi praktika. Jūs ketinate pradėti daryti, kad šiandien. Kodas ant popieriaus. Taigi, taip, jei visi iš tiesų gali išeiti popierius, kurie bus puikus, nes nesate teks kompiuterį ant egzaminas ir raštu iš kodą rankiniu būdu Dažnai daug sunkiau nei galima tikėtis. Su tuo mes tiesiog matydamas ir įrašyti ją, ir jūs turite savo kompiliatorių jums padėti, kai jūs turite klaidų, bet jums nereikia gauti, kad į egzaminą. Taigi, tai tikrai svarbu, kad iš tikrųjų galės išrašyti kodą ir kad raumenų atmintis veikia tai ranka tikrai padės jums. Todėl mes vis tiek arti. Tai pirmadienis. Jūsų egzaminą trečiadienį. Bet jei jūs turite laiko, tikrai priima vieną iš iš praeitų metų ar egzaminus metų anksčiau su laiko suvaržymai iš valandą ir pusę. Tiesiog išmuštų valandą ir pusė laiko, ir sėdėti sau žemyn, ir tiesiog dirbti per problemas kaip jei buvo iš tikrųjų atsižvelgiant jį, nes vieną iš didžiausių dalykų, kad mes girdime apie viktorinos, kad jie yra labai ilgas. Tai medžiagos aikštelė. Yra daug klausimų, ir dauguma žmonių negali baigti. Aš žinau, kad aš visiškai nebaigė mano viktorinos, kai aš paėmė klasė. Tą dėmesį, kaip mažiau patogus skyrius, Suprantame, kad šis kursas yra skirtas patenkinti žmonių įvairaus lygio. Visa priežastis turime padalinti mažiau patogūs, kažkur tarp, ir patogiau yra rūšies, kad jis taptų teisinga. Ir jeigu Jums mažiau patogus, tai Nebūtina per se gauti viską. Pavyzdžiui, jei jums buvo gauti viskas, jūs tikriausiai būti patogesnė skyriuje. Taigi, žinoma, neturi mušti save iki per sunku, jei jūs negalite užbaigti egzaminą. Take it from me, I did not do it. Aš vis dar koncentratorius. Aš vis dar padeda mokyti kursą. Jums bus gerai. Gerai. Ir galiausiai, pamiegoti. Akivaizdu su bet egzaminą mes visada sakau. Kalimas į prieš naktį ir negauna jokio miego daro not-- gal jei tas dirba Jums, eiti į jį. Bet didžioji dauguma žmonės, vis pamiegoti, leisdami savo smegenų pailsėti ir atsigauti prieš atvykdamas į egzaminą tikrai padės jums. Taip pat ten bus beveik tikrai bus saldainiai, egzaminų, todėl jūs turite laukiu. Vaikinai ketinate daryti puikiai. Ji ketina būti gerai. Ir dabar į kitą valandą ir pusę I bandys ir prep jums kuo geriau galiu. Taigi turiu skaidres iš esmės visi skirsniai iki šiol. Nesiruošiu eiti per visi iš jų, nes tai yra ne įmanomas per valandą ir per pusę, taip pat kaip dirbti per praktikos problemas. Taigi vietoj Turiu temų sąrašas. Tai yra visų dalykų, kad galėtume paie ant. Jei nėra nieko, kad tikrai šuoliai kad jūs norite eiti per, kad jums nori man eiti per konceptualiai, Galiu pabandyti ir duoti Jūs apžvalga ten. Arba, jei norite pereiti teisę į atlikti praktiką problemas kartu, mes galime tai padaryti. Ji iki jūsų vaikinai. Yra ne tai, kad daugelis iš jūsų. Taigi, tai, ką jūs vaikinai patinka daryti. Aš noriu būti labiausiai naudinga į jūsų vaikinai. Taigi aš jums tiesiog atrodo. AUDITORIJA: Vienas dalykas yra diagramą, kad mes nuolat sakydamas apie kamino ir krūvą. Tiesiog visa idėja kad ir ką tai reiškia. ALLISON BUCHHOLTZ-AU: Taip, gerai. Tai viskas ne būdas pabaigos, todėl leiskite man slinkti. AUDITORIJA: Mes neturime tai dabar, bet whatever. ALLISON BUCHHOLTZ-AU: Ar buvo anything-- šį vieną. Ar tai fuzzy tipo žmonėms? AUDITORIJA: Taip, aš antra, kad. Ir mes galime taip pat neturi buferio perpildymo? ALLISON BUCHHOLTZ-AU: buferio? Gerai. Taigi buferio perpildymas yra gana lengva tiesiog kalbėti apie. Tai iš esmės buferiai pagalvoji kai masyvas atminties, kad jūs turite, ar ne? Mes paprastai kalbėti apie buferio kai Jūs neprisijungęs patikrinti, kiek vartotojas baigia, tiesa? Ir idėja yra su buferio perpildymas ji diegia toli per daug duomenų apie kosmosą kad jūs skiriamos už juos, tiesa? Taigi, jei jūs sakote, suteikti man kai žinutė, mes darant prielaidą, kad jie ketina duoti mums pakankamas laikotarpis žinutė. Gal porą eilučių, Papuošalą. Taigi mes ne patikrinti. Vietoj to, jie maitinti mus Visa knyga, kuri yra žinia, ir jis išsilieja į sumą erdvė, kad mes skirti tai. Ir kas atsitinka, tai gali perrašyti vietos, kad jis neturėjo. Taigi aš žinau, profesorius Malan sakė kažkas apie buferio perpildymo atakas. Štai kur vartotojas įvesties kai didžiulės duomenų viltis kad jis perrašo praeitį savo buferio galas ir pakeičia something-- Įdomu Aš šiuo metu tas skaidres čia. Aš nemanau, kad mes turime tie skaidrės čia. Bet iš esmės jis perrašo kai Atminties dalis kuri leidžia jam susipažinti dalims kompiuteryje kad tu nenorėjai paprastai turi prieigą prie. Didžiausias dalykas su buferio yra tik suprasti, kad juo atsitinka, kai jūs esate ne tikrinti, kiek jūsų vartotojas baigia. Kai esate ne kokios apsisaugant nuo tai. Ir Paprasčiausias dalykas, tai tik jūsų vartotojas įvedusi didžiulės Duomenų bandymas perrašyti kai kurių saugumo dalį savo atminties. Tai viskas yra. Taigi tai čia kamino ir krūva. Iš esmės visa tai yra tiesiog atminties reprezentacija ir kur viskas yra saugomi. Tai tikrai natūra viskas, ką reikia žinoti. Didžiausi dalykai jums reikia žinoti, yra that-- leiskite man pamatyti, jei ten better-- čia. Taigi tai yra kamino čia. Taigi kamino turi daryti su visus savo funkcijų kad jūs skambinate, bet kuriuo metu. Ir, kas svarbu prisiminti nenukryptų nuo praeitos savaitės su malloc yra tai, kad jūs neturite iš tikrųjų turi reikia ją valdyti. Viskas priklauso nuo to, kada tam tikras funkcijos vykdymo. Ir kai jie yra vykdančioji, jie turi tai, kas vadinama steko rėmeliai kad eiti čia. Taigi visa tai natūra nutinka be jokios realios jūsų įsikišimo. Rašote savo programą, ir jūs tegul ji paleisti, ir kamino rūšies trunka rūpintis pats, nes jis turi. Taigi, jei į vamzdyną jūs skambinate kubas, kuris bus perduotas čia. Tai bus sukurti rėmelį. Bet ten nieko jums aiškiai padaryti sukurti, kad kamino rėmas išskyrus rašyti funkciją prasideda, gerai? Kas yra natūra pagal jūsų kontrolė yra krūva su malloc. Taigi, jei jums malloc kažkas, vartojate atmintį iš krūvos. Ir tai yra atmintis, kuri jus turėti, nes geresnio žodžio stoka, aiškus kontrolė, nes atsimenu su malloc tai iš esmės yra kol jūs sakote kitaip. Tiems iš jūsų, kurie stebėjo skyrių praėjusią savaitę, jis ten, kol pasakys, kad išeiti. Jis bus ten, nebent kitaip pasakė ne. Taigi krūva yra tik kažkas jūs galite galvoti, kaip atmintis kad jūs turite kontroliuoti. Ir tie, kurie tiesiog du skirtingi dideli dalykai. Išskyrus, kad jums neturėtų būti nerimauti per daug apie kamino ir krūvą klausimai arba paprastai daugiau tiesiog jei turite vietos parametrus ar funkcija tai būtų ant klojinio ar krūvą. Akivaizdu, kad šiuo atveju jis būtų kamino. Jei mallocing kažką, kur yra, kad ateina? Krūva. Jei pažvelgti praktikos viktorinos, tie paprastai klausimų tipas kad jie turi. Jūs neturite jaudintis per daug apie tai. Gauni į išsamesnius apie kamino ir krūvą vėliau arba kitais CS klase. Taigi tiesiog rūšies Bendra idėja, ką tai bus gerai, aš tiesiog rūšies perėjo. Bet kokios kitos temos? Taip? AUDITORIJA: Ar galite eiti per Pointeriai vėl labai greitai? ALLISON BUCHHOLTZ-AU: Pointeriai? Norite konceptualus apžvalga rodyklės ar jūs praktikuoti su rodyklėmis? AUDITORIJA: Tipo kaip sintaksę. ALLISON BUCHHOLTZ-AU: sintaksė? Taip. Gerai, mes vis ten. Taip, taip, tai yra tik rūšies kažkas kai turite rekursinį funkciją, kiekvieną kartą, kai grįžtamojo funkcija vadinama, tai tiesiog prideda kitą kamino rėmo. Beveik pavyzdys kaip jūs tikrai kontroliuoti rėmai jūsų kamino. Gerai, rodyklės. Gerai, taip sukuriant rodykles. Atminkite, kad tiesiog įrašykite žvaigždė. Taigi bet kokios rūšies duomenų, jūs ketinate būti nukreipta į. Taigi tai būtų žymiklį int. Tai būtų Rodyklė į char. Tai būtų Rodyklė į plūdę. Taigi tai iš esmės whatever Jūs norite, kad ji būtų nukreipta į, žvaigždučių, kaip jūs deklaruoti žymeklį, gerai? Bet tada akivaizdžiai gauna šiek tiek keblus, jei turite žymeklį ar turite žvaigždė whatever. Taigi didelis skirtumas yra kai jūs declaring-- todėl mes turime some-- taip tai užima šiek tiek int žvaigždė. Taigi tai yra keletas pointeris ragina x int, tiesa? Taigi nepamirškite, ką šis daro tai vadina "System x". Ir tai vyksta turėti tam tikrą adresą, ar ne? Todėl galime tik pasakyti, kad tai mūsų adresas. Pointeriai palaikykite adresus. Taigi, kas tai sako tai, kad ne tai vieta, mes saugome int. Taigi dar vienas būdas, kuriuo mes galime galvoti apie yra tai, kad tai yra kai int. Mes tikrai ne jį perdavus nieko dar, bet tai tik int. Taigi, mes galime padaryti, tai jei mes žvaigždė x lygus 5, tai tampa 5, gerai? Tai sako eiti į ką x nukreipta į, kad eiti šiuo adresu ir kad ji lygi 5. Taigi, mes priskirti 5 šiuo adresu, tiesa? Ir tada, jei jums tai padaryti, tai suteikia mums adresu. Tai operatoriaus adresas. Taigi, kas yra x adresas? Mes nežinome. Mes ne jam paskirtas adresą. Galėtume pasakyti, kad tai some-- dabar mes davė tai adresas, taip adresas yra 4. Ir iš tiesų, jei mes einame per kažką kaip tai, kokios tai, ką mes padarėme. Taigi darbo per here-- rasti jis padeda, jei atkreipti dėmesį rodykles. Jei jūs savo egzaminą, aš labai rekomenduoju piešimo langelius. Taigi šis pirmasis, int x lygus 5. Tai tiesiog reiškia, kad turime kai padėkite atmintyje, kuri yra 5, tiesa? Ir mūsų stalo čia pasakoja kad tai veikia adresu 0x04. Ir tada mes sukurti kai žymeklis. Taigi galime padalyti vienu metu. Taigi tai sukuria kai Lauke "int, tiesa? Jis ketina surengti kai IT adresas. Taigi tai yra keletas žymeklis. Ir tai kreida yra tikrai mažas. Taigi, mes turime tam tikrą žymeklį čia. Ir mūsų stalo pasakoja tai adresas yra 0x08. Cool. Ir mes priskirdami jį į x adresą. Atminkite, rodykles eiti adresus, gerai? Taigi, jei norime turėti x, turime naudoti adreso operatorių, kuris yra ampersand, gauti adresą x, kuri šiuo atveju, 0x04. Ir tada, jei mes turime kai int kopija, tai tiesiog sukuria kokį kitą langą, kad eina int vadinamą kopiją. Ir jei mes ją priskirti this-- todėl tai yra nuorodos į ją. Taigi jis sako eiti į ką Rodyklė adresai triumuose. Rodyklė turi šį adresą, taip eisime čia ir sakome, gerai, kas iš to? Tai 5. Taigi kopija tampa 5. Prasmės? Ką daryti, jei aš bandžiau priskirti tai tiesiog žymiklį. Ką žymeklis tikrai lygus? Tai būtų tik kokia žymeklis yra, tiesa? Ir kas tada, jei aš tai padariau? Ką kopija dabar? AUDITORIJA: 0x08. ALLISON BUCHHOLTZ-AU: Yep, adresas mūsų rodyklę. Bet koks, kad dalis, kad turi būti iš naujo paaiškinti? Cool. Yra tikrai labai smagu problema viktorina vienas kad mes galime per tą suteikia daugiau praktikos. Vaikinai iš praeitą savaitę gali papasakoti tai buvo ne taip jau blogai. Mes turime per visą schema, ir visi darė puikiai. Gerai, kad tai apžvalga Sintaksės rodykles. Didžiausias dalykas yra suprasti, kaip juos sukurti, padaryti nuorodos, ir adresas, OK? Cool. Bet kokios kitos temos iki mes neria į praktiką. Taip pat, jei mes ketiname per Praktinius problemos ir kažkas nori kvalifikacijos kėlimo, mes galime padaryti, kad per daug. Ar turite ką nors? AUDITORIJA: Structs ir susiję sąrašai. ALLISON BUCHHOLTZ-AU: Structs ir susijusi sąrašus, Gerai. Taigi structs. Mes iš tikrųjų ketiname per šį vakarą per daug. Gerai, kad structs. Structs iš esmės tiesiog jums eiti būdas daug reikšmių, skirtingų tipų. Taigi su masyvo esame Suspaustas vieną duomenų tipą. Mūsų masyvas arba turi būti tiesiog numeriai, arba tiesiog simbolių arba tiesiog plūduriuoja. Bet gal jums reikia būti daugiau nei tai. Gal jums reikia hold-- jei jūs kalbate apie studento jūs ketinate turėti savo namus, savo ID numeris, amžių, kur jie gyvena, tiesa? Ir visa tai yra skirtingų rūšių tipų. Taigi, jūs negalite išsaugoti tie visi masyve. Taigi, ką galite padaryti, tai jums gali sukurti turizmo infrastruktūrą, kuri jūs galite galvoti, kaip jūsų savo asmens duomenų tipas. Taigi vietoj tiesiog int ir vietoj tiesiog plūdės, Jūs galite turėti tipo studentas, kad turi visas šiose srityse jį. Taigi, kaip mes inicijuosis mūsų structs is-- tikrųjų nes mano rašymas yra baisi, mes ketina pereiti prie rašyti. Woo. Gerai, kad, jei norime sukurti struct-- Aš tik ketina jį žemyn čia. Nepaisyti ir pagrindinis kokia kurį mes naudosime vėliau. Taigi, kaip jūs norite daryti jis yra su Typedef struct. Ir tegul tiesiog paskambinkite šį mokinį nes tai, ką aš naudoju. Gerai, kad Typedef reiškia, kad jūs apibrėžiant naujo tipo, gerai? Yra niuansų į kai jūs darote tiesiog Struct palyginant su Typedef struct. Visų ketinimų ir tikslais, jūs vaikinai yra tiesiog įgaus jie maždaug tas pats ir tik naudoti Typedef struct dabar. Tapsite būdas labiau akivaizdus savo Kitas P nustatyti, kokie tie skirtumai, bet aš nemanau, kad jūs turite jaudintis, kad dabar. Aš daug, o jums žino, kaip sukurti, naudotis, ir priskirti [? vertė. ?] Naujo tipo struct, ir mes vadiname tai studentas. Taigi po baigsime kurti šį, visų ketinimų ir tikslų, turėsite tipas vadinamas studentas. Ir jūs galite galvoti apie tai, kaip tokio tipo kaip int, ar trintuve, arba char. Tai tik dar tipo, gerai? Taigi tai viena, ką mes turime? Turime gal vardą. Tai gal mes norime string vardas. Ir mes turime gal int, kad yra ID. Ir mes turime kitą tai telefono numerį. Ir mes some-- pažiūrėkime. Ką dar gali turime? Mes turime tam tikrą savo namuose eilutę. Visa, ką studentas turi. Taigi tai sukuria konstrukto dabar. Taigi, kaip gali mes sukurti studentą? Jei mes kai kintamajam, pakalbėsime apie Walker čia todėl have-- Užtenka tik ketina tai vadiname vaikštynė. Jam reikia tipo. Koks jūsų tipas? AUDITORIJA: Studentas. ALLISON BUCHHOLTZ-AU: Studentas. Taigi tai tiesiog sukuria objektą, galite galvoja, kad turi visus šiuos dalykus. Jūs ką tik sukūrėte Walker studentas. Taigi dabar mes turime sugebėti paskirti visas šias, tiesa? Taigi ar kas nors prisimena, kaip mes prieiti per struct? AUDITORIJA: Taškas. ALLISON BUCHHOLTZ-AU: Laikotarpis Būtent. Taigi, jei mes norėjome paskirti jam pavadinimą, mes galime tai padaryti. Akivaizdu, kad tai būtų be-- šią dalį čia būtų būti per pagrindinį, tiek iš tikrųjų leiskite tai padaryti. Pripažinti tai virš pagrindinis taip kad mes galime jį naudoti kaip pagrindinis. Taigi, dabar aš noriu jį padaryti ID ir mes tiesiog padaryti kai kurie ten, ir tada mes priskirti namą. Bam. Cool. Taigi, dabar mes turėtume kada nors reikės prieigos nieko vėliau on-- gal we-- jei mes kada nors prireiks kreiptis nieko, tegul tiesiog padaryti int kopija ID. Ir aš noriu nukopijuoti Walker ID į tai. Kaip galėčiau tai padaryti? Jums reikia prisijungti per Walker turizmo infrastruktūrą prie [? eiti į tai?] [? E?]. Ir taip pat, kad mes priskirti jį čia kaip gali mes jį pasiekti, kai mes norime suteikti šią vertę į ką nors kita? AUDITORIJA: Walker.id. ALLISON BUCHHOLTZ-AU: Taip, tiksliai. Kad beveik viskas, jums reikia žinoti, už structs. Jums tereikia sugalvoti jiems kaip kito kintamojo. Iš esmės Sukurkite savo savo kintamasis tipas, gerai? Galite naudoti jį paskelbti kintamieji bet kokiu būdu. Čia vaikštynė dar nevienoda. Jis tiesiog turi tipo studentas dabar vietoj tokio tipo int, arba tipo eilutę, ar tipas char. Jei ten buvo paprastas būdas pasikalbėti apie structs, tai yra tiesiog tiesiog sukurti savo duomenų tipą kuris leidžia jums grupės Visų šių skirtingų rūšių duomenų kartu. Ar tai prasminga? Gerai. Kad ir susipažinimo su taškeliais. Beveik viską, ką reikia. Gerai, kur gi mano PowerPoint eiti? Štai jis. Na tai keista. Aha. Gerai, gerai. Bet kokie kiti dalykai ar mums nori galvą treniruotis? Praktikos? Gerai. Nuostabus. Aš ruošiuosi išeiti tai. Jeigu bet kuriuo metu per praktikos klausimus, Mielai perorganizuoti ir eiti per dalykų. Taigi turiu viktorina nulio iki čia. Jei jus vaikinai nori traukti tai ant jūsų kompiuterio, tiesiog patinka atsikvėpk minučių naršyti. Gal pasirinkti keletą viršų Klausimai norite pereiti. Jei vaikinai negali nuspręsti, mes tiesiog lėtai pradėti dirbti per juos, bet aš tikiu, kad ten yra bus kai klausimai, kad jums yra ypač nori kalbėti apie ir turėti man dirbti per su jumis visais. Taigi tiesiog eiti į priekį ir imtis penkias minutes. Slinkti. Ir tai yra nuo 2013 m viktorina. AUDITORIJA: Zero? ALLISON BUCHHOLTZ-AU: Taip, viktorina nulis. Tai darome ne Viktorina vieną medžiagą. Mes padarysime, kad pora savaičių. Taip pat tiems, kurie atėjo vėlai, turime saldainių, Taigi jūs vaikinai nori saldainių? AUDITORIJA: Sure. ALLISON BUCHHOLTZ-AU: Aš tiesiog ketina aplenkti. Ei, jei jus vaikinai nuvykti pradžioje, jums gauti daugiau saldainių. Tai gerai. Ben, jūs norite saldainiai? Norite kai kurie iš jų? Taip pat Snickers jei kas nori Snickers. Aš palikti juos čia ir čia. Nesivaržykite. Norite daugiau? AUDITORIJA: visi nustatyti. Ačiū. ALLISON BUCHHOLTZ-AU: Ir aš gražus mažai krūva ten pradžioje. Jūs vaikinai gauti dalyvauti viktorinoje ir Gaunu, kad viktorina klasifikavimo šalis. Tai chaosas. 900 egzaminus. Ji ketina būti labai smagu. Bus puikus. Aš esu gana įsitikinęs, kad vienas didžiausių personalo klijavimui naktų metus. Ar kas nors padaryti viktoriną nulis iš pernai dar iš smalsumo? AUDITORIJA: jo dalis. ALLISON BUCHHOLTZ-AU: jo dalys, Gerai. Ar turite klausimų dėl bet kurio iš jų? AUDITORIJA: aš jau nuvyko į darbo laiką. Dėkojame nors. ALLISON BUCHHOLTZ-AU: Na, tikiuosi tai dar kokios naudingos. Kada eiti Darbo valandos, kad? AUDITORIJA: Mano TF turėjo jiems šią popietę. ALLISON BUCHHOLTZ-AU: Oh. Kas tavo TF? AUDITORIJA: Fred [? Wujaya?]. ALLISON BUCHHOLTZ-AU: Yra tiek daug TFS. Tiek daug. Gerai. Kas nors turite pradėti, kad aš galiu Užrašoma kad norime dirbti? Aš manau, patarimų vienas su stalo. Eiti į jį. AUDITORIJA: Gal jungiklis vienas. ALLISON BUCHHOLTZ-AU: Taigi skaičius 12? Manau skaičių 8 ir 9 yra turbūt Ones žmonės nori eiti per. AUDITORIJA: Ir 10, ir 11. ZAMYLA chan: ir jūs žinote Jūs gaunate vieną puslapį pastabos, tiesa? AUDITORIJA: Taip, taip, kokie yra mes leidžiama įdėti, kad. ALLISON BUCHHOLTZ-AU: jums leidžiama įdėti viską, ką nori. Ir ji gali būti atspausdintos. Kiek aš atsimenu, mūsų buvo spausdinamos. AUDITORIJA: Jūs galite padaryti atgal abi pusės? ALLISON BUCHHOLTZ-AU: Taip, iš abiejų pusių. Taigi kažkas panašaus į krūvą ir [? Sezono pabaiga?] krūva, jūsų darbas kartus. Naudinga. Gal smulkmenos apie rodykles priminti. Sintaksė dalykų. Atsižvelgdama kaip skeletas Programa gali būti itin naudinga. Aš žinau, kad aš visada pamiršo, ką Turėjau parašyti int main, nes aš visada tiesiog nukopijuokite įklijuoti iš mano ankstesnio P rinkinys ar tai jau yra, todėl Aš niekada iš tikrųjų ją parašė, todėl atsižvelgdamas, kad gali būti super naudinga. Gerai, tai kodėl gi ne mes pradėti numeriu 8 tada? Gerai. Gerai. Todėl mano, kad programa toliau. Taigi akivaizdu, kai matome, rodykles, tai tikriausiai gera idėja pradėti piešti, tiesa? Aš noriu žinoti, kur visi mano dideli gabaliukai kreidos nuėjo. Tai yra rūšies erzina. Taigi, mes turime čia kai apsikeitimo funkcija kad ketina imtis dviem rodyklėmis. Taigi šiuo atveju, jie turėtų būti iš tiesų perjungimo dalykai, palyginti su mūsų pradinio apsikeitimo sandorio funkcija, kuri užėmė tik kopijose. Taigi, ką jis ketina daryti is-- pradėkime pagrindinis, nes tai, kur 1 yra. Taigi, mes turime šiek tiek int x 1. Mes kai y, kad yra lygus 2. Ir tada mes kai swap kad ketina imtis tų. Ir pažiūrėkime, ką mes turime čia. Ir mūsų table-- oh boy. Kaip aš tai padaryti? Aš ruošiuosi daryti mano stalo čia. Vos priėmimo jį ten. Vos priėmimo jį. 1, 2, 3, 4, 5, 6, 7. Ir jie mums duoda, kad 1 yra 1, ir 1 2. Cool. Nuostabus. Taigi 3. Ir ten [? 1.?] Gerai. Ir tada adresas x yra 0x123. Ir y yra Ox127. Cool. Gerai. Noriu jus vaikinai dirbti šioje vos like-- darbą jį su jus supančiais žmonėmis. Norėčiau, kad būčiau sakė, kad o aš įsteigti. Dirbti su juo. Išbandykite ir dirbti su juo iki patys už poros minučių, ir tada aš dirbti su juo su jumis. Nes tik taip jūs tikrai išmoksite tai daro patys. Nesijaudinkite. Sėkmės. Gerai, tai kodėl gi ne mes lėtai pradėti dirbti per tai. Taigi kiekvienas gauna po linija viena, x yra 1. Po dviejų linija, X ir y yra 1 ir 2, ar ne? Cool. Taigi linijos trys yra kur kas gauti įdomus, žinoma. Taigi, ką mes padarėme čia yra mes dabar pavertė. Mes sakome, kad x ir y yra tie taškai, arba jie turi x ir y adresą, tiesa? Taigi šiuo atveju, trys, kas yra vertė? buvo priimtas, buvo suteikta iš x vertė adresą, tiesa? AUDITORIJA: 1? ALLISON BUCHHOLTZ-AU: Taigi pridėti mes jį į X? Kas X. adresas? AUDITORIJA: 0x123. ALLISON BUCHHOLTZ-AU: Būtent. Bet kas yra iš tikrųjų nukreipta į? Jei mes dereference, kas vertė būtų tai mums duoda. AUDITORIJA: 1. ALLISON BUCHHOLTZ-AU: jis mums 1, nes tai, ką mes pasakyti, eikite į šią adresas, pasakykite mums, ką vertė yra. Taigi, ką būtų b? AUDITORIJA: 0x127. ALLISON BUCHHOLTZ-AU: Būtent. Taigi, tai y adresas. Ir kas tada [? dereference? ?] AUDITORIJA: 2. ALLISON BUCHHOLTZ-AU: Gerai, kad dabar keturi. Mes pasakė tai equal-- gerai dabar mes padaryti int temp yra lygus žvaigždė. Taigi, ką reikėtų keisti? Yra tik vienas dalykas, kad keičiasi čia. Kas tai yra? AUDITORIJA: Temp. ALLISON BUCHHOLTZ-AU: temp. Taigi, mes galime perrašyti visiems. Geras strategija tai tiesiog suprasti, kokie pokyčiai, nes dažniausiai yra tik vienas dalykas, kad ketina keisti bet kuriuo klausimu, gerai? Taigi, mes paskyrėme temp. Dabar mūsų kitą punktą, penkis, mes padarė žvaigždė lygus žvaigždė b. Taigi, ką reikėtų keisti dabar? AUDITORIJA: Star. ALLISON BUCHHOLTZ-AU: Star, taip viskas kitas lieka tas pats. Ir ką žvaigždės lygus? AUDITORIJA: 2. ALLISON BUCHHOLTZ-AU: 2. Gražus. Nuostabus. Gerai, tada mes turime dabar pradėti b yra lygus temp. Taigi vienintelis dalykas, keičiasi žvaigžde b. Visa kita lieka tas pats. Ir kas yra žvaigždė b lygi dabar? Ir baigsite lentelę. Nes dabar pabaigoje, jei mes sakome, x ir y, mes žinome, kad šiuo point-- mes žinome, kad, kai mes pasikeitė žvaigždė į 2, ką, kad padarė tai sakė gerai, ne spręsti 0x123 čia keisti. Dabar tai buvo 2. Ir tada šiuo metu, sakėme Gerai, eikite į žvaigždutė b. Tad nurodytu adresu 0x127 ir padaryti jį 1. Taigi dabar pačioje pabaigoje, kai mes iš tikrųjų grįžti į pagrindinį, mes iš tikrųjų turime, kad x yra lygus 2 ir y yra lygus 1. Kiekvienas geras su tuo? Gerai, gerai. Taškų 9. Jūs vaikinai dirbti tai. Aš ruošiuosi įkurti lenta todėl galime daryti per ją. Tai bus sprogimas. Didieji lentelės gali būti tikrai baisu, aš žinau. Bet jei jūs tiesiog priimti juos po vieną eilutę per laikas, jie gauna daug mažiau baisu. Gerai. Taigi jūs žinote, kad tai turės išgyveno pagrindinis pirma, tiesa? Inicijuoja x ir y ir tada bando sukeisti juos. Taigi, net apsikeitimo sandoris pirmiau, realus būdas tai eina taip, kad mes ketiname per pagrindinį, ir tada jis tau skambina iki apsikeitimo, gerai? Taigi visi žino, kad. Taigi, kuris iš jų jums vaikinai nori pradėti? Ar kas nors iš tikrųjų tikri apie vieną iš jų? Arba net iš dalies tikrai? Kodėl mes pradėti su x? Ką manote x? AUDITORIJA: 1. ALLISON BUCHHOLTZ-AU: 1. Taigi, kodėl yra 2. Ir tai todėl, kad didelis skirtumas čia yra tai, kad mes esame tik artimųjų kopijų, tiesa? Mes ne pro šalį nuoroda. Taigi, net pabaigoje ši programa x ir y liko tas pats, nes jie yra tik kopijos apsikeitimo funkcija. Jie ne iš tikrųjų pakeisti, tiesa? Taigi, ką apie a, b, ir temp? AUDITORIJA: yra b. ALLISON BUCHHOLTZ-AU: yra b. Taigi šiuo atveju buvo x, kuris yra 1, tiesa? Taigi čia, galime vaikščioti per ją. Būdamas prasidėjimas ir b yra 1 ir 2 ir neapibrėžta. Taigi iš pradžių temp gauna priskirtas, todėl yra 1 temp. yra lygi B, Taigi, mes gauti 2, ir b yra lygus temp. Dabar mes gauname 1. AUDITORIJA: Ankstesniame vieną jo pavertė Ženklas x ir ampersand y. Ką tiksliai tai reiškia? ALLISON BUCHHOLTZ-AU: Taigi, tai reiškia, kad jūs artimųjų nuorodą. Taigi tai reiškia, jūs iš tikrųjų einančios iš kur adresai X ir Y yra saugomi. AUDITORIJA: Bet jūs ne Swapping adresą. ALLISON BUCHHOLTZ-AU: Jūs nesate Swapping adresus. Jūs Swapping kas jų viduje. Kaip kas tuo adresu, ir tai, kodėl ji veikia. Versus šioje programoje čia ką darote kuriate kopijas. Taigi jūs turite x ir y, kad egzistuoja kaip savo kintamųjų čia. Bet tada, kai praeina juos sudarydamas apsikeitimo, tai tarsi kuriate tai visai kita, rinkinys. Todėl jūs niekada iš tikrųjų neliesti x ir y. AUDITORIJA: Jei ampersand x kas yra x adresas, kas būtų žvaigždė x būtų? ALLISON BUCHHOLTZ-AU: Ženklas x kas ne x adresas, tada star-- gerai, šiuo atveju x yra ne rodyklė. AUDITORIJA: Oi, gerai. Taigi jūs tai daryti tik nes tai nėra žymeklį. ALLISON BUCHHOLTZ-AU: Teisė. Jūs galite tai padaryti tik žvaigždė kažkas, kad yra žymeklis. Gal galėtumėte tai daryti dalykus, nėra, tačiau kompiliavimo kad jums padaryti beprotiškų dalykų nutiktų. Ir aš ne visai tikrai, kas nutiks. Jūs visada galite imtis adresas kažką, Bet jūs negalite dereference kažkas, kad ne pointeris. Jei tai turi prasmę, tai geras skirtumas turi. Taigi nėra labai blogai, tiesa? Stalai yra tikiuosi gauti šiek tiek mažiau baisi. Gerai. Ak, linksmybės tie. Taigi, dabar, rašant savo kodą. Taigi, aš ruošiuosi jums vaikinai dirba apie tai apie keturias minutes, ir tada mes galime kalbėti apie tai, kaip jos požiūrį. Nesivaržykite kalbėti žmonėms aplink jus. Taip pat tai yra įdomu. Tai tarsi visų mergaičių skyrius dabar. Nemenkas iššūkis. Išskyrus Chang. Bet Chang yra tikrai dalis skyriuje. Nuostabus. Tobula. Taigi, aš duosiu jums keletą patarimų. Tuo atveju, kai jūs turite daugiau nei vienas simbolis, kur turite ką nors kita kaip 123 ar 1000 kažkas, jums reikia, kad būtų galima kilpa per ir konvertuoti kiekvienas iš jų. Todėl ten pora būdų, kaip galima padaryti, bet jūs tikrai ketinate turėti for ciklas kažkur ten į kilpą per juos, kuris yra tipo kaip dovanų su net jei Jūs skambinate strlen, kuris lyg oh O gal norite naudoti ilgis iš tam tikru būdu eilutę. Gerai. Taigi, ką jūs manote galėtų būti vienas iš pirmųjų dalykų, mes norime padaryti? Yra pora atvejų čia mums reikia, kad būtų atsižvelgta, ar ne? Bet mes turime kažką, kad niekinis. Ką mes turime? Atvejais. Null. Turime bylą, kad ji turi nors kitu nei 09, tiesa? Taigi galime sakyti, ji turi raidžių. Ar mes turime atvejį, kad yra galiojantis. Trys atvejai galvoti. Taigi, kuris iš jų jums galvoti gali būti Paprasčiausias vieną rūpintis pirmiausia? AUDITORIJA: NULL. ALLISON BUCHHOLTZ-AU: atvejis yra niekinis. Taigi, kas būtų, mes ten daryti? AUDITORIJA: [nesigirdi]. ALLISON BUCHHOLTZ-AU: Taip. Ir ką aš noriu daryti? AUDITORIJA: Grįžti 0. ALLISON BUCHHOLTZ-AU: Būtent. Nuostabus. Gerai. Taigi, dabar, kad ji turi ir mažosios raides ir taip, kad jis galioja. Mes iš tikrųjų galime pasirūpinti tai per vieną kilpą, gerai? Taigi vienas iš būdų tai padaryti it-- kas gali būti Paprastas būdas patikrinti, ar tai galioja. Mes turėtume eiti per kiekvienas laiškas ir ką daryti? AUDITORIJA: Patikrinkite, ar tai in-- ALLISON BUCHHOLTZ-AU: Teisė, galite patikrinti jei tai tarp 0 ir 9, tiesa? Ir tada tuo atveju, kad tai galioja, mes ketina baigti Iteracja per mūsų styginių anyways, tiesa? Taigi, kodėl ne mes stengiamės ir juos sujungti į vieną. Mes ketiname pakartoti per iš eilutės, ir kaip mes tai padaryti, mes ketiname pirmas padaryti patikrinimą ir patikrinkite, šiuo laišku arba, jei tai charakteris yra galiojantis. Jei taip yra, mes ketiname atlikti operacija, kad mums reikia jį konvertuoti. Priešingu atveju jis bus grįžti 0, tiesa? Taigi, prieš tai mes darome, mes tikriausiai nori kai kintamasis , kad mes galime grįžti pabaigoje kad tai bus mūsų tikroji reikšmė. Taigi mes ketiname inicijuoti kai vertė lygi 0. Ir tai tik tai, kaip mes pradėti. Taigi, aš ruošiuosi atsikratyti tai. Taigi, kaip mes ketiname kartoti, kad šios eilutės. AUDITORIJA: Už kilpa. ALLISON BUCHHOLTZ-AU: for ciklas. Taigi, kas yra mūsų ieškote? AUDITORIJA: i 0. ALLISON BUCHHOLTZ-AU: Mm-hm. O kas esame mudu Iteracja iki? AUDITORIJA: str ilgis s. ALLISON BUCHHOLTZ-AU: Gerai, dabar prisiminti yra geresnis būdas. [Nesigirdi]. AUDITORIJA: Taip, mes galime padaryti, n lygu. ALLISON BUCHHOLTZ-AU: Būtent. AUDITORIJA: i yra mažesnis nei n. ALLISON BUCHHOLTZ-AU: Ir kodėl būtų norime padaryti? Ar pamenate priežastis? AUDITORIJA: Turime perskaičiuoti ją. ALLISON BUCHHOLTZ-AU: becasue Šiuo būdu jūs tik apskaičiuoti strlen kartą. Jei tai padarysite i yra mažesnis nei strlen s, tai reiškia, kad jis perskaičiuoja ilgis kaskart paleisti už kilpos, kuri nėra didelė kaina energijos, tačiau tai geriau praktika, kad pabandyti ir padaryti kažką panašaus, kad vieną kartą. Nebent gal turite crazy eilutę kad keičiasi kiekviename iteracijos. Bet jei jis būna pats, išsaugokite jį. Gerai. Ir tada aš plius plius. Nuostabus. Mes mūsų kelyje. AUDITORIJA: Tikrai greitai. Pirma, todėl galime sakyti, kad mes tiesiog buvo i mažesnis nei strlen iš S, jie klasifikavimo mus dizainas ne visi, arba tiesiog korektiškumo? Jie nėra. Mes klasifikavimo į teisingumą už viktorinos kiek aš žinau. Aš negaliu padaryti: Visas turinys garantija, bet didžiąja dalimi, Dauguma yra teisingi, nes esate jaunesni kaip laiko suvaržymai aikštelė. Dizainas paprastai reiškia turite laiko pagalvoti apie jūsų situaciją elegancija. Gerai, kad mes Iteracja per. Taigi, mes turime arba patikrinti pamatyti, jei šis personažas galioja arba jei mes galime atlikti savo normalus [? I?] funkcija. Mes galime nerimauti, kas kad yra per sekundę. Taigi, kodėl ne mes take-- jei kas nors gali galvoti apie tokiu būdu patikrinti, kad pamatyti, jei tai galioja. Mes žinome, kad tai bus kai jei sąlyga, ar ne? Ir nepamiršk, kad tai ASCII, tai kaip galėtų mes pamatyti, jei tai ne 0,1, 2, 3, 4, 5, 6, 7, 8, 9 arba. AUDITORIJA: Jei alfa. ALLISON BUCHHOLTZ-AU: Taigi, jei alfa būtų tik leiskite mums žinoti, jei ji laiškas. Ir jei jie mums simbolį, tai dar ne visai ketina patikrinti. Taigi, jei jūs atsigriebti savo ASCII stalo, mes žinome, kad 0 per 9 yra vienoje segmente. Pasakyk man skaičiai, kad jie atitikti, jei įmanoma. AUDITORIJA: 40. ALLISON BUCHHOLTZ-AU: Taigi asortimentas yra kaip 40-- AUDITORIJA: Gal. 48-57. Nesu tikras. ALLISON BUCHHOLTZ-AU: 40-57? AUDITORIJA: 48, manau. ALLISON BUCHHOLTZ-AU: 48-57. Taigi mes žinome, kad tie, ASCII symbols-- jei ASCII reikšmė nėra tarp 48 ir 57, tai negalioja, ar ne? Taigi galėtume naudoti, kad mūsų privalumas galbūt? Kaip mes ketiname gauti šis laiškas, pirmiausia išjungti? Kaip mes gauti tai šis personažas? AUDITORIJA: s laikiklis i. ALLISON BUCHHOLTZ-AU: Mm-hm. Nes mes galime galvoti apie stygos kaip masyvai, prisiminti. Taigi, ką mes norime pasakyti? Norime pasakyti, jei tai is-- aš duosiu jums užuominą. Tai mažiau nei. Ką manote jį turi būti mažesnis kaip? AUDITORIJA: 57? ALLISON BUCHHOLTZ-AU: 47, tiesa? Bet taip pat jis reiškia, kad, kaip jūs 0 į vieną [? Stipinai?], nes tai charakteris 0. Jūs taip pat gali įdėti 47. Atsižvelgdama ASCII lentelę, kaip kaip matote, yra tik kažkas jūs turėtumėte turėti savo viktorina lape. Taigi, jei tai yra atvejis, jei tai mažiau nei 0-- nebūtinai ir. Tai tik tiek bus mažesnė arba didesnė nei 9. Todėl galite užpildyti šią paskutinę man? Taigi ar s I yra tai, ką, Rhea? AUDITORIJA: Daugiau nei 9. ALLISON BUCHHOLTZ-AU: Nėra. Ar tai prasminga kiekvienas, kaip mes turime ten? Šios problemos, jie, pavyzdžiui, kai jums pamatyti sprendimus, tai kaip oh, gerai. Ir tai, kodėl praktika padės jums. Gerai, kad mes grįžtame 0. Gražus. Gerai. Kitaip, ką mes norime daryti? Tai įdomus dalis kur tai šiek tiek daugiau kaip matematika palyginti CS, mano nuomone. Ar kas nors turite idėją kaip mes galime tai padaryti? Taigi svarbus dalykas suprasti, pirmasis simbolis mes atsižvelgiant bus Didžiausias įsakymas skaitmenų, tiesa? Taigi, jei mes ieškome konvertuojant 123, pirmą kartą mes pakartoti bus 1, tačiau mums reikia kad būtų 100 iki galo, tiesa? Taigi vienas dalykas, kurį galite padaryti, tai, kad kiekvienos kitos skaitmeniu išgėrėte, jums padauginti savo vertę 10, kad iki to laiko, jūs pasieksite pabaigos, viskas buvo šiek tiek padidintos, tiesa? Taigi pirmą kartą paleidžiate tai, jūs turite 1 kaip savo vertę. Antra kartą paleidus, turite padauginti savo vertę 10. Jis ją atnaujins, kad tai dabar 10, ir jūs įtraukiate į savo kitą vertę. Ir tada jūs padaugino 10 ir pridėti kitą vertę. Ir tai, kodėl jie sako, tai yra daug labiau panašus bandymas matematikos algoritmas palyginti CS, bet aš nutolti. Nemanau rašyti viktorinos. Taigi vienas dalykas, mes galime padaryti, tai mes pasakyti vertės laikai yra lygus 10. Taigi tai ketina perkelti Jūsų skaitmenų kartą, kiekvieną kartą. Ir tada mes tiesiog norime pridėti. Mes norime pridėti į ką mes ką tik gavo, tiesa? Taigi, kaip mes iš tikrųjų paversti mūsų ASCII simbolių į numerį kad ji atstovauja? Taigi mes žinome, kad 0 yra lygi 47, tiesa? Taigi, jei 0 yra 47, kas būtų, mes turime daryti, kad jį kad iš tikrųjų padaryti jį iš 0 int? AUDITORIJA: Tai 48. ALLISON BUCHHOLTZ-AU: 48? Atsiprašau. Būtume atimti 48, tiesa? Įsiminti ASCII matematiką? Mes galime juos gydyti tik kaip normalus skaičių. Jei gydyti juos kaip skaičius, jie tampa numeriai efektyviai. Taigi, jei mes turime s dalies I, kuris tegul pasakyti šiuo atveju yra lygi 0. Taigi s I šiuo atveju Būtų ASCII-- ASCII int jai būtų 47. Kad galėtume subtract-- arba 48. Galite tai padaryti, yra vienas iš būdų. Ar kas nors žino geriau Taip mes galime padaryti 48? Mes ką tik pasakė 0 is-- eiti į ASCII galite padaryti citata 0. Taigi, nėra jis rūšies padaryti jausmas, kaip tai veikia? AUDITORIJA: Šiuo metu yra vertė 0 nes net jei jūs padauginkite jį 10, Jūs pradedate su nulio, taip jis turėtų būti įjungtas? ALLISON BUCHHOLTZ-AU: Taigi, šiuo atveju, jūs noriu padauginkite jį prieš pridėdami, nes šiuo atveju, taip, tai būtų dar be-- mano žymiklis nėra. Šiuo atveju vertė, pirmasis kartą mes paleisti jį bus nulis. Taigi jūs tiesiog pridedant tą pirmasis skaitmuo. Kas svarbu yra kitą kartą Jūs keistumėte, norite perkelti jį į viršų prieš pridėdami savo kitą skaitmenį nuo. Ar tai paaiškinti jums? Gerai. Kartais jūs ketinate gauti keistam daugiau Mathy dalykų. Jei kėlinyje tai, jūs vis dar vyksta į get-- jūs ketinate padaryti gana gerai. Dalinis kreditas yra labai didelis dalykas apie CS50 viktorinos. Taigi rašyti, ką žinote. Jei turite viską išskyrus čia, jūs dar darysiu tikrai gerai problema. Kadangi jūs rodote, Gerai, aš beveik žinau. Aš žinau, kad man reikia kartoti, kad. Aš žinau, ką man reikia patikrinti. Aš tiesiog ne visai gauti, kaip jį keisti. Jūs ketinate būti gerai. Taip, jūs ketinate prarasti pora taškų, bet jūs vis dar ketinate gauti Nemažai taškų kažką kaip kad, jei esate trūksta šių dviejų eilučių. Būčiau kaip Gerai, šio asmens žino, ką jie daro. Matematika yra sunku. Todėl norėčiau pasakyti, jums reikia būti gerai. Gerai, taigi jūs vaikinai pasiruošę pabandykite strlen su rodyklėmis dabar kad jūs vaikinai yra žymeklis meistrai? Taigi aš jums vaikinai dirba ant kad truputį. Jei kas nors turi dalyvauti kvalifikacijos kėlimo. Taigi jūs norite naudoti žymiklį aritmetika, ir tada, jei s yra nulis, Jūsų įgyvendinimas turėtų grįžti 0. Dalykų, pavyzdžiui, tai, kad jums tikrai malonu tiesiog paskambinkite strlen ne dienos pabaigoje. Manau, kad tai vienas gali būti šiek tiek lengviau nei per pastarąjį punktų, kuris yra gera. Aš duosiu jums vaikinai kitą minutę, ir tada mes dirbame per ją. Ir tada mes gauname eiti jungikliai. Gerai, paruoštas vaikinai? Gal šiek tiek. Taigi aš jums suteikė Jūsų du variantai, tiesa? Arba patikrinkite null ir grįžti 0, jei tai yra, ar iš tikrųjų apskaičiuoti ilgį. Taigi, kas nori rašyti patikrinti null? Eiti į jį. AUDITORIJA: Jei skliausteliuose nurodomas s lygu lygu null grąžą 0. ALLISON BUCHHOLTZ-AU: Gražus. Man patinka, kai pusę savo problemą tiesiog tikrinti null. Žinau su vaikinai paskutinis savaitę buvau kaip patikrinti NULL tiesiog kiekvieną kartą. Gerai, so-- AUDITORIJA: Jei grįžtančio 0 yra tik viena eilutė, mes vis dar reikia garbanotais laikiklį? ALLISON BUCHHOLTZ-AU: Jūs neturite techniškai reikia juos taip ilgai, jūs nuoseklūs. Tai gera praktika tik gauti į įpročiai naudojant vingiuotus skliaustus, bet techniškai nėra. Jums nereikia juos vienoje eilutėje. Mes tiesiog linkę rekomenduoti žmonėms pradedantiems programos. Taigi, dabar, kas gali mes norime padaryti čia? Taigi, dabar mes žinome, kad mūsų eilutė galioja. Norime, kad apskaičiuoti ilgį. Kas turbūt pirmas dalykas, mes norime padaryti? AUDITORIJA: Sukurti int tai ilgis. ALLISON BUCHHOLTZ-AU: Būtent. AUDITORIJA: Ir mes norime nustatyti, kad jis? ALLISON BUCHHOLTZ-AU: 0. Tobula. Gerai. Dabar ką norite daryti? Tai tikrai didžioji jo dalis. Eiti į jį. AUDITORIJA: Taigi jūs turbūt už kilpos. Ir tada, kadangi kai skambinate s esate gauti pirmojo dalyko adresą, Jūs pradėčiau i lygu 0. Ir tada, kaip ilgai, kaip x plius i ne atgal velniop 0. ALLISON BUCHHOLTZ-AU: null terminatorius. AUDITORIJA: null terminatorius. Tada jums pridėti vieną į ilgį. ALLISON BUCHHOLTZ-AU: Taip. Gerai, kad leidžia pasukti, kad į labai konkretus kodas. Bet tai yra puikus idėja. Būtent tai mes ir darome. Mes ketiname būti Iteracja per su rodykle. Taigi, ką mes norime daryti yra vietoj int čia, nes mes nenurodydama IT. Mes nuoroda į pradžią eilutę, kad pradėti yra keletas adresas, tiesa? Taigi, mes norime rodyklę. Taigi, mes ketiname turėti tikrą char žvaigždę, nes atitinka mūsų s, ar ne? Taigi tai yra tam tikra vieta, mes Inicijuojama į eilutę pradžios, gerai? Todėl galime tik paraginti tai negalvojau. Jei tai iš teksto pradžią, kas jis bus priskirtas? Ne 0. Mes norime, kad ji būtų pradėti mūsų eilutę. Ką simbolizuoja pradžią mūsų eilutė, kuri buvo suteikta mums? AUDITORIJA: Tiesiog s. ALLISON BUCHHOLTZ-AU: s. Taigi tai sukuria tam naują žymeklį, kad atstovauja mūsų teksto pradžią, gerai? Kitas būdas galvoti apie tai, yra kaip čia mūsų masyvas. Tai mūsų eilutė, s. Taigi galime sakyti, tai yra Pirmoji vieta, ir tai yra 0x4. 04. Tai yra mūsų S, kuri konstatuoja, kad adresą. Ir mes tiesiog sukurti dar vieną, pavadintą i, kad tiesiog reiškia tą patį. Todėl jie abu tiesiog nukreipta į mūsų eilutę pradžios. Tai tiesiog grafinis. Taigi, dabar, ką mes norime padaryti, tai mes norime pakartoti Mūsų sąlyga Iteracja per mūsų eilutę. Dabar apsipirkti. Turiu parduotuvė, vaikinai. Ar mes norime išlaikyti atnaujinimą iki pasiekiame null terminatorius, tiesa? Taigi, kas gali tai atrodo? Ar norime i, ar mes norime žvaigždučių i klausimas? Ar null terminatorius adresas ar kažkas esantis adresu? Įsikūręs adresą, ar ne? Taigi mums reikia dereference kokia yra čia, nes tai yra tik keletas adresas. Faktiškai gauti iki starto turime dereference tai kad mes iš tikrųjų gauti Kas yra šioje pirmoje vietoje. Taigi, jei mes darome žvaigždė i, ką ne mes norime, kad ji lygi? AUDITORIJA: Atgal velniop? ALLISON BUCHHOLTZ-AU: Nėra. Ar tai prasminga visiems? Mums reikia eiti į mūsų eilutę ir įsitikinkite, kad tai ne pabaiga. Ir tada mes galime tiesiog atnaujinti, kaip šis. Normalus atnaujinimas. Taigi, kaip ilgai, kaip jie yra met, ką mes turime padaryti? AUDITORIJA: Ilgis plius plius. ALLISON BUCHHOLTZ-AU: Mm-hm. Ir tada po for ciklas nutraukė, ko mes norime grįžti? AUDITORIJA: Ilgis? ALLISON BUCHHOLTZ-AU: Ilgis. There you go. Akivaizdu, kad šis mėsos yra suprasti tai už kilpos. Ar visi gauti kaip kad dirbo? Man malonu eiti per jį dar kartą. AUDITORIJA: antrasis dalis, todėl žvaigždė i ten, tai iš first-- adresas ALLISON BUCHHOLTZ-AU: Tai ne adresas. Tai, kas ne. AUDITORIJA: Tai tikrai ten. ALLISON BUCHHOLTZ-AU: Štai kas iš tikrųjų ten. Taigi tai yra saying-- leiskite man padaryti tai geriau. Taigi tai yra 0x04, ir aš tik ketina pasakyti, kad aš ruošiuosi padaryti tai mano vardas. Gerai. Taip, aš žinau, aš viktorina atsiliepimą vakarą. Daug Viktorina peržiūrą. Taigi galime sakyti, šios eilutės mano vardas, Allison. Tiek nepatogus, bet tai ten. Ir s reiškia vietą iš kur eilutė prasidedanti, todėl aš ruošiuosi padaryti tai real-- tai yra adresas, kur eilutė prasidedanti, tiesa? Taigi, ką mes darome čia norime naudoti rodykles, kad keistumėte per. Taigi, mes sukurti kai žymeklis, i, kad taip pat yra lygus eilutės pradžioje. Ir kiekviename taške, mes norime toliau išgyvena masyvo kol mes Hit null terminatorius. Taigi, mes visada norime patikrinti, kas kiekvienam iš šių adresų. Taigi mes dereference i, kad Pirmą kartą mes tai darome mes pasakyti, GERAI, kas veikia adresu 0x04? Tai. Gerai, mes geri. Taškinis ilgis. Pereiti į kitą. Taigi i-- prisiminti Pointeriai padidės dydis nesvarbu kokios jie nukreipta. Taigi šiuo atveju, kadangi tai char, jis bus atnaujinti po vieną. Taigi, dabar mes ketiname pažvelgti 5, tai reiškia, kad vyksta čia. Taigi jis sako OK, eikite į 0x05. Kas ten? Tai l. Ir jis bus nuolat daryti kol ji hitai šį vieną. Ir jis sako OK, kas yra kokia adresas tai? Null terminatorius, Gerai. Išeiti. Ir tik grįžti ilgį. Nes jums reikia ką tikrai ne kad adresas, o ne pats adresas. Yra labai nedaug vietų, kur jūs iš tikrųjų reikia adresą. Dauguma laiko, kai Jūs naudojate, ir tai kai esate pirmasis Priskiriant žymeklį arba kai jūs perduoti ją į kitas pareigas. Gerai, visi gerai ten? Rūšies? Gerai. Taigi atrodo, kad mes gavo apie 12 minučių į kairę, todėl mes eiti gal paskutinis mūsų problema, ir tada ten bet sąvokos, kurios turi sugalvoti tuo tarpu mes galime greitai pereiti, kad. Taigi perjungimo pavarų yra paskutinis Problema čia, pereiti pareiškimus. Taigi jūsų darbas yra perrašyti tai taip, kad jis elgiasi tas pats bet nenaudoja jungikliai. Sukalkėję rankas. Taigi bet kokie klausimai apie tai Iškart? Nėra? Gerai. Ar visi supranta, kad jei atveju neturi nieko po juo, tai reiškia, kad ji turėtų sekti kitą žingsnį? Taigi 1 ir 2 atveju šioje byloje padaryti tą patį dalyką. Kartais supainioti taškas. Gerai. Kiekvienas turi kokių nors idėjų? Taip? AUDITORIJA: Taigi jūs galite just do if. ALLISON BUCHHOLTZ-AU: Mm-hm. Taigi, kas yra mūsų pirmasis? AUDITORIJA: Jei n yra lygus lygus 1, ir 2 linijos arba n lygių lygus 2, tada atspausdinti mažas. Ir tada jūs galite padaryti dar, jeigu? Arba gali tiesiog daryti, jei? ALLISON BUCHHOLTZ-AU: Jūs galite padaryti dar, jeigu? AUDITORIJA: Ar tai svarbu, jei jūs darote, jei? ALLISON BUCHHOLTZ-AU: Taigi ji daro. Ar anyone-- taip, jums gausite tą patį išvestį jei jūs naudojate tik IFS versus jei jūs naudojate kitur IFS. Gali jus vaikinai manote, dėl kokios priežasties kodėl jūs galbūt norėsite naudoti kitur jei palyginant su IFS daug? Turi su efektyvumu. Taip? AUDITORIJA: Būtų patikrinti visi IFS kiekvieną kartą. ALLISON BUCHHOLTZ-AU: Taigi, net jei jis pasiektų šią pirmasis, jis būtų eiti į patikrinimą kiekvienas kitas. Taigi jūs norite naudoti, jei kitur IF atvejais kur tik bus kada nors taikyti vieną iš jų. Taigi Mutex yra ką mes linkę sakyti. Jei turite IF krūva, tai reiškia, kad gal ir daugiau nei vienas iš jų klausimai, o gal ir daugiau nei vienas iš jų gali būti tiesa. Ir norite juos abu vykdyti, jei jie teisingi. Jei norite tik vieną iš jų į darbą Šiose tarpusavyje nesuderinamų atvejais, norite naudoti kitas, jeigu dėl viskas turi daryti su efektyvumu. Jūsų kodas yra tik geriau sukurta jei ji laikosi tokios praktikos. Taigi šiuo atveju mes turime kitas, jei. Ir tai būtų? AUDITORIJA: n lygu lygu 3. ALLISON BUCHHOLTZ-AU: Perfect. Spausdinti vidutinio. Ir tada paskutinis mūsų atvejis, ką turime? Kitas arba kitas, jei? AUDITORIJA: kita. ALLISON BUCHHOLTZ-AU: mes want-- Jūs norite else if, nes mes turime konkrečius atvejus. Tai ne kokios sugauti visus. Jei buvo trūkumą switch-- prisiminti jungikliai galite turėti bylą, ir tada jūs turite nutylėjimą. Jei buvo default, kad tipo Jūsų else ten. Bet jei ji turi tik atvejus, tai reiškia, kad jums reikia Tikrinti, ar tai kiekvienas iš jų. Taigi, šiuo atveju, tai būtų 4 ar 5. Mes norime, kad atsispausdinti. Tai didelis. Ir ten jūs einate. Ir kad būtų jūsų programa. Taigi šiuo atveju, jeigu mes turėjo numatytąją kažką, mes turime kitur kokia ji norėjo mums daryti. Taigi tai yra gera skirtumas žinoti, suprasti. Ar tai padeda su jungikliais jums? Tobula. Gerai. Turime apie aštuonių minučių liko. Ar jus vaikinai bet kiti aukšti sąvokos? Klausimai apskritai? Taip? AUDITORIJA: turėjau klausimas apie vieno iš jų buvo apie atsitiktinai skaičių generatorius ant viktorina nulio. ALLISON BUCHHOLTZ-AU: O, kad vienas. Kad vienas yra dar viena, kur tai yra daugiau matematikos than-- taip. Sprendimas that-- net aš kai Matau, aš kaip, kas tai yra. AUDITORIJA: Tai buvo skaičius 7. ALLISON BUCHHOLTZ-AU: Keista, mano nuomone. Taigi, iš esmės nori naudoti drand48, kuris duos jums kai skaičius nuo 0 iki 1. Ir norite naudoti ją, kad kad jūs kažkaip a-- ir tai daug daugiau matematikos problemą man nei Manau CS problema. Būdas, kad jūs it-- ir kartais ji tiesiog patinka. Vėlgi, tai yra atvejų, kai tai tipo tiek kaip rašyti, ką jūs gali ir dalinė kredito. Taigi, jei norime grįžti, mes žinome, kad mes ketinate naudoti drand48 tam tikru būdu, tiesa? Taigi, kodėl ne mes tiesiog brūkštelėti, kad žemyn. Mes jį naudoti tam tikru būdu. Taip, kad jie turi vaikinai naudoti yra kaip tai, aš stengsiuosi ir paaiškinti. Taigi, iš esmės tai, kas vyksta čia, yra, nes ji nie tarp 0 ir 1, ką jūs darote, yra jūs dauginant by-- tai labai matematikos klausimą. Tiesiog pilnas atsisakymas, tai yra visiškai matematikos klausimą. Ką jūs darote, yra nes iš 0 ir 1, ir jūs nori, kad jis būtų per šis intervalas, jūs iš tikrųjų išsiaiškinti, kaip didelis diapazonas yra, o tada jūs iš esmės mastelį aukštyn, o tai, ką tai daro. b minus suteikia jums tą intervalą, skirtumas tarp tų skaičių. Galite dauginti tarp 0 ir 1, ir po to pridedant tiesiog tai reiškia, kad jūsų mastelio jį kad tai tarp A ir B, aš nelabai patinka ši problema. Kaip jau sakiau, tai viktorina yra skirtas apimti žmonės, kurie yra mažiau patogūs, kažkur tarp jų, ir patogiau. Taigi, jei jie pagaminti taip, kad tai buvo kažkas kad kiekvienas ne mažiau patogi vieta gaus, būtume pernelyg daug žmonės balais tobulina, ir patogiau būtų nuobodu. Taigi, jie visada turi tai rūšies Galvosūkis klausimus kad yra skirti būti šiek tiek sunkiau kad prireiks šiek tiek kūrybinio mąstymo. Kai pamatysite juos, ne gauti per stumped. Aš tikrai pasakyti pasukt per savo viktorinos pirmoji. Spręsti problemas kad jūs žinote, jūs galite, nes nėra naudojimas strigti nuo problemos, kai yra trys arba puslapyje keturis ar penkis Po to jūs galite lengvai padaryti. AUDITORIJA: Kodėl būtent tai jums padauginkite jį intervale? ALLISON BUCHHOLTZ-AU: Jūs padauginkite asortimentą, kuris Jūs know-- tai kaip kiek po tu nori? Taigi jūs galite galvoti, nes ji grąžina skaičių tarp 0 ir 1, galite galvoti apie tai, kaip procentinis dydis. Todėl jis iš esmės sakydamas, jei mes turime Mūsų numeris linija čia yra čia, ir b yra čia. Jūs kaip, kiek praeityje tai? Ar viskas, ką mes darome. Taigi jūs tiesiog klausia procentas šiame intervale, kuris yra tai, ką jis tau duoda. Ir tada jūs iš esmės tik mastelį aukštyn pridedant. Tai matematikos galvosūkis. Jei yra kokių nors paskutinę minutę patarimas, aš sakyčiau vartyti klausimus, išsiaiškinti, kuris iš jų jums žino, kad, pavyzdžiui, oh aš tai. Beveik tikrai jie ketina būti klausimai, kad jūs nežinote, arba, kad jūs ketinate turėti laiko už, todėl nukentėjo savo stipriąsias puses, gerai? Vaikinai ketinate puikus. Yra daug klausimai dėl priežasties, taip, kad jūs turite laiko rūšies turi galimybę parodyti, ką jūs tikrai gerai. Taigi viskas OK, jei esate nėra gerai viskas. Žaisti savo stipriąsias puses. Taip? AUDITORIJA: Taigi tai ketina grįžti kažką, kad Atskirtin? Taip, bus, nes drand grįžta tarp 0 ir 1. Tai bus grąžinti int, nes jis bus nukirsti kai mes pridėti ar padauginti jį. Cool. Paskutinę minutę klausimų? Vaikinai ketinate daryti puikiai. Jūs būsite Pasakų. Ir net jei ne, bus būti saldainiai čia kitą savaitę. Ir aš tave myliu. Aš myliu jus vaikinai nesvarbu. Gerai, visi, geros kloties. Turėti daug laiko. Jūs ketinate būti gerai. Ir žinote ką? Per dvi dienas jis ketina būti daugiau, o I turi du kontrolinius ketvirtadienį, todėl bent vaikinai bus padaryta. Gerai, aš pamatyti jus vaikinai kitą savaitę.