ALLISON BUCHHOLTZ-AU: Hey, allir. Velkomin á kafla. Í dag er bara að fara að vera allt quiz Yfirlit fyrir prófið á miðvikudag. Ég vona að allir minnist þess þeir hafa a quiz á miðvikudag. Og ef þú gerðir ekki, vel, nú að þú hafir verið minnt. Svo Miðvikudagur tryggja þú mæta fyrir bekknum eða aðra gistingu sem nauðsynlegt. Þú krakkar eru að fara að vera ógnvekjandi. Það er að fara að vera mikill. Og ég ætla að gera allt sem ég get til að hjálpa að undirbúa þig í dag fyrir prófið núna. Og einnig ef þú veist ekki, það er auðvitað breiður endurskoðun fundur í dag á 7:00 í Norðvestur Labs herbergi B103. Þú getur séð mig aftur fyrir Encore sem Ég mun leiða hluta af þeirri endurskoðun fundur einnig. Svo ef þú getur ekki fengið nóg af mér nú, getur þú kemur aftur í kvöld. Allt í lagi, svo það fyrsta sem fyrst. Bara sumir quiz ráðleggingar áður vér reyndar kafa í umsögnum. Svo eins og með hvaða próf, æfa mun örugglega hjálpa þér út. Það eru próf úr fortíðinni sex eða sjö árum á það, svo er það a einhver fjöldi af æfa efni fyrir ykkur að hafa. Og í raun, í dag er í raun bara fara að vera að fara yfir hvaða efni að þið hafið spurningar um eins vel sem vinna í gegnum starf vandamál frá spurningakeppni núll. Svo ég ætla að henda upp quiz núll frá síðasta ári hér, og við getum unnið í gegnum öll vandamál að þið langar til. Svo æfa. Þú ert að fara að byrja að gera það í dag. Code á pappír. Svo já, ef allir gæti raunverulega fá út pappír, sem mun vera mikill, vegna þess að þú ert ekki fara að hafa tölvuna þína á próf og skrifa út kóða handvirkt er oft miklu erfiðara en þú gætir átt von á. Þú ert að nota bara sjá það og slá það, og þú hefur þýðanda þinn að hjálpa þér út þegar þú hefur villur, en þú færð ekki að á prófinu. Svo það er mjög mikilvægt að í raun og veru vera fær um að skrifa út kóða, og að vöðva minni að gera það af hendi mun virkilega hjálpa þér. Þannig að við erum að fá smá lokun. Það er mánudagur. Prófið er á miðvikudaginn. En ef þú hefur tíma, ákveðið að taka einn af prófum frá síðasta ári eða ári áður undir tíma þvingun klukkustund og hálft. Bara högg út klukkutíma og hálft af tíma, og setjast sjálfur niður, og bara vinna í gegnum vandamál eins og ef þú værir í raun taka það, vegna þess að einn af stærstu hlutum sem við heyrum um the Skyndipróf er að þeir eru mjög lengi. Það er a einhver fjöldi af efni. There ert a einhver fjöldi af spurningum, og flestir mega ekki klára. Ég veit að ég algerlega ekki lokið Skyndipróf ég þegar ég tók á bekknum. Á að huga, sem minna þægilegt kafla, skilja að þetta námskeið er ætlað að koma til móts við fólk á öllum stigum. Allt ástæðan að við höfum þú hættu minna þægilegt, einhvers staðar á milli, og öruggari er að konar gera það meira sanngjarnt. Og ef þú ert minna þægilegt, það er ekki nauðsynlegt í sjálfu að fá allt. Eins og ef þú varst að fá allt, myndir þú sennilega vera í öruggari hluta. Svo augljóslega slá ekki yður sjálfa upp of erfitt ef þú getur ekki klárað prófið. Taktu það frá mér, ég gerði það ekki. Ég er enn útstöð. Ég er enn að hjálpa kenna námskeiðið. Þú munt vera fínn. Allt í lagi. Og loks, fá smá svefn. Vitanlega með hvaða próf við segjum alltaf þetta. Troða kvöldið áður og ekki fá allir sofa gerir not-- kannski ef það virkar fyrir þig, ráðast á það. En fyrir langflest af fólk, fá sumir sofa, láta heila hvíld og batna fyrir komuna í fyrir prófið mun virkilega hjálpa þér. Einnig muntu hlýtur að vera nammi á prófinu, svo þú þarft til að hlakka til. Þú krakkar eru að fara að gera fínt. Það er að fara að vera í lagi. Og nú í næsta tíma og hálfan I mun reyna að prep þér sem best og ég get. Þannig að ég hef Glærur frá grundvallaratriðum allir hlutar allt að núna. Ég ætla ekki að fara að fara í gegnum þeim öllum vegna þess að það er ekki framkvæmanlegt í klukkutíma og hálfan eins og heilbrigður sem vinna í gegnum starf vandamál. Þannig að í stað ég er með lista yfir efni. Þetta eru allt hlutir að við gætum quiz þig á. Ef það er eitthvað sem raunverulega stökk út að þú vilt fara yfir, að þú langar mig til að fara yfir hugtök,, Ég get reynt og gefa þú yfirlit þar. Eða ef þú vilt að stökkva rétt í gera æfa vandamál saman, við getum gert það. Það er allt að ykkur. Það eru ekki það mörg ykkar. Svo það er það sem þú krakkar eins og að gera. Ég vil vera sem mest gagnlegt til ykkur. Svo ég læt þig líta bara. Áhorfendur: Eitt er töfluna að við höldum segja um stafla og hrúga. Bara allt hugmynd á bak sem og hvað það þýðir. ALLISON BUCHHOLTZ-AU: Já, OK. Þetta er alla leið á að endir, svo látið mig fletta í gegnum. Áhorfendur: Við þurfum ekki að gera það núna, en hvað sem er. ALLISON BUCHHOLTZ-AU: Var anything-- þetta einn. Er af þessu tagi loðinn fyrir fólk? Áhorfendur: Já, ég annað að. Og við getum líka gert biðminni flæða? ALLISON BUCHHOLTZ-AU: Buffer flæða? OK. Svo biðminni er flæða nokkuð auðvelt bara að tala um. Það er í grundvallaratriðum minnkar þú hugsa um sumir array minni sem þú ert, ekki satt? Við tölum venjulega um biðminni flæða þegar þú ert ekki að haka hversu mikið notandinn er að koma í, ekki satt? Og hugmyndin er með yfirflæði er þeir eru að koma í langt of mikið af gögnum fyrir rúm að þú hafir úthlutað fyrir þá, ekki satt? Svo ef þú segir, gefa mér einhver skilaboð, erum við miðað við að þeir eru að fara að gefa okkur hæfilegan skilaboð. Kannski nokkrar línur, whatnot. Svo við gerum að athuga ekki. Stað þess að þeir fæða okkur í heila bók sem er a skilaboð og það yfirfullt magn af pláss sem við höfum úthlutað fyrir þetta. Og það sem gerist er að það gæti skrifa stöðum að það er ekki ætlast. Þannig að ég veit Professor Malan sagði eitthvað um biðminni flæða árásum. Svo er það þar sem notandinn verður inntak sumir gegnheill magn af gögnum í von að hann skrifar yfir fortíð enda tilgreindar! og kemur í stað something-- ég velti Ég að við höfum þá skyggnur á hér. Ég held ekki að við höfum þessir renna í hér. En í grundvallaratriðum birtist hann nokkur hluti af minni sem gerir honum aðgang til hluta af tölvunni þinni að þú myndir ekki jafna aðgang að. Biggest hlutur með biðminni flæða er bara að skilja að það gerist þegar þú ert ekki stöðva hversu mikið þinn notandi er að setja inn. Þegar þú ert ekki góður af vernda gegn því. Og á einfaldasta hennar hlutur, það er bara þinn notandi inputting gríðarlegt magn gagna í tilraun yfirskrifa sumir öryggi hluti af minni. Það er allt það er. Þannig að þetta hérna, stafla og hrúga. Grundvallaratriðum er allt þetta er bara framsetning minni og þar sem hlutirnir eru geymdar. Það er í raun eins konar allt sem þú þarft að vita. Stærstu hlutum sem þú þarft að vita eru that-- láttu mig sjá hvort það er a better-- hér. Þannig að þetta er stafla hér. Svo hefur stafla að gera með allar aðgerðir þínar að þú ert að hringja á hverjum tíma. Og hvað er mikilvægt að muna fara burt síðustu viku með malloc er að þú þarft í raun ekki að hafa nauðsynlegt eftirlit yfir það. Það veltur allt á hvenær ákveðin aðgerðir eru framkvæmd. Og þegar þeir eru að framkvæma, þeir hafa það sem kallast stakkur ramma að fara upp hér. Svo það gerist allskonar án alvöru inntak frá þér. Þú skrifar program, og þú lætur það hlaupa, og stafla konar tekur standa ekki á sig eins og það þarf að. Þannig að ef í helstu þú ætlar að hringja teningur, sem verður samþykkt hér. Það verður að búa til ramma. En það er ekkert sem þú gerir sérstaklega að búa til að stafla ramma annað en skrifa aðgerð til að byrja með, allt í lagi? Hvað er góður af undir þínum eftirlit er hrúga með malloc. Svo þegar þú malloc eitthvað, þú ert að taka minni frá hrúgunni. Og það er minni sem þig hafa fyrir skort á betri orð, skýr stjórn á, vegna muna með malloc það er í rauninni það fyrr en þú segir annars. Fyrir þau ykkar sem horfði kafla í síðustu viku, það er þarna þar til þú segja það að fara í burtu. Það mun vera þar nema annars sagði ekki. Svo er hrúga bara eitthvað þú getur hugsað sem minni að þú hafir stjórn á. Og þeir eru bara tvö mismunandi stór hluti. Annar en þessi, þú ættir ekki að hafa að hafa áhyggjur of mikill óður í stafla og hrúga spurningar eða yfirleitt meira bara Ef þú hafa staðbundin breytur eða fall væri á mánudaginn eða hrúga. Augljóslega í þessu tilfelli það væri stakkur. Ef þú ert að mallocing eitthvað, hvar er að koma frá? Hrúga. Ef þú horfir á Skyndipróf æfa, þá eru yfirleitt gerð spurninga sem þeir hafa. Þú þarft ekki að hafa áhyggjur of mikið um það. Þú færð í fleiri skýrt um stakkur og hrúga síðar eða í öðrum CS flokkum. Svo bara að hafa eins konar almenn hugmynd um hvað þetta er verður gott, sem ég bara svona fór yfir. Öðrum efnisatriðum? Já? Áhorfendur: Getur þú ferð yfir Ábendingum aftur mjög fljótt? ALLISON BUCHHOLTZ-AU: ábendingum? Viltu huglæg Yfirlit af ábendingum eða ertu að æfa með ábendingum? Áhorfendur: góður af eins og setningafræði. ALLISON BUCHHOLTZ-AU: The setningafræði? Já. OK, við erum að fá þar. Já, svo er þetta bara svona eitthvað þegar þú ert með endurkvæma virka, hvert sinn sem endurkvæma virka er heitir, það bætir bara annað stafla ramma. Nánast dæmi um hvernig þú gerir í raun ekki hafa stjórn á rammar á Stakkur þitt. OK, ábendingum. Allt í lagi, svo að búa ábendingum. Mundu að það er bara tegund stjörnu. Svo hvað tegund af gögnum sem þú ert að fara að vera að benda. Þannig að þetta væri bendi heiltala. Þetta væri bendi char. Þetta væri bendi flotholt. Svo það er í rauninni hvað þú vilt það til að vera að benda á, stjörnu er hvernig þú lýsa bendilinn, OK? En þá fær augljóslega smá erfiður þegar þú ert bendi eða þú ert stjörnu hvað. Svo er stór munur þegar þú ert að declaring-- þannig að við höfum some-- svo þetta tekur smá int stjörnu. Svo er þetta einhver bendi kallar x heiltala, ekki satt? Svo muna hvað þetta gerir er þetta kallar System x. Og þetta er að fara að hafa sumir heimilisfang, ekki satt? Svo við skulum bara segja þetta er netfangið okkar. Ábendingum halda viðtakandi. Svo er það þetta segir að á þessum staðsetning, við erum að geyma við int. Svo önnur leið sem við getum hugsað þetta er að þetta er einhver INT. Við höfum í raun ekki úthlutað það til neitt ennþá, en það er bara int. Þannig að við getum gert er að ef við stjörnu X jafngildir 5, þetta verður 5., OK? Þetta segir fara til hvað x er bendir á, svo fara á þetta netfang og gera það jafnt og 5. Þannig að við úthluta 5 á þetta netfang, ekki satt? Og svo ef þú gerir þetta, þetta gefur okkur veffang. Þetta er heimilisfang rekstraraðila. Svo er það sem heimilisfang x? Við vitum það ekki. Við höfum ekki úthlutað það netfang. Við gætum sagt að það er some-- nú gáfum það heimilisfang, svo er heimilisfangið 4. Og reyndar ef við förum í gegnum eitthvað svona, svona af því sem við gerðum. Svo að vinna í gegnum here-- I finna Það hjálpar ef þú draga út ábendingum. Ef þú ert á prófið þitt, ég mjög mæla teikna kassa. Þannig að þetta fyrsta, int x er 5. Þetta þýðir bara að við höfum sumir setja í minni sem er 5, ekki satt? Og borð okkar hér segir að það er í vistfangi 0x04. Og þá erum við að búa til nokkrar músina. Svo skulum brjóta þetta niður einn í einu. Svo skapar þetta sumir reitinn int, ekki satt? Það er að fara að halda sumir heimilisfang ÞAÐ. Svo er þetta einhver bendi. Og þetta krít er í raun lítill. Þannig að við höfum sumir bendi hér. Og borðið okkar segir okkur það er netfang er 0x08. Cool. Og við erum að framselja það á heimilisfang x. Mundu, ábendingum halda heimilisföng, OK? Þannig að ef við viljum halda X, höfum við að nota heimilisfang rekstraraðila, sem er ampersand, að fá heimilisfangið af X, sem í þessu tilfelli, 0x04. Og svo ef við höfum sumir INT afrita, þetta bara skapar einhverja aðra kassa sem heldur int kallast eintak. Og ef við gefum það að this-- þannig að þetta er tilvísun það. Svá segir fara á hvað heimilisfang músina heldur. Pointer heldur þessu netfangi, svo við myndum fara yfir hérna, og við segjum, OK, hvað er í henni? Það er 5. Svo verður Afrita 5. Skynsamleg? Hvað ef ég reyndi að úthluta þetta bara músina. Hvað gerir músina raun jafnir? Það myndi bara vera hvað sem bendillinn inniheldur, ekki satt? Og svo hvað ef ég gerði þetta? Hvað myndi afrita nú vera? Áhorfendur: 0x08. ALLISON BUCHHOLTZ-AU: Yep, er heimilisfang músina okkar. Einhver hluti af því sem þarf að vera með tilvísun til-útskýrt? Cool. Það er örugglega mjög gaman vandamál á quiz einn að við getum yfir að gefur þér meira starf. Krakkar frá síðustu viku geta segja þér það var ekki svo slæmt. Við fengum í gegnum heilt töfluna og allir gerðu mikil. OK, þannig að það er yfirlit af setningafræði ábendingum. Biggest hlutur er að skilja hvernig að búa þá til, gera tilvísanir, og heimilisfang, OK? Cool. Öðrum efnisatriðum áður við kafa í framkvæmd. Einnig ef við erum að fara í gegnum The æfa vandamál og það er eitthvað sem þú vilt upprifjunar á, getum við gert það líka. Ertu með eitthvað? Áhorfendur: structs og tengd listum. ALLISON BUCHHOLTZ-AU: structs og tengd listum, OK. Svo structs. Við í raun ætlum yfir þessari kvöld líka. OK, svo structs. Structs eru í grundvallaratriðum bara leið fyrir þig til að halda mörg gildi af mismunandi gerðum. Svo með fjölda við erum þrengt að eina gögn gerð. Array okkar hefur annaðhvort bara vera tölur, eða bara vera stafir, eða bara vera flotholt. En kannski þarftu að innihalda meira en það. Kannski þarftu að hold-- ef þú ert að tala um námsmenn, þú ert að fara að hafa húsið sitt, þeirra Kennitala, aldur þeirra, þar sem þeir búa, ekki satt? Og allir þeir eru mismunandi tegundir af gerðum. Svo þú getur ekki geymt þeim öllum í fylki. Svo hvað þú getur gert er að getur búið til strúktúr sem þú getur hugsað sem þinn eigin persónulega gögn tegund. Svo í stað þess bara að hafa ints og í stað þess bara að hafa fljóta, þú getur haft tegund nemandi sem hefur öllum þessum sviðum í það. Þannig að hvernig við frumstilla structs okkar is-- raun þar skrifa mitt er hræðilegt, við eru að fara að umskipti til vélritun. Woo. OK, þannig að ef við viljum búa til struct-- Ég ætla bara að fara að henni niður hér. Hundsað í helstu hvað sem við munum nota síðar. Þannig að hvernig þú vilt gera það er með typedef strúktúrinn. Og við skulum kalla bara þessa nemanda því það er það sem ég var að nota. OK, svo þýðir typedef þú ert skilgreina ný tegund, OK? There ert blæbrigði í þegar þú gerir bara strúktúr móti a typedef strúktúrinn. Fyrir alla intents og tilgangi, þú krakkar eru bara fara að gera ráð þeir eru um það bil sú sama og bara nota typedef strúktúrinn fyrir nú. Það munt verða vegur meira áberandi í þínum næsta P sett hvað þessi mismunur er, en ég held ekki að þú þarft að hafa áhyggjur af því núna. Ég myndi miklu frekar að þú vita hvernig á að búa einn, opna það, og framselja [? gildi. ?] Ný tegund af strúktúr, og við erum að kalla það nemandi. Svo eftir að við erum búinn að búa til þetta, fyrir alla intents og tilgangi, þú verður að hafa tegund sem heitir nemandi. Og er hægt að hugsa um það bara sem gerð eins og við int, eða flotholt, eða char. Það er bara önnur tegund, OK? Svo í þessu einn, hvað höfum við? Við höfum kannski nafn. Svo kannski við viljum String nafn. Og við höfum kannski við int sem er að ID. Og við höfum annað í það er símanúmer. Og við höfum some-- skulum sjá. Hvað annað gætum við hafa? Við munum hafa sumir band í húsi hans. Allt hlutir sem nemandi hefur. Svo skapar þetta að strúktúr núna. Svo hvernig gætum við búið til nemandi? Ef við höfum einhverja breytu sem er að fara að tala um Walker hér, svo við have-- við erum bara fara að kalla þetta Walker. Hann þarf gerð. Hvað er tegund? Áhorfendur: Student. ALLISON BUCHHOLTZ-AU: Student. Þannig að þetta skapar bara hlut sem þú getur hugsa um að hefur alla þessa hluti. Þú stofnaðir bara göngugrind nemandi. Svo nú þurfum við að vera fær um að úthluta öllum þessum, ekki satt? Svo er einhver man hvernig við aðgang innan strúktúrinn? Áhorfendur: Tímabil. ALLISON BUCHHOLTZ-AU: Tímabil Einmitt. Þannig að ef við vildum að úthluta honum nafn, gætum við gert það. Vitanlega þetta myndi be-- þessa hluti hér væri vera innan helstu, svo reyndar láta mig gera þetta. Kunngjörið þetta ofan helstu svo að við getum notað það innan helstu. Svo nú vil ég að hún geri ID, og við verðum bara að gera sumir þarna, og þá munum við úthluta hús. Bam. Cool. Svo nú ættum við þurfum alltaf að fá aðgang nokkuð seinna on-- kannski we-- ef við þurfum alltaf að fá aðgang neitt, skulum gera bara int afrita skilríki. Og ég vil afrita ID Walkers inn í þetta. Hvernig gæti ég gert það? Þú þarft að fá aðgang innan Walker struct til [? fara að því?] [? E?]. Og á sama hátt og vér úthlutað það upp hér, hvernig gætum við nálgast það þegar við viljum gefa það gildi eitthvað annað? Áhorfendur: Walker.id. ALLISON BUCHHOLTZ-AU: Já, einmitt. Svo er það nánast alla þú þarft að vita fyrir structs. Þú þarft bara að hugsa um þá sem annar breytu. Grundvallaratriðum a búið til þinn eigin breytilegum tegund, OK? Þú notar það til að lýsa því yfir breytur í nokkurn hátt. Hér er Walker enn breytilegt. Það hefur bara tegund nemandi núna staðinn tegundarvottorðs int, eða gerð band, eða gerð bleikju. Ef það var auðveld leið til að tala um structs er það bókstaflega bara búa til eigin gögn tegund sem gerir þér kleift að hópur öllum þessum mismunandi konar gögn saman. Er það er vit? OK. Það og aðgangur með punktum. Nánast allt sem þú þarft. OK, hvar did PowerPoint minn fara? Hér er það. Jæja þetta er skrýtið. Aha. OK, flott. Allar aðrar hlutir eða gera við langar að fara að æfa? Æfa? OK. Ógnvekjandi. Ég ætla að hætta þessu. Ef á hverjum stað meðan æfa spurningar, Ég er fús til að hressa upp á og fara í gegnum hluti. Þannig að ég hef quiz núll upp hér. Ef þú krakkar vilja til að draga það upp á tölvunni þinni, bara eins taka fimm mínútur að fletta í gegnum. Kannski velja sumir efst spurningar sem þú vilt fara yfir. Ef þú krakkar geta ekki ákveðið, við verðum bara hægt að byrja að vinna í gegnum þá, en ég er viss um að það eru að fara að vera einhver spurningar sem þú ert sérstaklega fús til að tala um og hafa mig vinna með yður öllum. Svo bara fara á undan og taka fimm mínútur. Fletta í gegnum. Og þetta er quiz frá 2013. Áhorfendur: Zero? ALLISON BUCHHOLTZ-AU: Já, quiz núll. Við erum ekki að gera quiz einn efni. Við munum gera það í nokkra vikur. Einnig fyrir þá sem kom seint, höfum við sælgæti, svo þú krakkar vilja nammi? Áhorfendur: Jú. ALLISON BUCHHOLTZ-AU: Ég er bara að fara að fara í kring. Hey, ef þú krakkar fá hér snemma, þú færð meiri sælgæti. Það er allt í lagi. Ben, viltu nammi? Þú vilt sum þeirra? Það er líka Snickers ef einhver vill Snickers. Ég leyfi þeim hér og hér. Feel frjáls. Viltu lengur? Áhorfendur: Allt sett. Þakka þér. ALLISON BUCHHOLTZ-AU: Og ég átti ágætur lítið stafli þar í upphafi. Þú krakkar fá að taka prófið og Ég fæ að hafa quiz einkunnagjafar aðila. Það er ringulreið. 900 prófum. Það er að fara að vera svo mikið gaman. Að fara að vera mikill. Ég er nokkuð viss um það er ein af stærstu starfsfólk skuldabréf nætur ársins. Hefur einhver gert quiz núll frá á síðasta ári enn út af forvitni? Áhorfendur: Hlutar af henni. ALLISON BUCHHOLTZ-AU: Hlutar þess, OK. Vissir þú hefur spurningar um eitthvað af þeim? Áhorfendur: ég þegar fór til skrifstofutíma. Þakka þér þó. ALLISON BUCHHOLTZ-AU: Jæja, vonandi það er samt eins konar gagnlegt. Hvenær fóruð þér að Viðtalstímar fyrir það? Áhorfendur: TF minn hafði þeim í dag. ALLISON BUCHHOLTZ-AU: Oh. Hver er TF þinn? Áhorfendur: Fred [? Wujaya?]. ALLISON BUCHHOLTZ-AU: Það eru svo margir TFS. Svo margir. Allt í lagi. Einhver hafa allir að byrja að ég get hripa niður að við viljum vinna? Ég geri ráð fyrir ábendingum einn við borðið. Að fara í það. Áhorfendur: Kannski skipta einn. ALLISON BUCHHOLTZ-AU: Svo númer 12? Ég geri ráð fyrir númer 8 og 9 eru líklega Sjálfur fólk vill fara yfir. Áhorfendur: Og 10 og 11. ZAMYLA chan: Og þú krakkar vita þú færð eina síðu seðla, ekki satt? Áhorfendur: Já, svo hvað eru við leyft að setja á það. ALLISON BUCHHOLTZ-AU: Þú ert að leyfa að setja allt sem þú vilt. Og það er hægt að slá. Eins langt og ég man, voru okkar tegund. Áhorfendur: Þú getur gert baka og báðir aðilar? ALLISON BUCHHOLTZ-AU: Já, báðir aðilar. Svo eitthvað eins hrúgunni og [? bak endir?] hrúga, keyra þinn sinnum. Gagnlegur. Kannski litlu um ábendingar til að minna þig. Setningafræði fyrir hluti. Hafa bara eins og beinagrind program geta vera frábær gagnlegt. Ég veit að ég gleymdi alltaf nákvæmlega hvað Ég átti að skrifa fyrir int MAIN, vegna þess að ég alltaf bara afrita líma frá fyrri P setja mitt eða það er þar nú þegar, svo Ég hef aldrei raunverulega skrifaði það, svo að hafa það getur verið frábær gagnlegt. OK, svo hvers vegna ekki við byrja með númer 8 þá? Allt í lagi. OK. Svo íhuga forritið hér fyrir neðan. Svo augljóslega þegar við sjáum ábendingum, það er sennilega góð hugmynd að byrja að teikna, ekki satt? Mig langar að vita hvar allir minn stór stykki af Kalksteinn fór. Þetta er góður af pirrandi. Þannig að við höfum hér nokkur skipti virka það er að fara að taka í tveimur ábendingum. Þannig að í þessu tilfelli, þeir ætti í raun að vera að skipta hlutir móti upprunalegu skipti okkar virka sem aðeins tók í eintökum. Svo hvað það er að fara að gera is-- skulum byrja með helstu, því það er þar sem 1 er. Þannig að við höfum sumir INT x 1. Við höfum sumir y sem er jafnt og 2. Og þá höfum við nokkur skipti það er að fara að taka þá. Og við skulum sjá hvað við höfum hér. Og í table-- okkar ó drengur. Hvernig er ég að fara að gera þetta? Ég ætla að draga mitt borð hérna. Varla gerir það þar. Varla gerir það. 1, 2, 3, 4, 5, 6, 7. Og þeir gefa okkur að 1 er 1, og 1 2. Cool. Ógnvekjandi. Svo 3. Og það er [? a 1.?] Allt í lagi. Og þá er heimilisfang x 0x123. Og y er Ox127. Cool. Allt í lagi. Ég vil að þú krakkar að vinna á þessu fyrir bara like-- vinnu við það við fólk í kringum þig. Ég vildi að ég hefði sagt að meðan ég var að setja upp. Vinna á það. Reyna að vinna á það með því að yður í nokkra mínútur, og þá mun ég vinna á það með þér. Vegna þess að eina leiðin sem þú ert virkilega fara að læra er með því að gera það sjálfur. Engar áhyggjur. Gangi þér vel. OK, af hverju er það ekki hægt byrja að vinna í gegnum þetta. Svo fær allir eftir línu einn, x er 1. Eftir mörkin tvö, x og y eru 1 og 2, í lagi? Cool. Svo er lína þrjú þar sem hlutirnir fá áhugavert auðvitað. Svo það sem við höfum gert hér er að við höfum nú skipti. Við segja að X og Y hafa þau atriði, eða þeir hafa vistfang x og y, ekki satt? Þannig að í þessu tilfelli, þrír, hvað er gildi a? a hafði verið samþykkt í, hefur verið gefið verðmæti heimilisfang x, ekki satt? Áhorfendur: 1? ALLISON BUCHHOLTZ-AU: Svo við bætum það á x? Hvað er heimilisfang X er? Áhorfendur: 0x123. ALLISON BUCHHOLTZ-AU: Einmitt. En hvað er í raun að benda á? Ef við værum að dereference a, Hvaða gildi myndi það gefa okkur. Áhorfendur: 1. ALLISON BUCHHOLTZ-AU: Það myndi gefa okkur 1, vegna þess að það við erum að segja er að fara að þessu heimilisfang, segja okkur hvaða gildi er. Svo það væri verið B? Áhorfendur: 0x127. ALLISON BUCHHOLTZ-AU: Einmitt. Svo er það heimilisfang y. Og hvað [þá? dereference? ?] Áhorfendur: 2. ALLISON BUCHHOLTZ-AU: OK, svo nú fjórir. Við sagði er equal-- vel núna erum við gert INT afleysingamanneskja er jafn stjarnan a. Svo breytist það? Það er aðeins eitt að breytingar hér. Hvað er það? Áhorfendur: Temp. ALLISON BUCHHOLTZ-AU: The afleysingamanneskja. Þannig að við getum umrita öllum. Góð stefna um þessar er bara vangaveltur út Hvaða breytingar, því að oftast það er bara eitt sem er fara að breyta á hverjum tímapunkti, OK? Þannig að við höfum úthlutað afleysingamanneskja. Nú næsta lið okkar, fimm, við hafa gert stjörnu a jafn star b. Svo breytist það núna? Áhorfendur: Stjörnumerkja a. ALLISON BUCHHOLTZ-AU: stjörnumerkja, svo allt annað er óbreytt. Og hvað þýðir stjörnumerkja jafnir? Áhorfendur: 2. ALLISON BUCHHOLTZ-AU: 2. Lovely. Ógnvekjandi. OK, og þá nú höfum við byrja b er jafnt og hitastig. Svo það eina breytast er stjarna b. Allt annað er óbreytt. Og hvað er stjörnu b jafnt núna? Og þú hefur lokið við borðið. Vegna þess að nú í lok, ef við segjum x og y, vitum við að á þessum point-- Vér vitum, að þegar við breytt star a 2, hvað það gerði er sagt í lagi, á takast 0x123 hér, breyta því. Nú þetta var 2. Og svo á þessum tímapunkti, við sögðum OK, fara að stjörnu B. Svo fara á heimilisfang í 0x127 og gera það a 1. Svo nú á enda þegar við aftur í raun fyrir helstu, við höfum í raun að x er jafnt og 2 og Y er jafn og 1. Allir góður við það? OK, flott. Númer 9. Þú krakkar vinna á þessu. Ég ætla að setja upp borð svo við getum draga í gegnum það. Það verður að vera sprengja. Stóri töflur geta verið virkilega ógnvekjandi, ég veit. En ef þú tekur bara þeim eina röð á tími, þeir fá mikið minna ógnvekjandi. Allt í lagi. Svo þú veist að þetta mun hafa farið í gegnum helstu fyrst, ekki satt? Initializes x og y og þá reynir að skipta á þeim. Svo er jafnvel skipti ofan, alvöru leið henni fer er að við erum að fara í gegnum helstu, og þá er það starf upp að skipta, allt í lagi? Svo allir vita það. Svo hver einn gera þú krakkar vilja til að byrja með? Er einhver viss um einn af þessum? Eða jafnvel að hluta viss? Hvers vegna eigum við ekki að byrja á X? Hvað eigum við held x? Áhorfendur: 1. ALLISON BUCHHOLTZ-AU: 1. Svo þá er ástæðan 2. Og það er vegna þess að stór greinarmun hér er að við erum aðeins brottför eintök í, ekki satt? Við erum ekki að farið með tilvísun. Svo jafnvel í lok þetta forrit x og y hafa dvalið á sama, því þeir eru bara eintök í skiptasamnings virka. Þeir gera í raun ekki breytast, ekki satt? Svo hvað um a, b, og temp? Áhorfendur: a er b. ALLISON BUCHHOLTZ-AU: a er b. Svo í þessu tilfelli, a var x, sem er 1, rétt? Svo hér, skulum ganga í gegnum það. Svo í byrjun, A og b eru 1 og 2 og óskilgreindur. Svo upphaflega fær afleysingamanneskja úthlutað til a, svo hitastig er 1. a er jöfn og B, þannig að við fá 2, og b er jafnt og hitastig. Nú fáum við 1. Áhorfendur: Í fyrri einn það skipst merkið x og ampersand y. Hvað nákvæmlega er það? ALLISON BUCHHOLTZ-AU: Svo þýðir að að þú ert liggur með tilvísun. Svo það þýðir að þú ert í raun og veru brottför í heimilisföng þar X og Y eru geymd. Áhorfendur: En þú ert ekki skipta á netfangið. ALLISON BUCHHOLTZ-AU: Þú ert ekki skipta heimilisföng. Þú ert að skipta hvað er innan þeirra. Eins og það er á þeim tölu, og það er hvers vegna það virkar. Móti í þessari áætlun hér hvað þú ert að gera er að þú ert að búa eintök. Svo þú hefur x og y sem eru fyrir hendi sem eigin breytur þeirra út hér. En þá þegar þú fara þá skiptasamninga, það er eins og ef þú ert að búa til þetta allt annað sett. Svo þú ert aldrei raunverulega snerta x og y. Áhorfendur: Ef ampersand x er það sem er í veffang x, hvað væri star x vera? ALLISON BUCHHOLTZ-AU: merkið X er það sem er á veffang x, þá star-- vel, í þessu tilfelli, x er ekki a bendi. Áhorfendur: Oh, OK. Svo þú gerir bara þetta því það er ekki a bendi. ALLISON BUCHHOLTZ-AU: Hægri. Þú getur aðeins gert stjörnu eitthvað sem er bendi. Kannski þú gætir gert það að því sem eru ekki, en safna saman sem þér gera það brjálaður hlutir myndu gerast. Og ég er ekki nákvæmlega viss hvað myndi gerast. Þú getur alltaf tekið heimilisfang eitthvað, en þú getur ekki dereference eitthvað sem er ekki músina. Ef það er vit, það er góður greinarmunur að hafa. Svo ekki of slæmt, ekki satt? Borðin eru vonandi fá örlítið minna ógnvekjandi. Allt í lagi. Ah, gaman sjálfur. Svo nú, skrifa eigin kóðann þinn. Þannig að ég ætla að láta ykkur vinna á þetta fyrir um fjórum mínútum, og þá getum við talað um leiðir til að nálgast það. Feel frjáls til að tala við fólk í kringum þig. Einnig er þetta áhugavert. Það er eins og allar stelpur kafla núna. Pretty spennandi. Nema fyrir Chang. En Chang er í raun ekki hluti af kafla. Ógnvekjandi. Perfect. Þannig að ég mun gefa þér nokkrar vísbendingar. Þegar um er að ræða þar sem þú hefur fleiri en einn staf, þar þú hefur eitthvað annað eins 123 eða 1000 eitthvað, þú þarft að vera fær um að lykkja gegnum og umbreyta hvert þeirra. Þannig að það er a par leiðir sem þú gætir gert það, en þú ert örugglega að fara að hafa a for lykkju einhversstaðar þarna að lykkja gegnum þá, sem er góður af eins og uppljóstrun með jafnvel ef þú kallar strlen, sem er góður af eins ó kannski þú vilt nota lengd á band á einhvern hátt. Allt í lagi. Svo hvaða gera þú krakkar hugsa gæti verið einn af the fyrstur hlutur sem við viljum gera? There er a par tilvikum hér við þurfum að gera grein fyrir, ekki satt? Annaðhvort höfum við eitthvað sem er null. Hvað höfum við? Mál. Null. Við höfum mál sem hann hefur eitthvað annað en 09, ekki satt? Svo skulum segja að það hafi bréf. Eða höfum við málið sem er í gildi. Þremur málum að hugsa um. Svo hver einn gera heldur að þú gætir verið auðveldasta einn að gæta fyrst? Áhorfendur: Null. ALLISON BUCHHOLTZ-AU: Málið er núll. Svo hvað myndum við gera þar? Áhorfendur: [inaudible]. ALLISON BUCHHOLTZ-AU: Já. Og hvað sem ég vil gera? Áhorfendur: Return 0. ALLISON BUCHHOLTZ-AU: Einmitt. Ógnvekjandi. OK. Svo nú raunin að það hefur bréf og málið að það er í gildi. Við getum í raun að gæta þetta innan eins lykkju, OK? Svo ein leið til að gera it-- hvað gæti verið einföld leið til að athuga hvort það er í gildi. Við myndum þurfa að fara í gegnum hvert bréf og gera hvað? Áhorfendur: Athugaðu hvort það er in-- ALLISON BUCHHOLTZ-AU: Hægri, getur þú athugað ef það er á milli 0 og 9, ekki satt? Og þá er að ræða að það er í gildi, við erum að fara að enda iterating gegnum band okkar engu að síður, ekki satt? Svo hvers vegna eigum við ekki að reyna að sameina þær í eina. Við erum að fara að iterate gegnum streng út, og eins og við gera það, við erum að fara að fyrst gera a stöðva til að sjá hvort þessi bréf eða ef að eðli er í gildi. Ef það er, við erum að fara að framkvæma aðgerð sem við þurfum að breyta þessu. Annars verður það aftur 0, ekki satt? Svo áður en við gerum það, við sennilega vilja sumir breytu að við getum aftur í lok það er að fara að vera raunverulegur gildi okkar. Þannig að við erum að fara að frumstilla eitthvert gildi að vera 0. Og það er bara hvernig við byrjum. Þannig að ég ætla að fara að losna við þetta. Svo hvernig eigum við að fara að iterate gegnum þetta band. Áhorfendur: Fyrir lykkja. ALLISON BUCHHOLTZ-AU: A for lykkju. Svo er það fyrir okkar? Áhorfendur: Ég er 0. ALLISON BUCHHOLTZ-AU: Mm-HM. Og hvað erum við iterating fyrr? Áhorfendur: STR lengd s. ALLISON BUCHHOLTZ-AU: OK, nú man það er betri leið. [Inaudible]. Áhorfendur: Já, við getum gert n jafngildir. ALLISON BUCHHOLTZ-AU: Einmitt. Áhorfendur: i er minna en n. ALLISON BUCHHOLTZ-AU: Og hvers vegna myndum við vilja gera það? Manstu ástæðan? Áhorfendur: Við verðum að endurreikna það. ALLISON BUCHHOLTZ-AU: Becasue þennan hátt sem þú bara að reikna strlen einu sinni. Ef þú gerir i er minna en strlen s, sem þýðir að það recalculates lengd í hvert skipti þú keyrir fyrir lykkju, sem er ekki a gríðarstór kostnaður orku, en það er betri æfa að reyna og gera hluti eins og að einu sinni. Nema kannski þú hafa a brjálaður streng sem er að breytast á hverjum endurtekning. En ef það er að dvelja á sama, vista það. Allt í lagi. Og þá ég plús plús. Ógnvekjandi. Við erum á leið okkar. Áhorfendur: Really fljótt. Fyrst, svo skulum segja að við séum bara gerði ég minna en strlen af ​​s, eru þeir flokka okkur á hönnun yfirleitt eða bara misskilning? Þeir eru ekki. Við erum að flokka á misskilning fyrir Skyndipróf eins langt og ég veit. Ég get ekki gert upp á fullt á ábyrgð, en að mestu leyti, Mikill meirihluti er nákvæmni, því þú ert undir mikið af tíma þvingun. Hönnun þýðir venjulega þú hefur tíma til að hugsa um glæsileika þinn ástand. OK, þannig að við erum að iterating gegnum. Þannig að við þurfum að annaðhvort athugaðu sjá hvort þetta eðli er gild eða ef við getum gert okkar eðlilegt [? a til i?] virka. Við getum áhyggjur um hvað sem er í annað. Svo hvers vegna eigum við ekki take-- Ef einhver er að hugsa um leið að athuga sjá hvort þetta sé rétt. Við vitum að það er að fara að vera sumir ef ástand, ekki satt? Og muna að þetta er ASCII, svo hvernig gæti við sjáum hvort það er ekki 0,1, 2, 3, 4, 5, 6, 7, 8, eða 9. Áhorfendur: Ef alfa. ALLISON BUCHHOLTZ-AU: Svo ef alfa myndi aðeins að láta okkur vita ef það er a bréf. Og ef þeir gefa okkur tákn, það er samt ekki alveg að fara að athuga. Þannig að ef þú draga upp ASCII þína borð, vitum við að 0 til 9 eru í einum flokki. Segðu mér tölurnar sem þeir samsvara ef mögulegt er. Áhorfendur: 40. ALLISON BUCHHOLTZ-AU: Svo er á bilinu eins 40-- Áhorfendur: Kannski. 48-57. Ég er ekki viss. ALLISON BUCHHOLTZ-AU: 40-57? Áhorfendur: 48, held ég. ALLISON BUCHHOLTZ-AU: 48-57. Þannig að við vitum að þeir ASCII symbols-- ef ASCII gildi er ekki milli 48 og 57, það er ekki í gildi, ekki satt? Svo gætum við notað það til að kostur okkar hugsanlega? Hvernig eigum við að fara að fá þetta bréf, fyrst burt? Hvernig eigum við að fá aðgang að til þetta eðli? Áhorfendur: s krappi i. ALLISON BUCHHOLTZ-AU: Mm-HM. Þar sem við getum hugsað um strengir sem fylki, muna. Svo hvað viljum við segja? Við viljum að segja ef þetta is-- Ég skal gefa þér vísbendingu. Það er minna en. Hvað á að þér finnst það þarf að vera minna en? Áhorfendur: 57? ALLISON BUCHHOLTZ-AU: 47, ekki satt? En það táknar einnig að eins og þú a 0 í einum [? beinunum?], því það er eðli 0. Þú gætir líka sett 47. Having ASCII töflunni, sem þú sérð, er bara eitthvað þú ættir að hafa á quiz blaðsins. Þannig að ef þetta er raunin, ef það er a minna en 0-- ekki endilega og. Það er bara annað hvort að fara að vera minna en eða meiri en 9. Svo getur þú fyllt út þetta síðasta fyrir mig? Svo eða s i er hvað, Rhea? Áhorfendur: Meira en 9. ALLISON BUCHHOLTZ-AU: There. Er að gera skilningarvit til allir, hvernig við komum þangað? Þessi vandamál, þá eru þeir eins og einu sinni þú sjá lausnir, það er eins ó, OK. Og þetta er ástæðan fyrir starf mun hjálpa þér. OK, svo við aftur 0. Lovely. Allt í lagi. Annars hvað viljum við gera? Þetta er áhugavert hluti þar sem það er lítið meira eins stærðfræði móti CS að mínu mati. Hjartarskinn einhver hafa hugmynd um hvernig við gætum gert þetta? Svo er mikilvægt að grein fyrir er fyrsta staf við erum að taka er að fara til vera hæsta röð stafa, ekki satt? Þannig að ef við erum að horfa á að umbreyta 123, í fyrsta skipti sem við iterate er að fara að vera 1, en við þurfum að til þess að vera 100 í lok, ekki satt? Svo eitt sem þú getur gert er að af síðari tölustaf þú tekur, þú margfaldar gildi þitt um 10, þannig að með þeim tíma sem þú nærð í lok, allt hefur verið færst upp, ekki satt? Svo í fyrsta skipti sem þú keyrir það, hefur þú 1 sem gildi. Annað skipti sem þú keyrir það, þú margfalda gildi þitt um 10. Það mun uppfæra hana þannig að það er nú 10, og þú bætir á næsta gildi. Og þá þú margfalda það með 10 og bæta við á næstu gildi. Og þetta er hvers vegna þeir segja að þetta er miklu meira eins próf stærðfræði reiknirit móti CS, en ég út fyrir efnið. Ég skrifa ekki Skyndipróf. Svo einn hlutur sem við getum gert er að við segja gildi sinnum jafngildir 10. Þannig að þetta er að fara að skipta stafa þinn einu í hvert skipti. Og þá viljum við bara að bæta við. Við viljum bæta við í hvaða við fengum bara, ekki satt? Svo hvernig gera við breyta raunverulega okkar ASCII staf í númerið að það stendur? Þannig að við vitum að 0 er jafnt 47, ekki satt? Þannig að ef 0 er 47, hvað vildi að við þurfum að gera til að það að raunverulega gera það int af 0? Áhorfendur: Það er 48. ALLISON BUCHHOLTZ-AU: 48? Sorry. Við myndum draga 48, ekki satt? Muna ASCII stærðfræði? Við getum meðhöndla þá bara eins og venjulega tölur. Ef þú meðhöndla þá eins tölur, þeir verða tölur á áhrifaríkan hátt. Þannig að ef við höfum s af I, sem við skulum segja í þessu tilfelli er jafnt og 0. Svo s i í þessu tilfelli yrði ASCII-- ASCII INT fyrir það væri 47. Svo við gætum subtract-- eða 48. Þú gætir gert það, er ein leið. Hefur einhver veit betri vegur við gætum gert 48? Við sögðum bara 0 is-- fara inn ASCII þú gætir gert vitna 0. Svo er það góður af gera vit hvernig þetta virkar? Áhorfendur: Á þessum tímapunkti, er gildi 0 því jafnvel ef þú margfaldar það með 10, þú ert að byrja út með núlli, svo ætti að vera kveikt? ALLISON BUCHHOLTZ-AU: Svo í þessu tilfelli, þú vilja að margfalda það áður en þú bæta við, vegna þess að í þessu tilfelli, já, myndi það enn be-- bendillinn minn vantar. The gildi í þessu tilfelli, í fyrsta skipti sem við hlaupa það verður núll. Svo þú ert bara að bæta á þeim fyrsta tölustaf. Hvað er mikilvægt er næst þú iterate, þú vilt að skipta það upp áður en þú bæta næsta tölustaf á. Er að skýra fyrir þig? OK. Stundum þú ert að fara að fá undarlegt fleiri mathy hlutum. Ef þú hefðir af þetta, þú ert enn að fara að get-- þú ert að fara að gera nokkuð vel. Algjör trúnaður er mjög stór hlutur á CS50 Skyndipróf. Svo skrifa það sem þú veist. Ef þú got allt nema hér, þú ert enn að fara að gera mjög vel vandamálið. Þar sem þú ert að sýna, OK, ég veit næstum. Ég veit að ég þarf að iterate gegnum. Ég veit hvað ég þarf að athuga. Ég bara ekki alveg fá að umbreyta það. Þú ert að fara að vera í lagi. Já, þú ert að fara að missa nokkra stig, en þú ert enn að fara að fá a góður fjöldi punkta fyrir eitthvað eins og að ef þú ert vantar þessar tvær línur. Ég væri eins lagi, þessi manneskja veit hvað þeir eru að gera. Stærðfræði er harður. Þannig að ég myndi segja að þú vilt vera fínn. OK, svo þú krakkar tilbúinn til reyna strlen með ábendingum núna að þú krakkar eru Pointer herrum? Svo ég læt ykkur vinna um það fyrir a lítill hluti. Ef einhver þarf að rifja upp. Svo þú vilt að nota músina stærðfræði, og síðan ef s er núll, framkvæmd ætti aftur 0. Hluti eins og þetta sem gera þér mjög ánægður að bara hringja strlen í lok dags. Ég held að þetta gæti verið svolítið auðveldara en það síðasta, sem er gott. Ég skal gefa ykkur aðra mínútu, og þá munum við vinna með það. Og þá erum við að fá að fara til rofa. OK, tilbúinn krakkar? Kannski svolítið. Svo ég hef gefið yður ÞINN tveir valkostir, ekki satt? Annaðhvort athuga for null og aftur 0 ef það er, eða í raun reikna lengd. Svo sem vill skrifa athuga for null? Að fara í það. Áhorfendur: Ef sviga s jafngildir jafngildir núll aftur 0. ALLISON BUCHHOLTZ-AU: Lovely. Ég elska þegar helmingur vandamál þitt er bara að haka fyrir null. Ég veit með ykkur síðast viku var ég eins ávísun fyrir null bókstaflega í hvert skipti. OK, so-- Áhorfendur: Ef aftur 0 er aðeins ein lína, þurfum enn hrokkið krappi? ALLISON BUCHHOLTZ-AU: Þú hefur ekki tæknilega þarft þá eins lengi og þú ert samkvæmur. Það er góð regla bara að komast í vana að nota hrokkið axlabönd, en tæknilega ekki. Þú þarft ekki þá fyrir einni línu. Við hafa tilhneigingu bara að mæla með því fyrir fólk að byrja að forrita. Svo nú hvað gæti við viljum gera hér? Svo nú vitum við að strengur okkar er gild. Við viljum halda reikna lengd. Hvað er líklega fyrsta sem við viljum gera? Áhorfendur: Búa til INT sem er lengd. ALLISON BUCHHOLTZ-AU: Einmitt. Áhorfendur: Og við viljum að setja það til? ALLISON BUCHHOLTZ-AU: 0. Perfect. Allt í lagi. Nú hvað viltu gera? Þetta er í raun að meginhluti þess. Að fara í það. Áhorfendur: Svo þú sennilega for lykkju. Og svo þar þegar þú hringja s þú ert fá veffang fyrstu hlutur, þú myndir byrja með Ég er 0. Og þá eins lengi og x Plús ég er ekki aftur rista 0. ALLISON BUCHHOLTZ-AU: The null Terminator. Áhorfendur: The null Terminator. Síðan sem þú bæta við einum til lengd. ALLISON BUCHHOLTZ-AU: Já. OK, svo lætur snúa að í mjög steypu kóða. En það er hið fullkomna hugmynd. Það er einmitt það sem við erum að gera. Við erum að fara að vera iterating gegnum með músina. Svo það sem við viljum gera er í stað þess að int hér, vegna þess að við erum ekki að vísa til þess. Við erum að vísa til the byrjun af a band, sem byrja að vera sumir heimilisfang, ekki satt? Þannig að við viljum bendi. Þannig að við erum að fara að hafa bleikju stjörnuna, því það samsvarar s okkar, ekki satt? Svo er þetta einhver lið sem við erum að virkja til the byrjun af the band, OK? Svo við skulum bara kalla það i. Ef það er the byrjun af the band, hvað er það að fara að vera úthlutað til? Ekki 0. Við viljum það til að vera byrja á band okkar. Hvað táknar upphaf band okkar sem var gefið okkur? Áhorfendur: Bara s. ALLISON BUCHHOLTZ-AU: s. Svo skapar þetta nokkur ný bendi sem táknar upphaf band okkar, OK? Önnur leið til að hugsa um það er eins og hér er array okkar. Það er band okkar, s. Svo skulum segja að þetta er Fyrsta blettur, og þetta er 0x4. 04. Þetta er s okkar, sem hefur þetta netfang. Og við bjuggum bara annað heitir Ég sem bara átt við það sama. Svo þeir eru báðir bara að benda upphaf band okkar. Þetta er bara grafískur framsetning. Svo nú hvað við viljum gera er að við viljum að kunnugt Skilyrði okkar fyrir iterating gegnum band okkar. Nú versla. Got að versla, krakkar. Er við viljum halda uppfæra fyrr við náum núll Terminator, ekki satt? Svo hvað gæti að líta út? Viljum i, eða viljum Star Ég er spurningin? Er null Terminator er netfang eða eitthvað staðsett á heimilisfang? Staðsett á heimilisfang, ekki satt? Þannig að við þurfum dereference hvað er hér, vegna þess að þetta er bara einhver netfang. Til raunverulega fá til the byrjun við þurfum að dereference þetta þannig að við fáum í raun hvað er í þessum fyrsta sæti. Þannig að ef við gerum Star Ég, hvað eigum við ekki vilja það til jafns? Áhorfendur: Back slash? ALLISON BUCHHOLTZ-AU: There. Er að gera skilningarvit til alla? Við þurfum að fara inn í streng okkar og ganga úr skugga um að það er ekki endirinn. Og þá getum við bara uppfært svona. Normal uppfærslu. Svo lengi sem þau eru Met, hvað þurfum við að gera? Áhorfendur: Lengd plús plús. ALLISON BUCHHOLTZ-AU: Mm-HM. Og síðan eftir for lykkju lýkur, hvað viljum við aftur? Áhorfendur: Lengd? ALLISON BUCHHOLTZ-AU: Lengd. Þar sem þú ferð. Vitanlega kjöt af þessu einn er að skilja þetta fyrir lykkju. Þurfa allir fá hvernig sem vann? Ég er fús til að fara yfir það aftur. Áhorfendur: Annað hluti, þannig að Star Ég þar, það er vistfang first-- ALLISON BUCHHOLTZ-AU: Það er ekki heimilisfangið. Það er það sem er á. Áhorfendur: Það er í raun þar. ALLISON BUCHHOLTZ-AU: Það er hvað er í raun og veru þar. Svo er þetta saying-- láta mig gera þetta betur. Svo er þetta 0x04, og ég ætla bara að fara að segja að ég ætla að gera þetta nafn mitt. OK. Já, ég veit að ég hef quiz umsögnum kvöld. Fullt af quiz endurskoðun. Svo skulum segja þetta band er nafn mitt, Allison. Little sóðalegur, en það er þarna. Og s táknar staðsetningu hvar strengurinn byrjar, svo ég ætla að fara að gera þetta real-- þetta er heimilisfang a, þar sem strengurinn byrjar, ekki satt? Svo það sem við gerum hér er að við viljum að nota ábendingum til iterate gegnum. Þannig að við að búa til nokkrar músina, ég, að einnig er jafnt og upphaf the band. Og á hverjum stað, við viljum áfram að fara í gegnum array hér þar til við högg núll Ljúka. Þannig að við viljum alltaf að athuga hvað er við hvern þessara heimilisföng. Svo við dereference i, svo að í fyrsta skipti sem við gerum það sem við segja, OK, hvað er í vistfangi 0x04? Það er a. OK, við erum góð. Vöxtur lengd. Færa á til the næstur einn. Svo i-- man ábendingum hækka um að stærð sem þeir eru að benda á. Svo í þessu tilfelli, þar sem það er a bleikju, munum það að uppfæra einu. Svo nú erum við að fara að horfa á 5, sem þýðir að það er að fara yfir hérna. Svá segir í lagi, fara í 0x05. Hvað er þarna? Það er l. Og það mun halda að gera það þar til það hits þetta einn. Og það segir í lagi, hvað er í hvað netfang er þetta? The null Terminator, OK. Hætta. Og bara aftur lengd. Þar sem þú þarft hvað er í raun á að heimilisfang, ekki heimilisfangið sjálft. Það eru mjög fáir staðir þar þú þarft í raun og veru á netfangið. Flest af þeim tíma þegar þú ert að nota og það er þegar þú ert fyrst framselja bendi eða þegar þú ert að láta hann í annað virka. OK, allir góður þar? Konar? OK. Svo það lítur út eins og við höfum fékk um 12 mínútur eftir, svo við munum fara á kannski síðasta vandamál okkar, og þá er það einhver hugmyndir sem hafa komið upp í millitíðinni getum við fljótt fara yfir það. Svo skipta gír er síðasta vandamál hér, skipta yfirlýsingar. Svo er starf þitt til að umrita þetta þannig að það hegðar sér það sama en ekki nota rofa. Chalky hendur. Svo einhverjar spurningar um þetta burt kylfu? Enginn? OK. Þurfa allir að skilja að ef málið er ekki neitt eftir það, það þýðir að það ætti fylgja næsta skref? Svo ræða 1 og 2 í þessu tilfelli gera nákvæmlega það sama. Stundum benda rugl. Allt í lagi. Einhver hefur einhverjar hugmyndir? Já? Áhorfendur: Svo þú getur bara gera ef yfirlýsingum. ALLISON BUCHHOLTZ-AU: Mm-HM. Svo er það fyrsta okkar? Áhorfendur: Ef n er jafnt jafnt og 1, og 2 línur fyrir eða n jafningja er jafnt og 2, þá prenta lítil. Og þá er hægt að gera annað ef? Eða er hægt að gera bara ef? ALLISON BUCHHOLTZ-AU: Þú getur gert annað ef? Áhorfendur: Myndi það máli ef þú gerir ef? ALLISON BUCHHOLTZ-AU: Svo það gerir. Er anyone-- svo þú vilja fá sama framleiðsla Ef þú notar bara IFS móti ef þú notar annað IFS. Getur þú krakkar hugsa um ástæðu hvers vegna þú might vilja til að nota annað ef á móti fullt af IFS? Hefur að með hagkvæmni. Já? Áhorfendur: Það myndi stöðva allar IFS hvert skipti. ALLISON BUCHHOLTZ-AU: Svo jafnvel þótt hún lenti þessa fyrstu einn, það myndi fara á stöðva annan hvern einn. Svo þú vilt að nota ef annað IFS í málum þar sem aðeins einn af þeim mun alltaf eiga. Svo er gagnkvæmur útilokun hvað við hafa tilhneigingu til að segja. Ef þú ert með fullt af IFS, þýðir það að kannski fleiri en einn af þeim mál, og kannski meira en einn af þeim getur verið satt. Og þú vilt þau bæði að framkvæma ef þeir eru satt. Ef þú vilt aðeins einn af þeim til að vinna í þessum ósamrýmanlegir tilvikum, þú vilt nota annað ef, vegna þess það allt hefur að gera með hagkvæmni. Númerið þitt er bara betra hannað ef það fylgir þessu starfi. Þannig að í þessu tilfelli við munum hafa að annars ef. Og þetta myndi vera? Áhorfendur: n jafngildir jafngildir 3. ALLISON BUCHHOLTZ-AU: Perfect. Print miðil. Og síðan í síðasta okkar tilfelli, hvað höfum við? Annar eða annað ef? Áhorfendur: Else. ALLISON BUCHHOLTZ-AU: Eigum við want-- Þú vilt annars ef því að við höfum áþreifanleg tilvikum. Það er ekki góður af afla öllum. Ef þú had a sjálfgefið í switch-- muna í rofa sem þú getur haft mál, og þá verður þú sjálfgefið. Ef þú had a sjálfgefið, það er góður af annað yfirlýsingu þína þar. En ef það hefur aðeins tilvikum, sem þýðir að þú þarft að athuga til að sjá hvort það er hver þeirra. Svo í þessu tilfelli, það myndi 4 eða 5. Við viljum prenta út. Það er stór. Og þar sem þú ferð. Og það væri program. Þannig að í þessu tilfelli ef við hafði sjálfgefið eitthvað, við myndum hafa annað í hvað sem það vildi okkur til að gera. Svo er að góð greinarmun að vita, til að skilja. Er að hjálpa með rofa fyrir þig? Perfect. Allt í lagi. Við höfum um átta mínútur eftir. Ert þú krakkar hafa allir önnur hár stigi hugtök? Spurningar í almennt? Já? Áhorfendur: Ég hafði spurning um einn af þeim það var um handahófi númer rafall á spurningakeppni núll. ALLISON BUCHHOLTZ-AU: Oh, að einn. Það eitt er annað þar það er meira stærðfræði than-- já. The lausn til that-- jafnvel ég þegar Ég sé það, ég er eins og það er þetta. Áhorfendur: Það var númer 7. ALLISON BUCHHOLTZ-AU: Það er undarlegt að mínu mati. Svo í rauninni þú vilt til að nota drand48, sem mun gefa þér nokkra tala á milli 0 og 1. Og þú vilt nota það svo að þú færð einhvern veginn a-- og það er miklu meira af stærðfræði vandamál mér en ég held að CS vandamál. Leiðin sem þú gerir it-- og Stundum verður bara að vera svona. Aftur, eru þessar tilvikum þar sem það er góður af eins skrifa það sem þú getur og algjör trúnaður. Þannig að ef við viljum aftur, við vitum að við erum fara að nota drand48 á einhvern hátt, ekki satt? Svo hvers vegna eigum við ekki hripa bara niður. Við erum að nota það á einhvern hátt. Leiðin sem þeir hafa þú krakkar nota það er eins og þetta, sem ég mun reyna að útskýra. Svo í rauninni hvað gerist hér er vegna þess að það er á milli 0 og 1, hvað þú ert að gera er að þú ert að margfalda by-- þetta er mjög mikið stærðfræði spurning. Bara fullur fyrirvari, þetta er alveg stærðfræði spurning. Það sem þú ert að gera er vegna þess að 0 og 1 og að vilja það að vera innan Þetta svið, þú í raun reikna út hversu stór svið er, og þá þú mælikvarði grundvallaratriðum það upp, sem er það sem þetta er að gera. b mínus a gefur þér að svið, sem munur á milli þessara talna. Þú getur margfaldað milli 0 og 1, og síðan að bæta a bara þýðir að þinn stigstærð það upp þannig að það er á milli a og b, sem ég vissi ekki alveg eins og þetta vandamál. Eins og ég sagði, þetta quiz er ætlað að ná til fólk sem eru minna þægilegt, einhvers staðar þar á milli, og öruggari. Svo ef þeir gerðu það svo að það var eitthvað að allir á minna þægilegur staður vildi fá, við hefðum allt of margir fólk sindur fullkomin, og öruggari væri leiðindi. Svo þeir hafa alltaf þessir konar heila Teaser spurningum sem er ætlað að vera svolítið erfiðara að taka nokkrar skapandi hugsun. Þegar þú sérð þá, fæ ekki of stumped. Ég myndi örugglega segja flip gegnum prófið fyrst. Glíma við vandamál að þú veist að þú getur, vegna þess að það er engin að nota fastir á vandamál þegar það eru þrír eða fjögur eða fimm á síðunni eftir að þú getur auðveldlega gert. Áhorfendur: Hvers nákvæmlega þú margfalda það með svið? ALLISON BUCHHOLTZ-AU: Þú margfalda svið sem þú know-- það er eins hversu mikið eftir viltu? Svo er hægt að hugsa um, vegna þess að það skilar tölu milli 0 og 1, er hægt að hugsa um það sem hundraðshluti. Svo það er í rauninni að segja ef við höfum línu númer okkar hér, a er hér, og b er hér. Þú ert eins og hversu mikið framhjá er það? Er allt sem við erum að gera. Svo þú ert bara að biðja um að hlutfall af þessu svið, sem er það sem það er að gefa þér. Og þá er bara í rauninni skala það upp með því að bæta a. Það er a stærðfræði heila beitu. Ef það væri einhver mínútu ráð síðast, I myndi segja flettir gegnum spurningar, reikna út hver sjálfur þú veit að eins og, ó ég fékk þetta. Nær örugglega þeir eru að fara að vera spurningar sem þú munt ekki vita eða að þú ert að fara að hafa tíma fyrir, svo högg styrkleika, OK? Þú krakkar eru að fara að mikill. There ert a einhver fjöldi af spurningar fyrir ástæðu, þannig að þú hefur tíma til að konar hafa tækifæri að sýna hvað þú ert virkilega góður á. Svo er það í lagi ef þú ert ekki góður í öllu. Spila til að styrkleikum þínum. Já? Áhorfendur: Þannig að þetta er að fara til aftur eitthvað sem er verið stýfð? Já, það verður, því drand skilar á milli 0 og 1. Það mun skila int, vegna þess að það mun HÃ þegar við bæta eða margfalda með henni. Cool. Eina mínútu í einhverja spurningar síðasta? Þú krakkar eru að fara að gera fínt. Þú ert að fara að vera stórkostlegur. Og jafnvel ef ekki, það mun vera nammi hér í næstu viku. Og ég elska þig. Ég elska ykkur óháð. Allt í lagi, allir, gangi þér vel. Hafa a mikill tími. Þú ert að fara að vera í lagi. Og þú veist hvað? Í tvo daga það er að fara að vera yfir, en ég hafa tvo midterms á fimmtudaginn, svo Á minnstur þú krakkar verður gert. Allt í lagi, ég sjá ykkur í næstu viku.