GARSIAKALBIS: Gerai, kad jūs negalite patikėti, tačiau praėjusią savaitę, pirmadienį, iš Pierce, aš sumažėjo rūsyje. Aš niekada eiti į Pierce. Ir aš niekada vėl, nes Aš palikau savo stuff vien, pavyzdžiui, penkias minutes ir nors pavogė mano kompiuteryje ir mano telefonas iš mano kuprinė. O tai reiškia, aš turiu jį atgal, ir tada mažiau nei po savaitės ji gavo pavogtas dar kartą. Ir tada jis gavo įjungtas - Surasti mano iPhone toliau būtų nenaudinga. Taigi, aš ir toliau skatins jūs ne naudoti jį. Jis vėl įjungta, ir tai buvo MIT, kaip 15 minučių, o asmuo pavadino tai telefono numerį, kad parodė, iki mano AT & T skambučių žurnalą. Taigi, nuėjau internete, vadinamas, kad telefonas skaičius, ir jis nuėjo tiesiai į tai autoatsakikliu ispanų kalba. Ir aš ne apie tai išgirdo, nes. Taigi, aš turėjo gauti naują kompiuteris ir telefonas. Aš žinau. Taip. Tačiau, jei jus vaikinai nori lustas su mano kompiuteris fondas po to, tai kodėl Aš paklausiau jus čia. Juokauju. Bet tai buvo tikrai liūdna ir traumuoja. Bet visa tai atgal dabar, ir kad buvo kodėl p nustatyti 8 užtruko taip ilgai, nes Aš neturėjau kompiuterio. Ir kažkas pavogė. Ir aš elektroniniu paštu, klausiama, ar jie būtų kokybės savo p nustatyti 8. Bet jie sakė, kad ne. Ir man buvo panašiai, galiu turėti mano kompiuteryje atgal? Ir jie, pavyzdžiui, ne. Juokauju. Gerai. Tai yra mūsų galutinis pjūvis, ir aš turiu mes turime tik tris - pora viskas į darbotvarkę. Mes ketiname kalbėti šiek tiek apie Q vadovas. Tada mes ketiname išleisti 15 minučių atvėsti demo. Tada mes ketiname visi sako atsisveikinti vienas su kitu. Jūs tikrai nereikia kompiuterius ar parkeris ar popieriaus užsirašinėti, arba sekti kartu. Taigi aš manau, jei turite kompiuterį , tuomet jūs esate "Facebook". Tiesiog sakydamas. Nebent esate užpildę Klausimas vadovas, kuris yra pirmas. Klausimas vadovas yra atviras. Jūs turėjo apie tai el. Kai visi Q medžiaga pateikiama ne metų pabaigoje, man visi Q komentarų balai iš visiems , kuris nusprendžia, kad man atsiliepimą. Ir todėl, kai jūs einate į Q - Aš nežinau, jei jūs galite tai padaryti, Jeff, nes jūs ir pratęsimas studentas. Bet kai jūs einate į Q, jei turite ne daroma anksčiau, galima pasirinkti savo mokytojas, kuris yra David Malan. Jūs turite padaryti jį. Ir tada galite pasirinkti TFS. Ir jūs galite pasiimti, kaip daugelis TFS, kiek norite. Tačiau yra 60 iš mūsų. Jūs neturite pasiimti visus. Jūs galite tiesiog pasiimti mane, arba tiesiog pasirinkti pora kitų žmonių, jei norite, kad suteikti jiems grįžtamąjį ryšį, taip pat. Ir tada jūs gaunate balus visa tai skirtingos kryptys, ir tada jūs galite palikti jų grįžtamasis ryšys. Ir tada, kaip po mėnesio, Aš gausiu viską, kad grįžtamasis ryšys. Ir kaip grįžtamojo ryšio buvote duoti man per semestrą aš skaityti visa tai. Ir tai tikrai naudinga, ir tai padeda man augti kaip mokytoja, ir kaip individualus. Taigi, prašome šiek tiek laiko tai padaryti. Mes tik bus čia dėl, pavyzdžiui, 30 minučių. Taigi, jei norite, bent šiuo tikslu imtis penkias minutes, ir tiesiog užpildyti Klausimas, nes jame neatsižvelgiama bet daugiau laiko nei kad. Tai būtų puikus, ir jūs taip pat gauti savo pažymius atgal greičiau, jei užpildysite Q. Taigi, dauguma iš jūsų tai padarė, kad prieš - arba ne, apie pusė iš jūsų padariau, kad prieš. Tačiau, jei esate naujokas, tai, kas tai yra. Tai bus tas pats visoms klasėms. Tai padaryti. Tai užtrunka penkias minutes. Bet taip pat, jei tai padaryti šiek tiek rimtai, tai ne pats blogiausias dalykas pasaulyje, nes aš tikrai rimtai. Taigi, jei jūs paliekate man smiley veido, Aš vertinu tai. Bet aš taip pat labai dėkingi, jei jūs liko man daugiau nei smiley veido. Bet tai priklauso nuo jūsų. Aš negaliu pasakyti jums - ar norėtumėte didelį veiduko veidą, su kapitalo D. kad būčiau dar geriau. Gerai, kad viskas ką turiu už Q. Jei turite kokių nors klausimų, galite paprašyti mane, bet gana savaime suprantama. Tiesiog, užpildykite jį. Aš tikrai vertiname tai, ir tai reiškia daug man. Gerai, tai, ką mes ketiname išleisti 15 minučių išgyvena. Aš ketinu parodyti jums tam tikrą kodą. Manau, kad tai yra tikrai cool, ir tai tapo man daugiau džiaugiamės kompiuterių mokslo. Taigi, aš tikiuosi, kad jis darys pats už jus visus. Mes ketiname atverti - ir visa tai kodas I jums atsiųsime vėliau. Bet mes tik ketina atverti - Aš mano terminale - mes ketiname atverti šią programą vadinamas [? MySum. ?] Ar visi gali skaityti, kad arba Norėčiau, kad ji didesnė? Ar kas nors pasakykite man, ką šis kodas bus daryti, kai aš jį, ar ką tai programa bus padaryti, kai aš paleisti jį? [? Avi?] Ką manote tai ketinate daryti? Baigti kramtyti. Jūs negalite pasikalbėti su Jūsų atvira burna. Auditorija: Ar jis yra krūva argumentai, rasti sumą jų grąžinimo suma, ir tada jį atspausdinti? Arba ji trunka dviem argumentais, ir tada ji [nesigirdi]. Ir tada jis spausdina, ką rezultatai. GARSIAKALBIS: Uždaryti, tikrai arti. Kas norite pridėti prie [? kas AVI?] sakė? Ar jums reikia pateikti šią programa bet komandinės eilutės argumentai? PUBLIKA: Ne GARSIAKALBIS: Ne Kas atsitiks, jei jūs neturite suteikti jai bet komandinės eilutės argumentai? Aš tiesiog parašyti dot velniop MySum. PUBLIKA: 1 plius 2 lygu 3. GARSIAKALBIS: 1 plius 2 lygu 3. Ir jis bus atspausdinti, kad iš. Būtent dešinėje. Pamatysite, kad spausdinimo f linija apačioje. Tai bus išspausdinti a, b, ir tada A ir B suma. Ir aš manau, jūs manyti, kad suma veikia teisingai. Geras prielaida. Gerai, kas atsitiks, jei aš mano, kad tai, ką argumentas? [? Manu? ?] PUBLIKA: Tai pridėsiu ką Pirmasis argumentas yra b. Arba 2, atsiprašau. GARSIAKALBIS: Teisė, iki 2. Ar kas nors žino, kas strtol daro? Tai iš esmės atoi. Atoi yra iš tikrųjų išgalvotas versija - arba paprastesnis portalo strtol. Bet ji iš tikrųjų naudoja strtol. Ir radau, kad, nes aš norėjau kažkas panašaus atoi, ir tada, kai aš nebuvo atoi, aš perskaičiau čia. Ir radau "šią problemą yra tas pats, kaip "strtol. Taigi tai iš esmės atoi už visomis prasmėmis. Ir matote aš net naudoti niekinis ir 10. Tai iš tiesų leidžia priimti eilutę, ir paversti jį numerį, ir pasirinkite kas bazė norite padaryti jį in Taigi tai yra pagrindas 10 čia. Aš galėjo padaryti bazė du už dešimtainės trupmenos, pagrindas 16 ir šešioliktainis. Tai gana kietas. Bet ilga istorija trumpa, tai trunka dvi numeriai ir prideda jas kartu. Taigi, galime paleisti jį. Ir jūs taip pat pastebėsite, kad Yra keletas dalykų, - todėl turiu Makefile čia ir Jei atidarote, kad iki kai kurių dalykų jūs pastebėsite, yra skirtingi. Visų pirma, šis argumentas čia, tikriausiai nemačiau, kad prieš. Apskritai, mes kompiliuoti dalykus su brūkšneliu nulio nulio. Dash nulis, nulis, tai nedaryk bet optimizacijos, sudarytojas. Nesistenkite ir padaryti nieko išgalvotas, arba skriptą greičiau, arba gauti atsikratyti kintamųjų, kurie yra būtini. Negalima optimizuoti šį kodą ne visi, Aš klausia trečiojo lygio optimizavimas. Taigi aš prašau sudarytojas daryti iš optimizavimas daug. Jūs galite pakeisti, kad makefile kai turite šį kodą, jei norite matyti kitą stuff. Kuris rodysime per sekundę. Taigi, mes paleisti savo sumą 1 plius 2 plius 3. Kažkas man du argumentus. PUBLIKA: 4 ir 5. GARSIAKALBIS: 4 ir 5. Ačiū. Puiku, ji veikia. Kokie yra keletas kitų svarių argumentų išbandyti, įsitikinti, kad tai veikia? Anyone? PUBLIKA: 0. GARSIAKALBIS: 0 ir? PUBLIKA: Neigiamas 3. GARSIAKALBIS: Jis veikia. Bet tai buvo geras pasirinkimas. Gerai, kad galime grįžti čia. Tai mysum.c. Jūs pastebėsite, ten taip pat kažkas vadinamas sumfunction.c. Ir tai sako, oi, kažkas apibrėžta sumfunction.c. Aš neapima šį failą čia nes man nereikia. Bet aš susieti jį kai aš kaupti, kurį pastebėjau. Leiskite slinkite aukštyn. Mes matėme, kai mes surinkti mysum, teisė ten, mes susieti dvejetainis nuo sumfunction.o. Ir man nereikia antraštės failą nes, žinoma, yra funkcija deklaracija. Toks aštrus yra paprastai tik užsideda į funkcijos deklaraciją. Čia aš tiesiog įdėti jį tiesiai kodą. Ir todėl man reikia padaryti, tai nuoroda dvejetainiu, o darau. Bet už tai, kas yra spėlionės į sumfunction.c? Kas kodas parašiau į sumfunction.c? PUBLIKA: [nesigirdi]. GARSIAKALBIS: Bet spėlionės? Taip? Auditorija: manau, apibrėžia kai [nesigirdi]. GARSIAKALBIS: Taip. Taigi aš rašyti int suma int. Rašau šią eilutę, ir tada aš turiu atvira garbanotas petnešomis, uždarytas garbanotas petnešomis. Ką manote aš rašau viduje tie garbanotas petnešos, viduje šią funkciją? Taip? PUBLIKA: Grįžti Lygu. PROCESORIUS: Tai tikrai geras spėjimas. Kas galvoja [? Manu?] Yra tiesa? Ji sako, grįžti pliuso b. Gerai, ne visi. [? Akshar,?] jums taip pat? Ar tikrai? Gerai. Ką? Auditorija: Jūs ją parašyti neteisingai. GARSIAKALBIS: Ne, aš ne. Taip, tiesiog juokauji. Jūs teisus. Štai ką ji sako. Tai grąžina plius b. Tai daro daug prasmės. Gerai, grįžkime čia. Mes matome, kaip antraštė - tai grįžimo tipo. Atminkite, mes matėme, kad vieną dieną, grįžti tipo funkcija, bet eina prieš int funkcija pavadinimu. Čia aš parašiau int. Ką manote atsitiks, jei šioje funkcija, aš neturiu rašyti int, bet Rašau nepasirašytas? Skirtumas, žinoma, yra ta, kad nepasirašytos sudaro tik teigiamas sveikieji skaičiai ir int gali būti teigiamas arba neigiamas. Taigi, aš pasikeitė grąžą tipo šią funkciją. Šis kodas nesutampa šis sugrįžimas įveskite čia. Ką manote atsitiks kai aš kompiliuoti? Turėtumėte klykauti ne man. Nėra šaukti. Ką apie kai aš paleisti programą? Darom prieš 0 neigiamas 3, arba neigiamas 1. Jis vis dar veikia, nors aš sakau jis grįžta sveikasis skaičius be ženklo. Aišku jis negrįžta sveikasis skaičius be ženklo. Tai grąžina pasirašytą sveikasis skaičius. Jis grįžta neigiamą 1. Gerai, kad tai keista. Ką apie jei aš einu čia ir tai padaryti? Taigi, aš viską pakeitė iš int į nepasirašytas. Jis gali imtis tik nepasirašytas sveikieji skaičiai. Bet mes vis dar manau, kad tai bus paleisti? PUBLIKA: Taip. GARSIAKALBIS: Tai bus. Tai beprotiška. Ir mes praeiti aiškiai priskirtas sveikasis skaičius, mes galime išlaikyti du pasirašė sveikasis skaičius, jis vis dar veikia. Gerai, bet kodėl viskas dar idėjos veikia, ar tai, kas vyksta? Taip, Jeff. PUBLIKA: Ji turi kažką daryti su savo Optimization, kad jūs paryškinti. GARSIAKALBIS: Ne Mes galime pakeisti optimizavimas, ji vis dar dirba. Galiu tai padaryti už jus, bet - PUBLIKA: Imsiu savo žodį. GARSIAKALBIS: Taip. Jei atidarote Makefile čia, Pakeičiau optimizavimas. Taigi jūs galite padaryti brūkšnys nulis, nulis. Ji vis dar dirba. Kitos mintys? Vaikinai visi turėtų dirbti, todėl Kodėl turėtumėte tikėtis, kad ji veikia? Ar ne? Tyla. Gerai. Turiu laukti septynias sekundes nes man uždavė klausimą. Taigi cool dalykas apie C, o jūs tikriausiai patyrė anksčiau - jums negali turėti, tai gali būti pirmas kartas. Tačiau kaip jūs visi žinote, kai aš rašau kažkas C, tai nėra išsaugoti kaip tai kompiuteryje. Jis įrašytas kaip tie ir nuliais. Jis eina iš C kodą surenkant kodą. Ar kas nors matė surinkimo kodą prieš, mašinos surinkimo kodas? Mes pažvelgti per sekundę. Jis eina iš C kodą surenkant kodą. Ir vaikinai žinoti etapus pildymo. Jūs turėjo įsiminti, kad viktorina vienas, ir tada rašyti ant viktorina nulio. Dauguma žmonių gavo tai negerai. Manau, vaikinai prikalė jį. Tačiau, jūs vaikinai yra geriausias skyriuje už viktorinos, beje. Kuris yra awesome. Jis negalės jums. Nebūk neramu. Bet tai tikrai cool. Geras darbas. Taigi jis eina į Asemblerio kalba, ir Tada jis eina į vienetų ir nulių. Ir tie, ir nuliais išsaugomi kompiuteris, o tai, ką išsaugotas a.out, ar šiuo atveju, vykdomąjį failą. Ir kompiuteris veikia tie ir nuliais. Teisė? Mes išmokome anksčiau. Taigi cool dalykas yra, tai nepasirašytos idėja, tipų idėja INTS nepasirašytas, ir tt, ir tt, tai čia C kalba. Tie egzistuoja. Bet rūšys neturi egzistuoti tie ir nuliais. Tipai net nereikia tikrai egzistuoja Asemblerio kalba lygis. Taigi, kad kažkas, kad egzistuoja C pasaulyje, bet neegzistuoja kompiuteryje pasaulyje arba perdirbėjas pasaulis. Tai abstrakcija, kad C kalba įtraukė, kad mūsų gyvena lengviau. Tad dienos pabaigoje Gebu rašyti daug skirtingų dalykų čia, ir tai nereiškia, kad skirtumas. Nes egzistuoja tik C pasaulyje. Jis neegzistuoja tie ir nuliais pasaulis. Ir mūsų programa s vykdymo ir tie ir nuliais pasaulis. Taigi jūsų protas aiškiai ne prapūsti dar. Bet aš manau, kad kietas. Taip, Jeff. PUBLIKA: Taigi, jei vietoj daro int, jūs char. Ir jūs buvote - GARSIAKALBIS: Darom per sec. PUBLIKA: Nes tada jums nepasirašytos vyksta nuo neigiamo 128 iki 127 arba 0 iki 255. GARSIAKALBIS: Taigi char yra problemiškas. Ar kas nors žino kodėl char būtų problemiškas, o tai būtų iš tikrųjų keisti dalykų tie ir nuliai pasaulyje? PUBLIKA: Dėl char dydžio. GARSIAKALBIS: dydis char yra 1. Taigi nepasirašytos taip pat 4 baitai. Taigi char būtų varžtas things up. Bet kas yra 4 baitų nie susijusi su char? Arba bent kad prideda vieną papildomą - galite įdėti dar vieną charakterį po char. PUBLIKA: Char žvaigždė. GARSIAKALBIS: Char žvaigždė turi 4 baitų. Taigi, galime padaryti kažką tai char žvaigždė. Taigi, tai tikriausiai veikia, tačiau mes ketinate daryti kažką dar crazier nei šis. Mano nuomone, labiau pamišęs. Aš dabar parašyta funkcija, kuri grąžina žymeklis, ir tai trunka žymeklis ir nepasirašytos vertė - mes pakeisti šią nugarą int, kad mes nesame padaryti per daug pokyčių vienu metu. Ir tai yra masyvas vadinamas, indeksai į masyvą, ir grąžina adresas. Mes matėme šiuos operatorius anksčiau. Tai, ką jūs manote, kad tai vyksta daryti, mainais, kai aš paleisti jį? Ką jūs manote, kad tai ketinate daryti? Bet spėlionės? PUBLIKA: Segfault. GARSIAKALBIS: Kas? Segfault? Štai geras spėjimas. Tomas sako tą patį. Visi kiti spėlionės? Kas galvoja, kad jis ketina daryti tą patį? Kas galvoja, kad jis ketina segfault? Jis daro tą patį. Atsiprašau. Bet, žinoma, mes įdėti 1 ir 2. Ir tie, kurie tiek galioja, ar ne? Pažiūrėkime, mes galime eiti į Antroji vieta masyvo. Bet kas, jei mes padarėme b neigiamas skaičius? Tai tikriausiai geriau spėjimas kažko segfaulting. Jis vis dar veikia. Gerai, tai dabar iš proto. Tai vienodai galioja sumos funkcija. Tai nėra tas pats dalykas kaip grįžti ir b. Ar kas nors paaiškinti, kodėl tai yra gerai Apibendrinant funkciją, arba kodėl tai veikia? Kas čia vyksta? Kodėl tai padaryti tą patį dalykas kaip mūsų senas suma funkcija? [? Akshar,?] kas vyksta? PUBLIKA: Nes kai turite tai, kad adresas vieta atminties - ir kai jūs darote ampersendas, jis eina į tą atminties adresą. Ir kai jūs einate į b, jūs natūra juda veiksmus iš tos atminties adresą, jūs grįžta, kad. Taigi, jūs iš tikrųjų, iš tikrųjų, Įrašyta ir b [nesigirdi]. Kur yra standartinės operacijos ant tos deklaracijos? Kaip, kur skliausteliuose kristi? Ar adreso grąža prieš arba po [nesigirdi]? GARSIAKALBIS: Ji ketina indeksą į B - arba rodyklę į - ir tada grįžti adresą. Gerai, kad nebuvo visi supranta kas [? Akshar?] sakė, ir paaiškinti, kodėl tai veikia? Aš ne, pirmą kartą somebody tai paaiškino man. Ar kas nors patinka paveikslėlį tai paaiškinti? Mes ketiname padaryti nuotrauką, su jokių žymeklių, tai puiku. Surasta kai. Taigi, mes turime masyvą, kad yra dėžių serija. Pirmasis puslapis 0 indeksas 1, 2, 3, 4, taškas, taškas, taškas. Tipiškas masyvo. Ir papildomai prie indeksų, visi jie turi atminties adresus. Taigi, galime duoti šį Atmintis Adresų 13, 14, 15, 16, 17, ir tt. Visi čia, iki šiol. Taigi yra adresas. Masyvo, rodyklė vardas išsaugomas ten. Tai rodyklė, tai atminties vieta, su masyvo pradžioje. Taigi, jei tai buvo masyvas, Būtų vertė 13. Ir, žinoma, mes galime suteikti bet vertė norime. Char žvaigždė, mes galime suteikti bet atminties adresas norime. Mes galime suteikti jai 0, mes galime suteikti jai neigiamas 1 - neigiamas 1 neegzistuoja, taip, kad turbūt sudėtinga, tačiau matėte, kad ji vis dar dirbo. Taigi, mes galime suteikti bet kokio dydžio norime, bet atminties adresas norime. Tada, int b sako: Gerai, eikite šį numerį iš žingsnius į masyvą. Taigi, jei B lygus 2 ir lygu 13, mes į atminties adresą 13. Ir mes einame du žingsnius, ir todėl mes esame čia. Ir ampersand reiškia sugrįžimą šios vietos adresą. Ir adresas, žinoma, 15. Taigi, mes gauname 13 plius 2, arba plius b, kuris yra 15. Kyla klausimas, nors - Aš atsiprašau. Ar tai paaiškinti dalykus , kodėl tai veikia? PUBLIKA: Kodėl tai veikia vyksta - todėl jūs galite turėti masyvą ir eiti į neigiamą indeksą? GARSIAKALBIS: Teisė. Taigi, mes padarėme neigiamus skaičius, taip, kad tai - ar tai prasminga, nors, pirma, [? Avi?] Jums? PUBLIKA: Taip aš tiesiog [Nesigirdi], tačiau - GARSIAKALBIS: Taip, tai vėl 15. Jei buvo 13, ir b buvo 2, tai grąžina 15. PUBLIKA: Taigi nulis indeksavimas nėra tampa klausimas, tiesa? Kadangi jūs pereinant nuo 0. GARSIAKALBIS: Teisė. Taigi jūs juda - taigi, jei b buvo 0, jums nebūtų perkelti bet kur. Ir jūs ką tik grįžo adresą - jei b buvo 0, tai iš esmės grįžti tą adresą. Kelias į char žvaigždute ir grąžinti adresas yra tik grįžimas, esmės. Gerai, klausimas yra kodėl neigiami skaičiai veikia? Ir tai tikrai cool dalykas, apie tai, nes tai turėtų segfault. Ir tai segfault jei mes padarė kažką panašaus į tai. Tarkime, int. Taigi šis kodas atrodo identiški ir turėtų elgtis vienodai. Iš esmės, čia x yra šiukšlių kintamasis, ir todėl tai turėtų elgtis vienodai. Padarykime tai - Oi - į žvaigždę. Gerai, mes jau gaunate klaidos čia nes jis jau bus piktas į mane, nes jau žino, kas ateina. Visų pirma, antra vienas. Adresas sukrauti atminties susijęs su vietos kintamąjį. Iš esmės, aš ne ketina sudaryti tai, tada aš ruošiuosi atšaukti padaryti ką tik padarė. Bet kadangi mes niekada iš tikrųjų susipažinimo kas ne atmintyje vieta, jis nesiruošia segfault. Mes niekada iš tikrųjų žiūri į tai, kas antrąjį langelį arba kas bet lange Šio masyvo. Mes tik sakydamas, štai adresas apie ką mes ieškome ir grįžti tą adresą. Mes niekada iš tikrųjų vyksta į masyvas pažvelgti į tą vietą. Ir todėl mes niekada nelieskite atmintį, mes ne gauti į bėdą. Mes negaunate segfault. Jei mes bandėme, vėl palieskite, kad atmintis, liesti tai, kas buvo ne A arba B - arba laikiklis b ir darant prielaidą, buvo 0 ir - jei buvo 0, netgi, kad būtų gana blogai, nes mes negalime eiti žemyn visą kelią ten. Jei A ir B abu buvo 0, o mes bandėme paliesti, kas ten buvo, tuomet mes gauti į bėdą. Bet jei mes nelieskite, kas ten, mes tiesiog grąžinti adresą, tai yra tikrai nesiruošia segfault nes ji leidžia atlikti šias operacijas. Ji gauna tik pykstu ant tavęs, ir gauna super piktas, kai bandote ir paliesti faktinis atminties ir grąžinti tai, kas tuo atminties vietą. Ar tai prasminga? Tai tiesiog beprotiška dalis C. Taigi, mes turime vienas iš jų. Kas mano, kad tai yra gerai? Vis daugiau žmonių. Tai gerai. Gerai, tai yra mūsų paskutinis. Ir aš norėčiau, kad jūs man pasakyti, ar ar ne manote, kad tai vyksta daryti tą patį tiksliai dalykas. Aš tai užrašyti kažkur. Aš ne įsiminti juos. Pažiūrėkime, 8 b 4, 4, 2, 4, 0, 8, 0, 3, 4, 4, 2, 4, 0, 4. Taigi tai yra masyvas, dabar, ne funkcija. Ir tai masyvas, nes mes turime aikštė gembės, ne garbanotas petnešos. Ir tai, kokio tipo masyvas? Kiekvienas, hmm? PUBLIKA: Jų šešioliktainius skaičius? GARSIAKALBIS: Bet kas C tipo? Jie visi turi šešioliktainius skaitmenis. Kas C tipo? Jis jums pasakys. PUBLIKA: Tai nepasirašytos simbolių. GARSIAKALBIS: Teisė, nepasirašytos simbolių. Ir du šešioliktainius skaičius yra vienas baitas. Taigi tai yra 1, 2, 3, 4, 5, 6, 7, 8, 9 baitų. Tai iš 9 baitų masyvo. Gerai, jūs tikriausiai jau žinote, Atsakymas į šį klausimą. Bet ką jūs manote bus atsitikti, kai aš paleisti tai? Aš sakau, vėlgi, mysum.c, Aš laukiu funkciją kad mano du sveikieji skaičiai. Ir aš vietoj sakydamas, kad tos sumos yra simbolių masyvo. Kas nutiks, kai Aš paleisti. / Mysum ir padaryti? Na, visų pirma, dauguma iš jūsų tikriausiai sutinka, kad prekinis ženklas - oh no, just kidding. What'd darau negerai? Uh oh. Tai turėtų būti garbanotas petnešos. Štai kaip jūs inicijuoti masyvą. Mano blogas. Taigi, mes jau pamačiau iki tos rūšys yra C lygio abstrakcija, o ne kompiuteris lygio abstrakcija. Taigi, dauguma iš jūsų tikriausiai tikimasi, kad ji padaryti, ar darant prielaidą, kad jis būtų. Bet kas, jei aš paleisti. / Mysum? Kas nutiks? Bet spėlionės? PUBLIKA: Tai vyksta spausdinti žodį. GARSIAKALBIS: Tai vyksta spausdinti žodį. Ką žodis? PUBLIKA: [nesigirdi]. GARSIAKALBIS: Visos kitos spėlionės? Gerai, spausdinti frazę. Jūs galite turėti bet kurį frazę. Tai bus jūsų pusėje. Bet kas, kas turi kitokį spėjimą? Ana, kas jūsų spėjimas? PUBLIKA: Tai bus atspausdinti - dvi raidės, arba [nesigirdi] viena raidė. GARSIAKALBIS: Vienas laiškas. Auditorija: Ar galiu suskaičiuoti, kiek daug [nesigirdi]? GARSIAKALBIS: Devyni. Na, aš ruošiuosi jį paleisti. Tai nėra tas pats dalykas. Ji priduria, du numerius kartu. Na, galime perduoti du argumentus. Ji neatsižvelgia į argumentus. Taigi, aš nežinau, kur ji galėtų galbūt gauti šiuos argumentus. Bet leiskite pereiti prie 100 ir 0. Ir ji priduria, 100 ir 0. Tai nenormalu. Manau, kad taip. Neigiama 4, kuris veikia taip pat. Jūs galite padaryti viską, ką nori. Tai vienodai galioja suma funkcija. Tai suma funkcija. Bet ne, jūs sakote, tai baitų masyvo. Taigi, kas čia vyksta? Taigi, dar kartą, grįžkime prie šios idėjos kad mes pasakėme pačioje pradžioje. Jūs pereiti nuo C lygio kodą, surinkdami kalba, kad tie ir nuliais. Tai šešioliktainis. Bet tai tikrai tik daug vienetų ir nulių. Tai 72 tie ir nuliai, tiesa? 72 tie ir nuliais. 9 baitų. Kiekvienas baitas yra 8 bitai. Kiekvienas bitas yra vienas arba nulis. Taigi, 72 iš jų arba nuliais. Aš tiesiog juos parašė, kaip šis - o ne raštu jį kaip daug tie ir nuliais. Bet tai bus nuo C lygio Kalba, į surinkimo Kalba, į kodą. Ir tai bus išspausdinti kodą, kažkur, šie 72 tie ir nuliai kad aš parašiau čia. Taigi, kažkur, kad - eikime čia - kažkur mysum, programa, yra šie 72 tie ir nuliai, kad aš parašyta ir pasakyta, kad rašyti. Dabar bet už ką tie spėlionės 72 tie ir nuliai reiškia? PUBLIKA: Tikriausiai pats pats, kaip grįžti pliuso b. GARSIAKALBIS: Tikriausiai pats pats, kaip grįžti pliuso b. Leiskite patikrinti, kad. Leiskite suprasti, kaip aš tai padariau. Taigi, jei jūs einate atgal čia, aš jums pasakysiu paleisti šią komandą, objdump-S sumfunction.o. Vykime paleisti jį. objdump - objektas, savivarčius. Iš esmės tai gali man duoti ką noriu matyti. Jis gali duoti man Asemblerio kalba. Jis gali duoti man tie ir nuliais. Ji vėliavų toną. Tai vienas mes ketiname naudoti dabar. Dot - kaip matote skaidres - brūkšnys kapitalas S sako, prikaišioti, kodo - Ši linija yra iš C - su surinkimo kodas ir tie ir nuliais. Ir mes ketiname paleisti tai ant sumfunction.o. Kadangi tai bus lengviau matyti. Vėlgi - hmm? Auditorija: Jūs ją parašyti neteisingai. GARSIAKALBIS: Bet aš iš tikrųjų vyksta jį išvalyti sekundę. Aš pirmą kartą ketina atidaryti tiesiog sumfuntion.o. Auditorija: Jūs ją parašyti negerai pirmą kartą. GARSIAKALBIS: klasikinis. Suma - tai sunku žodis, nors. Jūs nustebsite. Gerai, kad tai sumfunction.o. Aš net negalėjo pasakyti. Yra nulio daug, aiškiai daug iš nulių, ir ten kai kurie kiti stuff, kad ne nuliai. Tačiau daugiausia nuliais. Atrodo, kad ten kai tie. Taigi aišku, tai yra sunku skaityti. Štai dvejetainis kalba. Tegul dabar jį atidaryti - ką? Ką aš darau blogai? Ar aš rašybos teisingai? Gerai, tai yra nepatogu. Turiu vieną sekundę išsiaiškinti , ką darau blogai. Tai viena klaida. Tai keista. O, štai kodėl. Aš ruošiuosi grįžti į savo pradinį vienas, todėl mes galime pažvelgti objekto kodo tai. Nes ten tikrai ne ketinate būti bet kas, kai mes tiesiog įdėti tie ir nuliais in Čia mes eiti. Gerai, kad visi galėtų pamatyti. Ši funkcija, kaip jau sakiau, užgesino C linijos - išeitinio kodo linijomis - su kai surinkimo instrukcijos. Čia yra mūsų kodo eilutę. Štai vienas, čia kitas. Čia yra surinkimo instrukcija. Štai kaip jie atrodo. Montavimo instrukcijos - galite sužinoti daugiau apie tai, jei vartojate kiti CS klases, bet jie paprastai instrukcija. Ir tada šaltinis ir paskirties vieta. Ir tada čia yra dvejetainis kodas , kuris atitinka šios asamblėjos instrukcija. Taigi, kaip matote, ši suma funkcija, ne dienos pabaigoje, yra trys Surinkimo instrukcijos. Tik trys. Vienas mov - šį m-O-prieš žymi Perkelti. Pridėti stovai Įtraukti. Ir r-e-T reiškia Grįžti. Taigi vienas MOV, vienas priedas, vienas skrydis. Ir tai, čia, yra nuliai ir tie, kurie atitinka šio kodekso. Taigi tie nuliai ir tie, jei jūs žinoti tiems, galite tiesiog įdėti Tiems tiesiai in Ir tada jis bus atlikti lygiai tas pats dalykas. Nes, bent dienos pabaigoje, visi jūs vykdyti yra ilgas serijos nuliai ir tie. Ir tai, ką jūsų kodas yra iš tikrųjų. Ir priežastis - pažvelkime į vieną dalyką. Ar turiu Makefile atidaryti? Taigi, jei mes grįžo į brūkšnys nulis, nulis čia - Atsiprašome, kapitalas O, kapitalas O nulis, ne nulis, nulis. Ir mes padaryti, kad būtų vis dar dirba tą patį. Bet dabar jūs pastebėsite, kad yra daug daugiau Surinkimo instrukcijos. Tai todėl, vėlgi, aš paklausiau Kompiliatorius ne daryti bet optimizavimas. Taigi, aš vis dar gali imtis visų jų nuliai ir tie, ir mesti juos, ir kad dirbtų. Aš ką tik padarė, kad optimizacijos, nes tai šiek tiek lengviau tada, parašyti, kad masyvo. Tačiau tai dirbti taip pat gerai. Gerai, mes ketiname padaryti vieną galutinį dalykas, nes manau, kad yra super dalis. Nors visi tai aiškiai jau prapūsti ir tylėjo. Mūsų protai prapūsti. [Nesigirdi] Taigi, tai yra iš skirtingų CS klasės, kuris yra super įdomus, kad aš ėmėsi - CS61. Aš labai rekomenduojame jums imtis jį. Bet kietas dalis apie šį faktą, kad viskas yra tik nuliai ir tie, yra tai, kad viskas yra nuliai ir tie. Taigi, galite imtis bylos, kuri turi teisingi nuliais ir tuos, kuriuos norite kažkur jį, ir naudoti tą skyrių nuliai ir tie kaip sumos funkcija. Ką tuo noriu pasakyti? Aš turiu galvoje, jūs galite pasiimti vaizdo failą, kad turi teisingą serijos nulių ir tie, kurie ką nors atspausdinti dėmesį į atvaizdą. Ir viena programa gali interpretuoti yra įvaizdis, tačiau galite ją interpretuoti, jei norite, kaip sumos funkcija. Taigi, jei mes norėjome atidaryti, už Pavyzdžiui, šis paveikslėlis. Eikime, Hello Kitty. Puiki tiek vaizdas. Čia yra, kad eilutė nulio ir tie. Tie 72 nulių ir tie egzistuoja šio paveikslėlio. Taigi, ką aš galiu padaryti, tada, tai parašyti - Turiu prisiminti, kur jie yra. Aš suprato, kad per sekundę. Bet mes - leiskite man sužinoti, kur jie yra. Vienas sek. Darom - PUBLIKA: [nesigirdi]. GARSIAKALBIS: Ačiū. Taigi, jei mes vykdyti šią programą, kuri o skaito failą, tada jis eina šį rodiklį į bylą. Ir tada vėl, tik norėčiau mysum, užima du numerius. Mes galime pridėti numerius tiksliai tas pačias kaip darėme anksčiau, kuris eina parodyti jums, kaip tai, kad pabaigoje dienos, visi šie dalykai yra nuliai ir tie. Ir tai tik kaip jūs nuspręsite juos interpretuoti. Ir jeigu jūs iš tikrųjų atrodo ne šio paveikslėlio - tegul padidinti šiek tiek. Ar visi gali matyti? Jūs pastebėsite, čia, čia kažkokiam keistam išsitepti. Vykime - tai originalus vaizdas. Jūs pastebėsite, čia nėra išsitepti. Tai sumai funkcijos kodas, yra tai, kad šiek tiek išsitepti teisę ten. Ir iš tiesų, vėlgi, jei norite sužinoti daugiau apie tai, jūs suprasite, kad tai Hello Kitty, kuris turi net didesni išsitepti, yra kodas, kuris gali perimti kompiuteris, jei jis nėra apsaugotas tinkamai. Taigi, jūs iš tikrųjų galite paleisti tai. Aš nesiruošia paleisti jį dabar. Bet jūs galite paleisti šį Sveiki Kitty paveikslėlis, ir jis gali perimti kompiuterio. Taigi, kad visi už demo. Ar kas nors turi kokių nors klausimų, komentarai, rūpesčiai? Manau, ši medžiaga yra įspūdingi. Tai įkvėpė mane sužinoti daugiau. Aš labai rekomenduoju, jei jus domina ne visi ant CS, kreipkitės į mane. Nors aš Socialinių studijų Koncentratorius, aš CS, antrinė, todėl Aš vis dar žinau, šiek tiek. Bet aš tikrai žinau, ką klasių jums turėtų imtis. Manau, visa tai tikrai įdomu, ir raginu jus, žinoma, kad sužinoti daugiau, jei jus domina. Gerai, aš turiu vieną galutinį dalykas. Atsiprašau. Turite klausimų? Aš ne pristabdyti palaukti, jei kas nors turėjo kokių nors klausimų apie tai. Ar kas nors bus CS koncentratorius? Ar galvoti apie tai? Vienas, du, trys, keturi. Viena - tik vienas. Anos yra tik ranka, kuri yra pakeltas autoritetingai. Gerai, kad yra "kieta". Asamo, ką jūs ketinate daryti? PUBLIKA: [nesigirdi]. GARSIAKALBIS: Konstantinas? PUBLIKA: Fizika. GARSIAKALBIS: Oho, buvo greitai. Jūs turėjo blogą patirtį CS50? [Nesigirdi], ką jūs ketinate daryti? PUBLIKA: aš neįsivaizduoju. GARSIAKALBIS: Curt? PUBLIKA: ECON ar CS. GARSIAKALBIS: ECON ar CS. Tomas? PUBLIKA: darau Stat. GARSIAKALBIS: Stat? Gerai. Ką jūs? PUBLIKA: Me? GARSIAKALBIS: Taip. PUBLIKA: Stat. GARSIAKALBIS: Stat. O, ten jūs einate. Tomas, pasitarkite su Alden. Emily, kas tu esi? PUBLIKA: Biomedicinos - GARSIAKALBIS: Ar šiame skyriuje? PUBLIKA: Ne GARSIAKALBIS: Gerai, Emily. Ji mano draugas. Aišku, kad geras draugo, nes ji suteikia man sunku. Jums gali būti gražiau man priešais kiekvieno, mano studentas - PUBLIKA: darau savo Q vadovas. GARSIAKALBIS: Tikrai? Uh oh. Gerai, tu nuostabi. I love you so much. O berniukas. Bet kokiu atveju, aš praeitą naktį, kaip ir viskas - Aš tikiu, kad visiems atrodo, tikrai pabrėžė dabar. Aš nežinau, ar pirmakursis - yra vaikinai jausmas pabrėžė? Aš jaučiuosi pabrėžė. Tai buvo, pavyzdžiui, jūs einate namo Padėkos. Jūs esate kaip aš ruošiuosi padaryti visus šiuos dalykus. PUBLIKA: Tai tokie skirtingi. GARSIAKALBIS: Aha, ir grįžti. Jeffas, jūs nejaučiate, kad taip? PUBLIKA: aš maniau Aš padaryti šiek tiek. GARSIAKALBIS: Gerai, puiku. Taigi, aš atėjau atgal, ir aš ne nieko nedarėme. Ir visa tai super stresą. Ir aš susirūpinęs, tikrai susirūpinęs, apie tai, ar ne aš ketina baigti viską turiu. Bet praeitą naktį, aš ne pabrėžė, Aš tik šiek tiek liūdna. Taigi rašiau žurnale apie kas man buvo liūdna apie tai. Ir man buvo liūdna apie šio skyriaus Šiai klasei artėja prie pabaigos. Taigi aš tiesiog ketinate skaityti jums vaikinai mažai fragmentas mano žurnale, iš praėjusią naktį. Ar galiu gauti keletą servetėlės, kai iš Tom audiniai? Ne, aš verkti. Aš neverkia. Ne todėl, kad tu negali verkti, Aš tik neverkia. Aš net nežinau, jei mano ašara liaukos dirbo - ašarų latakus. Aš ne šaukė per ilgą laiką. PUBLIKA: [nesigirdi]. GARSIAKALBIS: Gerai, ačiū. Gerai, ten mažai įvadas - ten kai kurios kitos dalys mano žurnale įrašas, nes aš stengiuosi žurnale kiekvieną naktį prieš aš miegoti. Aš labai rekomenduoju žurnalinė. Tai padeda jums tvarkyti dalykus, taip pat būti labai dėkingi savo dieną. Ir ji tampa daug lengviau ieškoti atgal į savo dieną ir suvokti, kad buvo daug gero dalykų, kad atsitiko. Net jei manote, kad tikrai pabrėžė naktį ar tikrai nusiminusi arba tikrai liūdna, ar pavargęs. O, Dieve. Aš net nežinau, jei ji parašyta, kad gerai, nes aš ne redaguoja jį. Bet mes jį perskaityti. Aš paprastai neskaito mano žurnalas, žinoma. "Rytoj, aš mokyti savo galutinį CS50 skyriuje metus. Tai beprotiškas, kaip greitai laikas bėga. Tačiau, aš ištiktų kiek skiriasi mano patirtis moko šiemet buvo nei tada, kai buvau antrakursis. Dėl užkandžių, aš tikrai žinoti medžiagą geriau. Tačiau nereikia pasakyti savo pirmąjį kohortos Studentų kad. Dar svarbiau, tačiau aš supratau, kad džiaugsmas, kuris ateina iš padėties iki priešais, kas prasideda kambarį kaip svetimi, bet galų gale, nes šiuo mažiau Facebook draugų, yra ne pirmo kurso atsitiktinumas. Atvirkščiai, tai žinodami, kad kai mažas būdu, jūs padėsite talentingas, mąstantis, puikūs, ir aistringi žmonės mokosi šiek tiek daugiau apie kompiuterių mokslo. Jūs pereiti tą lemputę tiesiog tiek savo lizdą, taip, kad jis galėtų šviesti ryškiau nei jūsų, ar jie, galėjo įsivaizduoti bent semestro pradžios. Jūs padeda ias Abbas aukštyn žemyn ir užduoti klausimus, kad teikti paramą, bet vis dar leidžia mokiniams atsistoti ant savo. Tai tikrai ne su perdėta pasakyti, kad šiame skyriuje yra mano mėgstamiausia Didžioji dalis savaites. Arba net kad Nedrįsčiau teigti, kad tai visi, bent 05:30 kiekvieną savaitę, žinant, kad tai bus per daug ilgas kol mes vėl susitiksime. Tačiau, aš nepaprastai dėkingas visi kas davė man tai galimybė grąžinti kitiems. Dovydui, jo kantrybė ir pasitikėjimas. Į kino ir gamybos įgula, už todėl man atrodo šiek tiek garbingas. Ir, svarbiausia, kad mano studentai, be kurių aš neturiu jokių priežasčių praleisti 10 valandas suprasti, geriausias būdas atkreipti nurodymus, arba išdėstyti lentelėje delfinų, per JavaScript. Kaip visada, tai buvo palaima. " Taigi su tuo, ačiū vaikinai. Žiūrėsiu jūs visi tuo CS50 mugėje, ir hackathon, jei esate ten. Ir, jei turite klausimų, aš klijuoti aplink, kol nėra daugiau. Bet dėkoju jums vaikinai nuostabus metus. [Plojimai] GARSIAKALBIS: galėčiau verkti.