ALLISON BUCHHOLTZ-AU: Hei, visi. Laipni lūdzam uz sadaļu. Šodien ir tikai būs visu viktorīna pārskatīt savu viktorīnas trešdien. Es ceru, ka visi atceras, ka viņiem ir viktorīna trešdien. Un, ja jums nav, labi, Tagad jums ir atgādināts. Tāpēc trešdiena pārliecinieties, ka Jums parādās klases vai citas naktsmītnes, kā nepieciešams. Jūs, puiši būs awesome. Tas būs liels. Un es esmu gatavojas darīt visu, es varu lai palīdzētu sagatavot jums šodien savu viktorīnas tagad. Un arī gadījumā, ja jūs nezināt, ir protams plašs pārskats sesija šodien 7 pulksten Northwest labs istaba B103. Jūs varat redzēt mani atkal uz Encore kā Es novedīs daļa no šīs pārskatīšanas sesijas arī. Tātad, ja jūs nevarat saņemt pietiekami daudz no manis Tagad, jūs varat nākt atkal šovakar. Labi, tāpēc vispirms lietas pirmās. Tikai daži viktorīna padomi, pirms mēs faktiski nirt, lai atsauksmēm. Tik kā ar jebkuru eksāmenu, praksi noteikti palīdzēs jums out. Ir eksāmeni no pagātnes sešiem vai septiņiem gadiem tur, tā ka ir daudz prakses materiāls jums puiši ir. Un patiesībā, šodien ir patiešām vienkārši būs iet pa jebkādām tēmām ka jūs guys ir jautājumi par to, kā arī kā strādājot prakses problēmas no viktorīnas nulles. Tāpēc es ņemšu uzmest viktorīna nulle No pagājušā gada šeit, un mēs varam strādāt ar jebkādām problēmām ka jūs guys vēlētos. 

Tā praktizē. Jūs gatavojas sākt darīt, ka šodien. Kodu uz papīra. Tātad yeah, ja visi patiešām varētu izkļūt papīrs, tas būs lieliski, jo jūs neesat nāksies savu datoru uz eksāmenu un rakstot no kodu ar rokām bieži vien ir daudz grūtāk nekā jūs varētu gaidīt. Esat pieradis tikai redzot to un ierakstot to, un jums ir jūsu kompilators palīdzēt jums, ja jums ir kļūdas, bet jums nav iegūt, ka uz eksāmenu. Tātad, tas ir patiešām svarīgi, lai reāli varētu rakstīt kodu, un muskuļu atmiņa darīt tas ar roku būs tiešām jums palīdzēt. 

Tātad mēs esam kļūst nedaudz tuvu. Tas ir pirmdiena. Jūsu eksāmens ir trešdien. Bet, ja jums ir laiks, noteikti veikt vienu no eksāmeniem no pēdējā gada vai Gadu pirms saskaņā ar laika ierobežojumiem no pusotru stundu. Vienkārši izsist stundu un pusi no laika, un sēdēt sevi uz leju, un vienkārši strādāt ar problēmām it kā tu būtu patiešām ņemot to, tāpēc, ka viens no lielākajām lietām, ko mēs dzirdam par Viktorīnas, ir tas, ka tie ir ļoti garš. Tas ir daudz materiāla. Ir daudz jautājumu, un lielākā daļa cilvēku nevar pabeigt. Es zinu, ka man pilnīgi nav pabeidzis manas viktorīnas, kad man bija klasi. 

Uz šī piezīme, jo mazāk ērti sadaļa, saprotu, ka šis kurss ir domāts lai rūpētos par cilvēkiem visos līmeņos. Viss iemesls mums ir sadalīt mazāk apmierināti, kaut kur starp, un ērtāk ir veida padarīt to godīgi. Un, ja jums ir tik ērti, tas ir Nav nepieciešams per se, lai saņemtu visu. Piemēram, ja jūs saņemat viss, jūs, iespējams, būt ērtāku nodaļā. Tā acīmredzot nav beat sevi augšu pārāk grūti, ja jūs nevarat pabeigt eksāmenu. Veikt to no manis, es to nedarīju. Es esmu vēl koncentratoru. Es joprojām palīdz mācīt kursu. Jums būs labi. Labi. Un visbeidzot, iegūt dažas miega. Acīmredzot ar jebkuru eksāmenu mēs vienmēr saku. Cramming naktī pirms un nesaņemu nekādus miegu tas not-- varbūt, ja tas strādā priekš jums, iet par to. Bet lielākā daļa cilvēki, iegūt dažas miega, ļaujot jūsu smadzeņu atpūsties un atgūt Pirms nāk eksāmenam būs tiešām jums palīdzēt. Arī tur būs gandrīz protams, konfektes pie eksāmenu, tāpēc jums ir, lai gaidām. Jūs puiši gatavojas darīt lieliski. Tas būs labi. Un tagad nākamajā pusotru stundu I centīšos un ieplūdes jūs kā labi vien varu. 

Tāpēc man ir slaidi no būtībā visas iedaļas līdz šim. Es neesmu gatavojas iet cauri visi no tiem, jo ​​tas nav iespējams kādā pusotru stundu, kā arī kā strādājot ar prakses problēmām. Tā vietā man ir saraksts ar tēmām. Tās ir visas lietas ka mēs varētu viktorīna jums. Ja tur ir kaut kas kas patiešām lec ārā ka jūs vēlaties, lai iet pāri, ka jums gribi iet pa konceptuāli, Es varu mēģināt un dot Jūs pārskats tur. Vai, ja jūs vēlaties, lai pārietu tiesības, lai darot prakses problēmas kopā, mēs varam darīt. Tas ir atkarīgs no jums, puiši. Tur nav, ka daudzi no jums. Tātad, tas ir kāds jums puiši patīk darīt. Es gribu būt pats noderīgi uz jums puiši. Tāpēc Es jums paskatieties. 

Mērķauditorija: Viena lieta ir diagramma, ka mēs turpinām saka par skursteņa un kaudzes. Tikai visa ideja kas un ko tas nozīmē. ALLISON BUCHHOLTZ-AU: Jā, OK. Tas ir veids, kā pie beigas, tāpēc ļaujiet man ritinātu. 

Mērķauditorija: Mums nav darīt tagad, bet vienalga. 

ALLISON BUCHHOLTZ-AU: Bija tur anything-- šo vienu. Vai šāda veida izplūdušas cilvēkiem? Mērķauditorija: Jā, es otro, ka. Un mēs varam arī darīt bufera pārpildes? ALLISON BUCHHOLTZ-AU: Bufera pārpildes? OK. Tātad bufera pārpildes ir diezgan viegli tikai runāt. Tas būtībā buferi jūs domājat par daži masīvs atmiņu, kas jums ir, vai ne? Parasti mēs runājam par bufera pārpildes kad jūs neesat pārbaudīt, cik daudz lietotājs ir liekot, vai ne? Un ideja ir ar bufera pārpildes ir tie ir liekot daudz pārāk daudz dati par telpu ka jūs esat atvēlēts viņiem, vai ne? 

Tātad, ja jūs sakāt, dod man ziņu, mēs esam pieņemot, ka viņi gatavojas sniegt mums saprātīga garuma ziņu. Varbūt pāris līnijas, plauktiņš. Tāpēc mēs nepārbauda. Tā vietā viņi barojas mūs Visa grāmata, kas ir ziņa, un tā plūst pāri summu telpa, ka mēs esam piešķirti to. Un kas notiek, ir tas varētu pārrakstīt vietas, ka tas nav domāts. 

Tāpēc es zinu, profesors Malan teica kaut kas par bufera pārpildes uzbrukumiem. Tātad, tas ir, ja lietotājs ievadi daži milzīga apjoma datu cerības ka viņš pārraksta pagātni beigās jūsu bufera un aizstāj something-- es brīnos Man mums ir šie slaidi šeit. Es nedomāju, ka mums ir šie slaidi šeit. Bet būtībā viņš pārraksta ; daļa no atmiņas kas ļauj viņam piekļūt daļām datora ka tu negribēji parasti ir pieejams. 

Lielākais lieta ar bufera pārpildes ir tikai lai saprastu, ka tā notiek, ja jūs neesat pārbaudītu, cik daudz jūsu lietotājs liekot. Ja jums nav sava veida aizsardzībai pret to. Un savā visvienkāršākajā lieta, tas ir tikai jūsu lietotāja ievadot milzīga apjoma Datu mēģinājumu pārrakstīt zināmu drošību daļa no jūsu atmiņas. Tas ir viss, tas ir. 

Tātad tas šeit, kaudze un kaudze. Būtībā tas viss ir, ir tikai pārstāvība atmiņas un kur lietas tiek glabātas. Tas ir tiešām veida viss, kas jums jāzina. Lielākie lietas, kas jums ir jāzina, ir that-- ļaujiet man redzēt, ja tur better-- šeit. Tātad šis ir kaudze šeit. 

Tāpēc kaudze ir sakars ar visas savas funkcijas ka jūs aicināt jebkurā brīdī. Un, kas ir svarīgi atcerēties iet nost no pagājušajā nedēļā ar malloc ir tas, ka jums nav īsti ir nepieciešamo kontroli pār to. Tas viss ir atkarīgs no tā, kad noteiktu funkcijas izpildes. Un, ja tie ir izpildes, viņi ir tas, ko sauc kaudze rāmji ka iet uz augšu šeit. 

Tātad tas viss veida notiek bez būtisku ieguldījumu no jums. Jūs rakstāt savu programmu, un jūs ļaujiet tai darboties, un kaudze veida aizņem rūpēties par sevi, jo tas ir nepieciešams. Tātad, ja maģistrālei jūs zvanāt kubs, kas tiks nodota šeit. Tas būs izveidot rāmi. Bet tur nekas jūs skaidri darīt lai radītu, ka kaudze rāmi, kas nav rakstīt funkciju, lai sāktu ar, OK? 

Kāda ir sava veida ar jūsu kontrole ir kaudze ar malloc. Tātad, ja jūs malloc kaut ko, Jūs lietojat atmiņas no kaudzes. Un tas ir atmiņa, kas jūs ir, nav labāku vārdu, skaidri kontrole, jo atceros ar malloc tas būtībā tur kamēr jūs sakāt citādi. Attiecībā uz tiem no jums, kas noskatījos sadaļu pagājušajā nedēļā, tas ir tur, kamēr jums pateikt to, lai iet prom. Tas būs tur, ja vien citādi teicis nē. Tāpēc kaudze ir tikai kaut Jūs varat iedomāties, kā atmiņas ka jums ir kontrole pār. Un tie ir tikai divas dažādas lielās lietas. 

Izņemot to, ka jums nav jāuztraucas pārāk daudz par kaudze un kaudze jautājumi vai parasti vairāk vienkārši ja Jums ir vietējās parametrus vai funkcija, tas būtu uz skursteņa vai kaudzes. Protams, šajā gadījumā tas būtu kaudze. Ja jūs kaut ko mallocing, kur tas nāk no? Kaudze. Ja paskatās prakses viktorīnas, tiem parasti veida jautājumi ka tie ir. 

Jums nav jāuztraucas pārāk daudz par to. Jūs nokļūt skaidrāk par kaudze un kaudze vēlāk vai citās CS klasēs. Tik vienkārši, kam veida vispārēju priekšstatu par to, kas tas ir būs labi, ko es tikko veida gāja pāri. Jebkuras citas tēmas? Jā? 

Mērķauditorija: Vai jūs varat iet pāri Norādes atkal tiešām ātri? ALLISON BUCHHOLTZ-AU: Pointers? Vai vēlaties konceptuāla pārskats norādes vai jūs praksē ar norādes? Mērķauditorija: Veida, piemēram, sintakse. ALLISON BUCHHOLTZ-AU: sintakse? Yeah. Labi, mēs esam nonākuši tur. Jā, tā tas ir tikai sava veida kaut ko ja jums ir rekursīvo funkciju, katru reizi, rekursīvs funkcija ir sauc, tas tikai piebilst citu kaudze rāmi. Diezgan daudz piemēru par to, kā jums nav īsti ir kontrole pār rāmji uz jūsu kaudze. 

Labi, norādes. Viss ir labi, tāpēc veidojot norādes. Atcerieties, tas ir vienkārši ierakstiet zvaigzni. Tātad, kāds datu veids, kas jūs esat būs norādot uz. Tas būtu rādītājs uz int. Tas būtu rādītājs, lai palijas. Tas būtu rādītājs, lai peldēt. Tātad tas būtībā ko citu Jūs vēlaties, lai to norādot uz, zvaigzne ir, kā jūs pasludināt rādītāju, OK? 

Bet tad acīmredzot kļūst nedaudz grūts, ja jums ir rādītājs vai arī jums ir zvaigzne neatkarīgi. Tik liela atšķirība ir kad jūs declaring-- tāpēc mums ir tik some-- Tas prasa zināmu int zvaigzni. Tāpēc tas ir daži rādītājs aicina x int, vai ne? Līdz ar to atcerēties, ko tas dara tas prasa sistēmas x. Un tas notiek, lai ir kāda adrese, vai ne? Tātad, pieņemsim tikai teikt, tas ir mūsu adrese. Norādes turēt adreses. Tātad, ko tas saka, ir tas, ka šis vietu, mēs glabāšanai int. 

Tātad vēl viens veids, kā mēs varam iedomāties tas, ka tas ir daži int. Mēs neesam īsti piešķirts to kaut kas vēl, bet tas ir tikai int. Tātad, mēs varam darīt, ir, ja mēs zvaigzne x ir vienāds ar 5, tas kļūst par 5, OK? Tas saka iet uz kāda x ir norādot uz, tā iet uz šo adresi un padarīt to vienāds ar 5. Tātad mēs piešķirt 5 uz šo adresi, vai ne? 

Un tad, ja jūs to izdarītu, Tas dod mums adresi. Tas ir adrese operators. Tātad, kas ir adrese x? Mēs nezinām. Mēs neesam piešķirts to adresi. Mēs varētu teikt, tas ir some-- tagad mēs sniedza tā adrese, tāpēc adrese ir 4. Un, patiesībā, ja mēs ejam cauri kaut ko piemēram, tas, veids, ko mēs darījām. Tātad strādājot here-- es atrodu tas palīdz, ja jūs izņemt norādes. Ja jūs par savu eksāmenu, es ļoti ieteiktu zīmēšanas kastes. 

Tātad šī pirmā, int x vienāds 5. Tas tikai nozīmē, ka mums ir daži vietu atmiņā, kas ir 5, vai ne? Un mūsu galda šeit stāsta ka tas ir pēc adreses 0x04. Un tad mēs radām dažas rādītāju. Tāpēc pieņemsim lauzt šo leju pa vienam. Tātad tas rada dažus kaste ar int, vai ne? Tas gatavojas rīkot kādu adresi no tā. Tāpēc tas ir daži rādītājs. Un tas krīts ir ļoti maza. Tātad mums ir dažas rādītājs šeit. Un mūsu galda stāsta kas ir adrese ir 0x08. Atdzist. Un mēs piešķiršanu to adresi x. 

Atcerieties, norādes turēt adreses, OK? Tātad, ja mēs gribam, lai noturētu x, mēs esam izmantot adrešu operators, kas ir & zīme, lai saņemtu adresi X, kas šajā gadījumā, 0x04. Un tad, ja mums ir daži int kopija, tas tikai rada kādu citu lodziņu, kas ieguvis int sauc kopiju. Un, ja mēs piešķirt tai this-- tāpēc šis ir atsauces to. Tātad tā saka iet, lai kāds adrese rādītājs tur. Pointer tur šo adresi, tāpēc mēs gribētu iet vairāk nekā šeit, un mēs sakām, OK, ko tas nozīmē? Tas ir 5. Tā kopiju kļūst 5. Jēga? 

Ko darīt, ja es centos, lai piešķirtu tas tikai rādītāju. Kāda rādītājs patiesībā vienāds? Tas būtu tikai kāds rādītājs ir, vai ne? Un tad notiks, ja es to izdarīja? Kāds būtu kopija būs tagad? 

AUDITORIJA: 0x08. ALLISON BUCHHOLTZ-AU: Yep, adrese mūsu rādītāju. Kāda daļa no tā, ka vajadzības atkārtoti izskaidrot? Atdzist. Ir noteikti ļoti jautri problēma par viktorīna vienu ka mēs varam vairāk, ka dod jums vairāk praksi. Puiši no pagājušajā nedēļā, var pateiks, tas nebija tik slikti. Mēs saņēmām izmantojot visu diagrammas, un ikviens darīja lieliski. 

Labi, tā ka ir pārskats par sintaksi norādes. Lielākais lieta ir saprast, kā lai radītu tiem, do atsauču, un adrese, OK? Atdzist. Jebkuras citas tēmas pirms mēs nodoties praksē. Arī tad, ja mēs ejam cauri par prakses problēmas un tur ir kaut ko vēlaties atsvaidzināšanas, mēs varam darīt, ka pārāk. Vai jums ir kaut kas? 

Mērķauditorija: statņi un saistīti saraksti. ALLISON BUCHHOLTZ-AU: structs un saistīti saraksti, OK. Tik structs. Mēs tiešām gatavojamies pār šo šovakar too. Labi, tāpēc structs. Structs ir būtībā tikai veids, lai jūs turēt vairākas vērtības dažādu veidu. Tātad ar masīvu mēs esam saspiests uz vienu datu tipu. Mūsu masīvs nu ir vienkārši numuri, vai arī vienkārši simboli, vai vienkārši būt pludiņiem. 

Bet varbūt jums ir nepieciešams, lai satur vairāk nekā. Varbūt jums ir nepieciešams, ja hold-- jūs runājat par studentu, jūs nāksies savu māju, to ID numurs, to vecumu, kurā viņi dzīvo, tiesības? Un visi no tiem ir dažādu veidu veidu. Tātad, jūs nevarat saglabāt tie visi masīvā. 

Tātad, ko jūs varat darīt, ir jums var radīt struct, kurā Jūs varat iedomāties, kā savu personīgā datu tips. Tātad, nevis tikai ar Ints un nevis tikai kam pludiņiem, Jums var būt tipa students, kas ir visi no šiem laukiem tajā. Tātad, kā mēs inicializējas Mūsu structs is-- faktiski jo mans rakstīšanas ir briesmīgi, mēs gatavojas pāriet uz rakstīt. Bildināt. 

Labi, tāpēc, ja mēs vēlamies, lai izveidotu struct-- Es esmu tikai gatavojas to uz leju šeit. Ignorēt galvenais, neatkarīgi ko mēs izmantosim vēlāk. Tātad, kā jūs vēlaties darīt tas ir ar typedef struktūrai. Un pieņemsim tikai nosaukt šo students jo tas, kas man bija, izmantojot. Labi, tāpēc typedef nozīmē, ka jūs esat definējot jaunu tipu, OK? Ir nianses vērā, kad jūs darīt tikai struct pret kādas typedef struktūrai. Attiecībā uz visiem nolūkiem un mērķiem, jūs guys ir tikai gatavojas pieņemt, ka viņi aptuveni tāds pats un vienkārši izmantot typedef struktūrai tagad. Tas būs kļuvis daudz vairāk acīmredzama jūsu Nākamais P noteikts, kādi ir šie atšķirības, bet es nedomāju, ka jums ir nepieciešams, lai jāuztraucas par to, ka tieši tagad. Es daudz drīzāk esat zināt, kā izveidot vienu, piekļūt, un piešķirt [? vērtība. ?] 

Jauna tipa struktūrai, un mēs aicinām to students. Tātad, pēc tam, kad mēs esam darīts radot tas, visiem nolūkiem un, Jums būs ko sauc par studentu. Un jūs varat domāt par to, tāpat kā sava veida piemēram, int, vai peldēt, vai palijas. Tas ir tikai vēl viens veids, OK? 

Tātad šo vienu, kas mums ir? Mums varbūt nosaukums. Tāpēc varbūt mēs vēlamies virknes nosaukumu. Un mums ir varbūt int, kas ir ID. Un mums ir otra tas ir tālruņa numurs. Un mēs esam some-- redzēsim. Kas vēl mums varētu būt? Mums būs dažas virknes pie viņa mājas. Visas lietas, ka students ir. 

Tātad tas rada struct tagad. Tātad, kā mēs varētu radīt students? Ja mums ir dažas mainīgais, kas ir gatavojas runāt par Walker šeit tāpēc mēs have-- mēs esam tikai saukšu šo gājējs. Viņam vajag veidu. Kāds ir jūsu veids? AUDITORIJA: Student. ALLISON BUCHHOLTZ-AU: Student. Tātad, tas tikai rada objektu, jūs varat domāju, ka ir visas šīs lietas. Jūs tikko izveidojis gājējs students. Tāpēc tagad mums ir jāspēj var nodot visu šo, labi? Lai vai kāds atceras, kā mēs piekļūt ietvaros struktūrai? AUDITORIJA: periods. ALLISON BUCHHOLTZ-AU: Periods Tieši tā. Tātad, ja mēs vēlējāmies, lai piešķirtu viņam vārdu, mēs to varētu darīt. Acīmredzot tas būtu be-- šo daļu šeit būtu jāatrodas galvenais, lai patiesībā ļaujiet man darīt. Atzīt šo iepriekš galvenokārt tādēļ ka mēs varam izmantot to laikā galvenā. Tāpēc tagad es gribu to darīt ID, un mēs vienkārši darīt daži tur, un tad mēs piešķirsim māju. Bam. Atdzist. 

Tāpēc tagad mums vajadzētu kādreiz ir nepieciešams, lai piekļūtu kaut vēlāk on-- varbūt we-- ja mums kādreiz ir nepieciešams, lai piekļūtu kaut ko, pieņemsim tikai darīt int kopiju ID. Un es gribu, lai kopētu Walker ID šajā. Kā varētu es varu to darīt? Jums ir nepieciešams, lai piekļūtu ietvaros gājējs struct uz [? doties uz šo jautājumu?] [? E]?. Un tāpat, ka mēs piešķirts to šeit, kā mēs varētu piekļūt to, kad mēs vēlamies, lai dot šo vērtību, lai kaut kas cits? AUDITORIJA: Walker.id. ALLISON BUCHHOLTZ-AU: Jā, tieši tā. Tā ka ir diezgan daudz visa jums ir nepieciešams zināt, statņi. Jums vienkārši ir nepieciešams domāt par tos kā citu mainīgo. Būtībā izveidot savu pašu Mainīgā veids, OK? Jūs to izmantot, lai paziņot mainīgie jebkādā veidā. Šeit gājējs joprojām mainīga. Tas vienkārši ir veids students vietā tagad no int, vai tipa virknes, vai tipa char. Ja tur bija viegls veids, kā runāt par statņi, tas ir burtiski tikai izveidot savu datu tipu kas ļauj grupai Visi šie dažādie veida dati kopā. Vai tas ir jēga? OK. Ka un piekļūt ar punktiņiem. Diezgan daudz viss, kas jums nepieciešams. 

Labi, kad bija mana PowerPoint iet? Šeit tas ir. Nu tas ir dīvaini. Aha. Labi, atdzesē. Jebkuras citas lietas, vai arī mēs vēlas doties praksē? Praksē? OK. Awesome. Es esmu gatavojas, lai izietu šo. Ja kādā brīdī laikā prakses jautājumi, Es esmu laimīgs, lai atjaunot un iet caur lietām. Tāpēc man ir viktorīna nulles šeit. Ja jūs puiši vēlas, lai vilktu it up datorā, tāpat kā Take Five minūtes, lai pārlūkotu. Varbūt izvēlēties kādu top jautājumi, jūs vēlaties, lai iet pāri. Ja jūs puiši nevarat izlemt, mēs vienkārši lēnām sāk strādāt caur tiem, bet es esmu pārliecināts, ka tur ir būs dažas jautājumi, kas jums ir īpaši vēlas runāt, un ir man strādāt cauri ar jums visiem. Tik vienkārši iet uz priekšu un veikt piecas minūtes. Ritināt. Un tas ir viktorīna no 2013. gada. 

AUDITORIJA: Zero? 

ALLISON BUCHHOLTZ-AU: Jā, viktorīna nulle. Mēs nedarām viktorīna vienu sīkumi. Mēs darīsim, ka pēc pāris nedēļām. Arī tiem, kuri ienāca vēlu, mums ir konfektes, tāpēc jūs puiši vēlas Candy? 

AUDITORIJA: Protams. 

ALLISON BUCHHOLTZ-AU: Es esmu tikai gatavojas iet apkārt. Hei, ja jūs guys nokļūt agri, jūs iegūtu vairāk Candy. Tas ir jauki. Ben, jūs vēlaties Candy? Jūs vēlaties kādu no šiem? Tur ir arī Snickers ja kāds vēlas Snickers. Es ņemšu atvaļinājumu tos šeit un šeit. Justies brīvi. Vai jūs vēlaties, vairs? Mērķauditorija: visu komplektu. Paldies. 

ALLISON BUCHHOLTZ-AU: Un man bija jauka maz pāļu tur sākumā. Jūs guys get veikt viktorīnā un Man nokļūt ir viktorīna šķirošanas pusi. Tas ir haoss. 900 eksāmeni. Tas būs tik jautri. Būs lieliski. Es esmu diezgan pārliecināts, ka ir viens no lielākajiem personāla galvojumu naktis gadā. Ir kāds darīts viktorīnā nulle no pagājušajā gadā vēl aiz ziņkārības? 

Mērķauditorija: detaļas no tā. 

ALLISON BUCHHOLTZ-AU: detaļas no tā, OK. Vai jums ir jautājumi par kādu no viņiem? AUDITORIJA: Es jau devās uz darba laika. Paldies jums, lai gan. ALLISON BUCHHOLTZ-AU: Nu, cerams tas joprojām ir sava veida noderīga. Kad jūs doties uz darba laiks par to? Mērķauditorija: Mana TF bija viņiem šajā pēcpusdienā. ALLISON BUCHHOLTZ-AU: Ak. Kas ir jūsu TF? Mērķauditorija: Fred [? Wujaya?]. ALLISON BUCHHOLTZ-AU: Ir tik daudz TFS. Tik daudz. Labi. Kāds ir jebkurš jāsāk, ka es varu pierakstītu, ka mēs gribam strādāt? Es pieņemu arī norādes viens ar tabulu. Iet uz to. 

Mērķauditorija: Varbūt slēdzis vienu. ALLISON BUCHHOLTZ-AU: Tātad skaitlis 12? Es pieņemu skaits 8 un 9 ir iespējams tie cilvēki grib iet pāri. 

Mērķauditorija: Un 10 un 11. 

ZAMYLA Chan: Un jūs guys zināt jums vienu lapu piezīmes, vai ne? 

Mērķauditorija: Jā, tā, kādi ir mums ļāva likts uz to. 

ALLISON BUCHHOLTZ-AU: jūs esat atļauts likt kaut ko vēlaties. Un tas var būt drukāti. Cik es atceros, mūsējais tika drukāti. 

Mērķauditorija: Jūs varat darīt atpakaļ un abas puses? 

ALLISON BUCHHOLTZ-AU: Jā, abas puses. Tātad, kaut kas līdzīgs kaudzē un [? back end?] kaudzes, jūsu skriešana reizes. Noderīga. Varbūt maz lietas par norādes, lai atgādinātu jums. Sintakse lietām. Ņemot tāpat kā skelets programma var būt super noderīga. Es zinu, ka es vienmēr aizmirsu, ko tieši Man vajadzēja rakstīt int main, jo es vienmēr tikai kopēt paste no mana iepriekšējā P komplektu vai tas jau tur, tāpēc Es nekad īsti uzrakstīju to, lai kam, ka var būt super noderīga. 

Labi, tad kāpēc ne mēs sākt ar numuru 8, tad? Labi. OK. Tāpēc uzskatu programmu zemāk. Tātad, acīmredzot, kad mēs redzam norādes, tas ir iespējams laba ideja, lai zīmētu, vai ne? Es gribu zināt, kur visas manas lieli gabali krītu gāja. Tas ir sava veida kaitinošas. 

Tāpēc mēs esam šeit daži swap funkcija kas gatavojas veikt divos norādes. Tātad, šajā gadījumā, tie faktiski būtu komutācijas lietas, salīdzinot ar mūsu sākotnējā mijmaiņas funkcija, kas tikai bija kopijās. Tātad, ko tā gatavojas darīt is-- Sāksim ar galveno, jo tas, kur 1 ir. 

Tātad mums ir dažas int x 1. Mums ir dažas y, kas ir vienāds ar 2. Un tad mums ir dažas swap kas notiek, lai tiem. Un redzēsim, ko darīt, mēs esam šeit. Un mūsu table-- oh boy. Kā es gatavojas darīt? Es esmu gatavojas izdarīt mana galda nekā šeit. Tikko padarot to tur. Tikko padarot to. 1, 2, 3, 4, 5, 6, 7. Un tie dod mums, ka 1 ir 1, un 1 2. Atdzist. Awesome. Tātad 3. Un tur ir [? 1.?] 

Labi. Un tad adrese x ir 0x123. Un y ir Ox127. Atdzist. Labi. Es gribu, lai jūs puiši strādā par šo lai tikai like-- uz tās strādā ar cilvēkiem ap jums. Es vēlos man bija teicis, ka kamēr es bija izveidot. Strādāt par to. Mēģināt un strādāt par to, ko paši uz pāris minūtēm, un tad es strādāšu par to ar jums. Tāpēc, ka vienīgais veids, kā jūs patiešām dodas mācīties ir darot to pats. Neraizējieties. Good luck. 

OK, kāpēc ne mēs lēnām sākt strādāt caur šo. Tātad, visi saņem pēc līnijas viens, x ir 1. Pēc tam, kad līnija divas, x un y ir 1 un 2, labi? Atdzist. Tātad līnija trīs ir, ja lietas iegūt interesantu protams. 

Tātad, ko mēs esam darījuši šeit ir tagad mēs esam samainīti. Mēs sakām, ka x un y ir šos punktus, vai tie ir adrese, x un y, tiesības? Tātad, šajā gadījumā, trim, kāda ir vērtība? tika pieņemts, ir dota vērtība, adreses X, pa labi? 

AUDITORIJA: 1? 

ALLISON BUCHHOLTZ-AU: Tātad mēs pievienot to x? Kas ir X adrese? 

AUDITORIJA: 0x123. 

ALLISON BUCHHOLTZ-AU: Tieši tā. Bet to, kas ir patiesībā norāda uz? Ja mēs būtu dereference, kāda vērtība būtu tas dod mums. AUDITORIJA: 1. ALLISON BUCHHOLTZ-AU: Tas būtu dod mums 1, jo tas, ko mēs esam sakot, ir doties uz šo adrese, pastāstiet mums, kāda vērtība ir. Tātad, kas būtu b? 

AUDITORIJA: 0x127. ALLISON BUCHHOLTZ-AU: Tieši tā. Tātad, tas ir adrese y. Un tad kāda [? dereference? ?] AUDITORIJA: 2. ALLISON BUCHHOLTZ-AU: Labi, tāpēc tagad četras. Mums teica, ka ir equal-- labi tagad mēs esam darīts int temp ir vienāds ar zvaigzni. Tātad, kādas izmaiņas? Tur ir tikai viena lieta kas mainās šeit. Kas tas ir? 

AUDITORIJA: Temp. ALLISON BUCHHOLTZ-AU: temp. Tātad, mēs varam pārrakstīt visi no tiem. Laba stratēģija šos ir tikai norādītas kādas izmaiņas, jo visbiežāk tur ir tikai viena lieta, kas ir gatavojas mainīt jebkurā brīdī, OK? Tātad esam piešķīruši temp. 

Tagad mūsu nākamais punkts, pieci, mēs ir veikuši zvaigzne vienāds ar zvaigzne b. Tātad, kādas izmaiņas tagad? 

Mērķauditorija: Zvaigzne. 

ALLISON BUCHHOLTZ-AU: Zvaigzne, tāpēc viss pārējais paliek tas pats. Un ko tas zvaigzne vienāds? 

AUDITORIJA: 2. ALLISON BUCHHOLTZ-AU: 2. Jauki. Awesome. OK, un tad tagad mums ir sākt B ir vienāds ar temp. Tātad vienīgā lieta mainās ir zvaigzne b. Viss pārējais paliek tas pats. Un kas ir zvaigzne b vienāds ar tagad? Un esat pabeidzis tabulu. Jo tagad beigās, ja mēs sakām x un y, mēs zinām, ka šajā point-- mēs zinām, ka tad, kad mēs mainījās zvaigzne līdz 2, kas tas darīja ir tā teica OK, pie risinātu 0x123 šeit, mainīt. Tagad tas bija 2. Un tad šajā brīdī, mēs teicām OK, dodieties uz zvaigzne b. Lai iet uz adresi, 0x127 un padarīt to 1. Tāpēc tagad pašās beigās, kad mēs faktiski atgriezties galvenais, mums tiešām ir, ka x ir vienāds ar 2 un y ir vienāds ar 1. Ikviens labi ar šo? Labi, atdzesē. Skaitlis 9. Jūs guys strādāt šajā virzienā. Es esmu gatavojas izveidot kuģa lai mēs varētu izdarīt caur to. Tas būs sprādziens. Lielie galdi var būt tiešām atbaidošs, es zinu. Bet, ja jūs vienkārši ņemt tos vienu rindu laiks, viņi saņem daudz mazāk biedējošu. Labi. 

Tātad, jūs zināt, ka tas būs izgājušas cauri galvenais, pirmkārt, vai ne? Initializes x un y un pēc tam mēģina apmainīt tos. Tātad, pat mijmaiņa iepriekš, reālais veids, kā to iet ir tas, ka mēs ejam cauri galvenais, un tad tas zvana līdz swap, labi? Lai visi zina, ka. 

Tātad kuriem viens jūs puiši vēlas sākt ar? Vai kāds tiešām pārliecināts par kādu no šiem? Vai pat daļēji pārliecināts? Kāpēc ne mēs sākam ar x? Ko mēs domājam x ir? 

AUDITORIJA: 1. ALLISON BUCHHOLTZ-AU: 1. Tātad, kāpēc ir 2. Un tas ir tāpēc, ka liela atšķirība šeit ir tas, ka mēs esam tikai iet kopijas, vai ne? Mēs esam ne iet ar atsauci. Tātad, pat beigās šī programma x un y ir palikuši paši, jo tie ir tikai kopijas mijmaiņas funkciju. Tie nav reāli mainīt, vai ne? 

Tātad, ko par A, B, un temp? 

Mērķauditorija: ir b. 

ALLISON BUCHHOLTZ-AU: ir b. Tātad, šajā gadījumā, ir X, kas ir 1, labi? Tātad šeit, pieņemsim staigāt pa to. Tāpēc sākumā, a un b ir 1 un 2 un definēts. Tātad sākotnēji temp izpaužas piešķirts, tāpēc temp ir 1. ir vienāds ar b, lai mēs iegūtu 2, un b ir vienāds ar temp. Tagad mēs 1. 

Mērķauditorija: Iepriekšējā vienu tā nomainīju Ampersends x un y & zīme. Ko tieši tas nozīmē? ALLISON BUCHHOLTZ-AU: Tātad tas nozīmē, ka jūs iet ar atsauci. Tātad tas nozīmē, ka jūs faktiski garāmejot adreses, kurās X un Y ir saglabāts. Mērķauditorija: Bet tu neesi pārnešana adresi. ALLISON BUCHHOLTZ-AU: Tu neesi pārnešana adreses. Jūs esat pārnešana, kas ir tajās. Tāpat kā to, kas ir šajā adresē, un tas ir iemesls, kāpēc tā darbojas. Versus šajā programmā, ko šeit jūs darāt, ir jūs veidojat kopijas. Tātad jums ir X un Y, kas pastāv kā savas mainīgajiem šeit. Bet tad, kad jūs ejat tos swap, tas ir kā tad, ja jūs veidojat tas viss cits komplekts. Tātad jūs esat patiesībā nekad aizkustinošs x un y. 

Mērķauditorija: Ja & zīme x ir tas, kas ir adrese x, kas būtu zvaigzne x būt? 

ALLISON BUCHHOLTZ-AU: Ampersand x ir tas, kas ir pie adrese, x, tad star-- labi, Šajā gadījumā, X nav rādītājs. Mērķauditorija: Ak, OK. Tātad jums tikai to izdarītu jo tas nav rādītājs. ALLISON BUCHHOLTZ-AU: Labais. Jūs varat darīt tikai zvaigzne kaut kas ir rādītājs. Varbūt jūs varētu darīt, lai lietas, kas nav, bet gan apkopot, ka jums darīt trakas lietas notiktu. Un es neesmu īsti pārliecināts, kas varētu notikt. Jūs vienmēr varat veikt adrese kaut ko, bet jūs nevarat dereference kaut tas nav rādītājs. Ja tas ir jēga, tas ir labs atšķirība ir. 

Tāpēc nav pārāk slikti, vai ne? Tabulas ir cerams kļūst nedaudz mazāk biedējošu. Labi. Ah, fun ones. Tāpēc tagad, rakstot savu kodu. Tāpēc es esmu gatavojas let jums puiši strādā par šo apmēram četras minūtes, un tad mēs varam runāt par to, kā tai tuvoties. Jūtieties brīvi runāt ar cilvēkiem ap jums. Tāpat tas ir interesanti. Tas ir tāpat kā visām meitenēm sadaļa tieši tagad. Diezgan aizraujoši. Izņemot Chang. Bet Chang nav īsti daļa no sadaļā. Awesome. Perfekta. Tāpēc es jums dos pāris padomus. Gadījumā, ja jums ir vairāk nekā vienu raksturs, kur Jums ir kaut kas cits piemēram, 123 vai 1000 kaut ko, jums ir nepieciešams, lai varētu cilpa cauri un pārvērst katru no tiem. Tātad tur ir pāris veidi, kā jūs varētu darīt, ka, bet jūs noteikti nāksies cilpa kaut kur tur uz cilpa caur tiem, kas ir veida, piemēram, giveaway ar pat ja jūs zvanu strlen, kas ir veids kā oh varbūt jūs vēlaties izmantot garumu string kaut kādā veidā. 

Labi. Tātad, ko jūs guys domā varētu būt viena no pirmajām lietām, ko mēs vēlamies darīt? Tur ir pāris gadījumi šeit mums ir nepieciešams, lai ņemtu vērā, vai ne? Vai nu mums ir kaut kas, kas ir null. Kas mēs esam? Gadījumi. Null. Mums ir tāda lieta, ka tas ir kaut ko citu nekā 09, vai ne? Tātad pieņemsim, ka tas ir burti. Vai mums ir lietas, kas ir derīgs. Trīs lietas domāt. Tātad kuriem viens jūs domājat, ka varētu būt vienkāršākais viens rūpēties par pirmo? AUDITORIJA: Null. ALLISON BUCHHOLTZ-AU: lieta ir nulle. Tātad, ko varētu darīt, mēs tur? Mērķauditorija: [dzirdams]. ALLISON BUCHHOLTZ-AU: Jā. Un ko darīt, es gribu darīt? 

Mērķauditorija: Atgriešanās 0. 

ALLISON BUCHHOLTZ-AU: Tieši tā. Awesome. OK. Tāpēc tagad Lieta ka tā ir burti un lieta, ka tas ir derīgs. Mēs tiešām varam rūpēties Tas vienā cilpa, OK? Tik viens veids, kā to izdarīt it-- kas varētu būt Vienkāršs veids, kā pārbaudīt, vai tas ir derīgs. Mums būs jāiet cauri katrs burts un darīt, ko? 

Mērķauditorija: Pārbaudiet, vai tas ir in-- 

ALLISON BUCHHOLTZ-AU: Pareizi, jūs varat pārbaudīt ja tas ir starp 0 un 9, vai ne? Un pēc tam, ja ka tas ir derīgs, mēs esam gatavojas galu galā atkārtojot cauri Mūsu stīgu anyways, vai ne? Tātad, kāpēc nav mēs mēģināt tos apvienot vienā. Mēs ejam, lai atkārtot pateicoties to, stīgu, un kā mēs to, ka mēs ejam, lai vispirms do pārbaudi, lai redzētu, vai šīs vēstules vai, ja tas raksturs ir derīgs. Ja tā ir, mēs ejam, lai veiktu darbība, kas mums ir nepieciešams, lai pārvērstu to. Pretējā gadījumā tas būs atgriezties 0, labi? 

Tātad, pirms mēs to darām, mēs droši vien vēlaties kādu mainīgais ka mēs varam atgriezties beigās kas notiek, lai būtu mūsu faktiskā vērtība. Tātad mēs ejam, lai sāktu daži vērtība ir 0. Un tas ir tikai, kā mēs sākam. Tāpēc es esmu gatavojas, lai atbrīvotos no šīs. Tātad, kā mēs gatavojamies atkārtot, izmantojot šīs virknes. Mērķauditorija: Par cilpu. ALLISON BUCHHOLTZ-AU: uz cilpas. Tātad, kas ir mūsu, lai? 

Mērķauditorija: i ir 0. ALLISON BUCHHOLTZ-AU: Mm-hm. Un tas, ko mēs atkārtojot līdz? 

Mērķauditorija: str garums s. 

ALLISON BUCHHOLTZ-AU: Labi, tagad atceros tur ir labāks veids. [Nedzirdama]. 

Mērķauditorija: Jā, mēs varam darīt n ir vienāds. ALLISON BUCHHOLTZ-AU: Tieši tā. 

Mērķauditorija: i ir mazāk nekā n. ALLISON BUCHHOLTZ-AU: Un kāpēc būtu mēs vēlamies to darīt? Vai atceraties iemesls? Mērķauditorija: Mums ir pārrēķināt to. ALLISON BUCHHOLTZ-AU: Becasue šādā veidā jums tikai, lai aprēķinātu strlen reizi. Ja jūs man ir mazāks nekā strlen s, tas nozīmē, ka tas pārrēķina garums katru reizi jūs darbināt uz cilpas, kas nav milzīgas izmaksas enerģijas, bet tas ir labāka prakse, lai mēģinātu darīt lietas, piemēram, ka vienu reizi. Ja vien iespējams, jums ir traks virkni situācija mainās katrā atkārtojuma. Bet, ja tas ir uzturas pats, saglabājiet to. Labi. Un tad es plus plus. Awesome. Mēs esam ceļā. Mērķauditorija: Tiešām ātri. Pirmkārt, tāpēc, teiksim, mēs vienkārši Vai es mazāk nekā strlen no s, tie šķirošanas mūs uz dizainu vispār vai tikai pareizību? Viņi nav. Mēs šķirošanu uz pareizību par viktorīnas, cik es zinu. Es nevaru veikt pilnā apjomā garantija, bet lielākā daļa, lielākā daļa ir pareizību, jo tu esi zem daudz laika ierobežojums. Dizains parasti nozīmē Jums ir laiks, lai padomātu par eleganci jūsu situāciju. 

Labi, tāpēc mēs esam atkārtojot cauri. Tāpēc mums ir nepieciešams vai nu pārbaudīt, lai redzēt, ja šis raksturs ir derīgs vai arī, ja mēs varam veikt mūsu normāli [? līdz i?] funkcija. Mēs varam uztraukties par to, ko kas ir sekundē. Tātad, kāpēc nav mēs take-- ja kāds var domāt, par veidu, kā pārbaudīt, lai redzēt, ja tas ir derīgs. Mēs zinām, tas būs dažus, ja stāvoklis, labi? Un atcerieties, tas ir ASCII, tad kā varētu mēs redzam, ja tas nav 0,1, 2, 3, 4, 5, 6, 7, 8 vai 9. Mērķauditorija: Ja alfa. 

ALLISON BUCHHOLTZ-AU: Tātad, ja alfa būtu tikai dodiet mums zināt, ja tas ir burts. Un, ja tie dod mums simbols, tas ir joprojām nav gluži gatavojas pārbaudīt. Tātad, ja jūs pull savu ASCII galds, mēs zinām, ka no 0 līdz 9 ir vienā segmentā. Pastāsti man skaitļi, ka viņi atbilst, ja iespējams. AUDITORIJA: 40. 

ALLISON BUCHHOLTZ-AU: Tātad diapazons ir kā 40-- AUDITORIJA: Varbūt. 48. līdz 57.. Es neesmu pārliecināts. 

ALLISON BUCHHOLTZ-AU: 40-57? 

Mērķauditorija: 48, es domāju. ALLISON BUCHHOLTZ-AU: 48. līdz 57.. Tātad mēs zinām, ka tie, ASCII symbols-- ja ASCII vērtība nav starp 48 un 57, tas nav derīgs, vai ne? Lai mēs varētu izmantot, ka, lai Mūsu priekšrocība iespējams? Kā mēs gatavojamies, lai saņemtu šī vēstule, pirmkārt off? Kā mēs piekļūt tas šis raksturs? 

Mērķauditorija: s kronšteins i. 

ALLISON BUCHHOLTZ-AU: Mm-hm. Tāpēc, ka mēs varam domāt par stīgas kā bloki, atcerēties. Tātad, ko mēs gribam teikt? Mēs gribam pateikt, ja tas is-- es došu jums mājienu. Tas ir mazāk, nekā. Ko jūs domājat, ka tas jābūt mazāk nekā? AUDITORIJA: 57? 

ALLISON BUCHHOLTZ-AU: 47, vai ne? Bet tā arī ir, ka, kā jūs 0 vienā [? spieķi?], jo tas ir raksturu 0. Jūs varētu arī likt 47. Ņemot ASCII tabulu, kā jūs redzat, ir tikai kaut Jums ir jābūt jūsu viktorīna lapā. 

Tātad, ja tas ir gadījumā, ja tas ir mazāk nekā 0-- ne vienmēr un. Tas ir tikai vai nu būs mazāks par vai lielāks par 9. Tātad, jūs varat aizpildīt šo pēdējo man? Tātad vai s I ir tas, ko, Rhea? 

Mērķauditorija: Lielāka nekā 9. 

ALLISON BUCHHOLTZ-AU: Ir. Vai tas ir jēga visi, kā mēs saņēmām tur? Šīs problēmas, viņi tāpat reiz jūs redzēt risinājumus, tas ir tāpat kā oh, OK. Un tas ir iemesls, kāpēc prakse palīdzēs jums. Labi, lai mēs atgrieztos 0. Jauki. Labi. Pretējā gadījumā tas, ko mēs vēlamies darīt? Tas ir interesanti daļa kur tas ir nedaudz vairāk piemēram, matemātiku pret CS manuprāt. Vai kāds ir ideja par to, kā mēs varētu darīt? Tik svarīga lieta saprast, ir pirmā zīme mēs esam ņemot būs augstākais rīkojumu cipars, vai ne? Tātad, ja mēs meklējam pārveidot 123, pirmo reizi mēs atkārtot būs 1, bet mums ir nepieciešama ka, lai būtu 100 līdz gada beigām, vai ne? Tātad viena lieta, ko jūs varat darīt, ir tas, ka ar katru nākamo ciparu esat lietojis, jūs reizināt savu vērtību 10, tā, ka līdz brīdim, kad jūs sasniedzat beigām, viss ir bijis pārvietoti uz augšu, pa labi? 

Tātad pirmo reizi jūs izmantojat tas, jums ir 1 kā savu vērtību. Otro reizi palaižot to, jūs reizināt savu vērtību 10. Tas būs atjaunināt to tā, ka tas ir tagad 10, un jūs pievienojat par savu nākamo vērtību. Un tad jūs reizināt, ka līdz 10 un pievienot uz savu nākamo vērtību. Un tas ir iemesls, kāpēc viņi saka, tas ir daudz vairāk, piemēram, testēšanas math algoritms versus CS, bet es novirzīties. Man nav rakstīt viktorīnas. 

Tātad viena lieta, ko mēs varam darīt, ir mums saka vērtības reizes vienāds 10. Tātad, tas notiek, lai pārslēgtos Jūsu ciparu reizi katru reizi. Un tad mēs vienkārši vēlaties pievienot. Mēs vēlamies, lai pievienotu kādā mēs tikko saņēmām, labi? Tātad, kā mēs patiesībā pārvērst mūsu ASCII raksturs uz numuru ka tas ir? 

Tātad mēs zinām, ka 0 ir vienāds ar 47, vai ne? Tātad, ja 0 ir 47, ko mums būtu jādara, lai to faktiski dara to int no 0? 

Mērķauditorija: Tas ir 48. ALLISON BUCHHOLTZ-AU: 48? Piedodiet. Mēs varētu atņemt 48, vai ne? Atceries ASCII matemātiku? Mēs varam izturēties pret viņiem vienkārši kā parastā numuriem. Ja jūs izturaties pret viņiem kā numurus, tie kļūst numuri efektīvi. Tātad, ja mums ir s I, kas pieņemsim teikt, šajā gadījumā, ir vienāds ar 0. Tātad s uz i šajā gadījumā būtu ASCII-- ASCII int par to būtu 47. Lai mēs varētu subtract-- vai 48. Jūs varētu darīt, ir viens no veidiem. Vai kāds zina labāk veids, kā mēs varētu darīt 48? Mēs tikko teica 0 is-- iedziļināties ASCII jūs varētu darīt citātu 0. Tāpēc to dara veida padara sajūtu, kā tas darbojas? 

Mērķauditorija: Šajā brīdī, ir vērtība 0 jo, pat ja jūs reizināt to ar 10, jūs, sākot no ar nulli, tāpēc to vajadzētu ieslēgt? 

ALLISON BUCHHOLTZ-AU: Tātad šajā gadījumā, jums vēlas pavairot to pirms jūs pievienot, jo šajā gadījumā, jā, tas būtu joprojām be-- mans rādītājs ir pazudis. Šajā gadījumā vērtība, pirmais Šoreiz mēs palaist to būs nulle. Tātad jūs vienkārši pievienojot par šo pirmo ciparu. Kas ir svarīgi ir nākamajā reizē tu atkārtot, jūs vēlaties, lai novirzīt to uz augšu Pirms jūs pievienot savu nākamo ciparu on. Vai tas precizētu jums? OK. 

Dažreiz jūs gatavojas get dīvaini vairāk mathy lietas. Ja Jums ir bijusi lielākā daļa tas, jūs joprojām turpinās lai get-- jūs gatavojas darīt diezgan labi. Daļēja kredīts ir ļoti liela lieta, par CS50 viktorīnas. Tātad, rakstīt to, ko jūs zināt. Ja jums viss izņemot šeit, jūs esat joprojām turpinās darīt tiešām labi problēma. Tāpēc, ka jūs parādot, Labi, es gandrīz zinu. Es zinu, ka man ir nepieciešams atkārtot, izmantojot. Es zinu, kas man ir nepieciešams, lai pārbaudītu. Man vienkārši nav gluži nokļūt kā pārvērst to. Jūs esat būs OK. Jā, jūs gatavojas zaudēt pāris punktus, bet jūs joprojām gatavojas iegūt labs punktu skaits par kaut ko piemēram, ka, ja jūs esat trūkst šīs divas rindiņas. Es būtu tāpat Labi, šo personu zina, ko viņi dara. Math ir grūti. Tāpēc es teiktu, ka tu būsi labi. 

Labi, lai jūs puiši gatavi mēģiniet strlen ar norādes tagad ka jūs puiši ir rādītājs meistari? Tāpēc Es jums puiši strādā par ka mazliet. Ja kāds nepieciešams zināšanu atsvaidzināšana. Tātad jūs vēlaties izmantot kursoru aritmētisko, un pēc tam, ja s ir nulle, Jūsu īstenošanai vajadzētu atgriezties 0. Lietas, piemēram, tas, kas padara tevi patiesi laimīgs tikai zvanīt strlen beigās, dienā. Es domāju, ka tas varētu būt nedaudz vieglāk nekā pēdējais, kas ir labs. Es došu jums puiši vēl minūti, un tad mēs strādājam caur to. Un tad mēs, lai dotos uz slēdžiem. 

Labi, gatavi puiši? Varbūt mazliet. Tāpēc es esmu devis jums savu divas iespējas, vai ne? Nu pārbaudīt nulli un atpakaļ 0, ja tas, vai faktiski aprēķināt garumu. Tātad, kas vēlas uzrakstīt pārbaudītu null? Iet uz to. 

Mērķauditorija: Ja iekavās s vienāds vienāds ar nulles peļņu 0. ALLISON BUCHHOLTZ-AU: Lovely. Man patīk, kad pusi savu problēmu ir tikai pārbaudīt null. Es zinu, ar jums puiši pagājušajā nedēļā man bija kā čeku null burtiski katru reizi. Labi, so-- 

Mērķauditorija: Ja atgriešanās 0 ir tikai viena rinda, mums joprojām ir nepieciešams cirtaini kronšteinu? 

ALLISON BUCHHOLTZ-AU: Jums nav tehniski vajag tos tik ilgi, jūs konsekventi. Tā ir laba prakse tikai nokļūt ieradumos izmantojot cirtaini bikšturi, bet tehniski nē. Jums nav nepieciešams tos vienā rindā. Mēs vienkārši mēdz ieteikt to lai cilvēki sāk programmai. 

Tāpēc tagad to, kas varētu mēs vēlamies darīt šeit? Tāpēc tagad mēs zinām, ka mūsu virkne ir derīgs. Mēs vēlamies, lai saglabātu aprēķinātu garumu. Kas ir iespējams, pirmā lieta, ko mēs vēlamies darīt? 

AUDITORIJA: Izveidot int tas garums. ALLISON BUCHHOLTZ-AU: Tieši tā. Mērķauditorija: Un mēs gribam noteikt to? ALLISON BUCHHOLTZ-AU: 0. Perfekta. Labi. Tagad to, ko vēlamies darīt? Tas ir patiešām lielāko daļu tā. Iet uz to. 

Mērķauditorija: Tātad, jūs, iespējams, uz cilpas. Un tad tā, kad jūs zvanāt s esat iegūt adresi, pirmā lieta, Jūs varētu sākt ar i ir vienāds ar 0. Un tad tik ilgi, kamēr x plus man nav atpakaļ slash 0. ALLISON BUCHHOLTZ-AU: null terminatoru. Mērķauditorija: null terminatoru. Tad jūs pievienot vienu garumā. 

ALLISON BUCHHOLTZ-AU: Jā. Labi, tā ļauj vērsties ka uz ļoti konkrētu kodu. Bet tas ir ideāls ideja. Tas ir tieši tas, ko mēs darām. Mēs ejam, lai būtu atkārtojot cauri ar rādītāja. Tātad, ko mēs vēlamies darīt ir nevis int šeit, jo mēs esam nevis atsaucoties uz to. Mēs atsaucoties uz sākumu virkne, kas sākas to sava adrese, tiesības? 

Tāpēc mēs vēlamies rādītāju. Tātad mēs ejam, lai ir dažas char zvaigzne, jo tas atbilst mūsu s, labi? Tātad tas ir kādā brīdī mēs esam inicializēšana uzsākšanas virknes, OK? Tāpēc pieņemsim tikai saucam to i. Ja tas ir sākums virknes, to, kas tas tiks piešķirts? Nav 0. Mēs vēlamies, lai tā būtu sākuma mūsu virkni. Kas pārstāv sākumu Mūsu virkne, kas tika dota mums? 

AUDITORIJA: Just s. 

ALLISON BUCHHOLTZ-AU: s. Tātad tas rada kādu jaunu rādītāju, kas ir sākums mūsu stīgu, OK? Vēl viens veids, kā domāt par to ir, piemēram, šeit ir mūsu masīvs. Tas ir mūsu string, s. Tātad, pieņemsim, ka tas ir Pirmais vietas, un tas ir 0x4. 04. Tas ir mūsu s, kas tur minēto adresi. Un mēs tikko izveidoju vēl vienu sauc Es ka tikai attiecas uz vienu un to pašu. Tāpēc viņi abi vienkārši norādot sākuma mūsu virkni. Tas ir tikai grafiskais attēlojums. 

Tāpēc tagad, ko mēs gribam, lai darīt, ir, mēs vēlamies atkārtot Mūsu nosacījums atkārtojot caur mūsu virkni. Tagad iepirkšanās. Got iepirkties, puiši. Vai mēs gribam, lai saglabātu atjaunināšanu līdz mēs sasniedzam null terminatoru, vai ne? Tātad, ko varētu tas izskatās? Vai mēs gribam i, vai arī mēs gribam zvaigzne i ir jautājums? Ir null terminators adrese vai kaut kas atrodas adresi? Atrodas adresi, vai ne? 

Tāpēc mums ir nepieciešams dereference kāds ir šeit, jo tas ir tikai daži adrese. Lai faktiski nokļūt uz sākumu mums dereference šo lai mēs faktiski nokļūt kas ir šajā pirmajā vietā. Tātad, ja mēs Star I, ko ne mēs gribam, lai vienlīdzīgi? Mērķauditorija: Back slash? 

ALLISON BUCHHOLTZ-AU: Ir. Vai tas ir jēga visiem? Mums ir nepieciešams, lai dotos uz mūsu stīgu un pārliecinieties, ka tas nav beigas. Un tad mēs varam vienkārši atjaunināt kā šis. Normāli atjaunināšana. Tik ilgi, kamēr tie ir TER, ko mums vajag darīt? 

Mērķauditorija: Garums plus plus. 

ALLISON BUCHHOLTZ-AU: Mm-hm. Un tad pēc cilpas izbeidz, ko mēs vēlamies, lai atgrieztos? AUDITORIJA: Garums? ALLISON BUCHHOLTZ-AU: garums. Tur jums iet. Acīmredzot gaļa šo vienu ir izpratne par to, lai cilpa. Vai visi get to, kā tas darbojās? Es esmu laimīgs, lai iet pār to atkal. 

AUDITORIJA: Otrais daļa, tāpēc zvaigzne es tur, tas adresi first-- ALLISON BUCHHOLTZ-AU: Tas nav adrese. Tas ir tas, kas ir pie. Mērķauditorija: Tas ir tiešām tur. ALLISON BUCHHOLTZ-AU: Tas ir to, kas patiesībā tur. Tāpēc tas ir saying-- ļaut me to uzlabot. Tātad, tas ir 0x04, un es esmu tikai gatavojas teikt, es esmu gatavojas, lai padarītu šo manu vārdu. OK. Jā, es zinu, man ir viktorīna pārskata šovakar. Daudz viktorīna pārskatīšanu. Tātad, teiksim šo virkni ir mans vārds, Allison. Mazliet netīrs, bet tas ir tur. Un s pārstāv atrašanās vietu no tā, kur virkne sākas, tāpēc es esmu gatavojas veikt šo real-- šī ir adrese, kur stīgu sākas, vai ne? 

Tātad, ko mēs darām šeit ir, mēs vēlamies izmantot norādes atkārtot cauri. Tātad, mēs izveidot kādu rādītāju, i, kas arī ir vienāds ar sākuma virkni. Un katrā vietā, mēs vēlamies turpināt iet cauri masīva šeit, kamēr mēs hit null terminatoru. Tātad mēs vienmēr gribam, lai pārbaudītu, kas ir pie katra no šīm adresēm. 

Tātad, mēs dereference es, lai Pirmo reizi mēs to darām mēs saka, OK, kas ir pēc adreses 0x04? Tā ir. Labi, mēs esam labi. Pieaugums garums. Pāriet uz nākamo. Tik i-- atcerieties Pointers pieaugumu par izmērs neatkarīgi no viņi norāda uz. Tātad šajā gadījumā, jo tas ir char, tas būs atjaunināt pa vienam. Tāpēc tagad mēs ejam apskatīt 5, kas nozīmē, ka tas, kas notiek vairāk nekā šeit. Tātad tā saka OK, dodieties uz 0x05. Kas ir tur? Tas ir l. Un tas būs glabāt darām līdz brīdim, kad tas hits šo vienu. Un tā saka OK, to, kas ir kāds adrese tas ir? Null Terminator, OK. Iziet. Un tikai atgriezties garumu. Jo jums ir nepieciešams, kas ir faktiski ir ka adrese, nevis pati adrese. 

Ir ļoti maz vietas, kur jums tiešām ir nepieciešams adresi. Lielāko daļu laika, kad jūs izmantojat, un tas ir Kad jūs pirmo reizi piešķirot rādītāju vai ja jūs iet to citu funkciju. Labi, visi labi tur? Veida? OK. 

Tātad izskatās, ka mēs esam ieguva atstāja aptuveni 12 minūtes, tāpēc mēs iesim uz varbūt mūsu pēdējā problēma, un tad tur ir kāda jēdzieni, kas ir ieradušies uz augšu tikmēr mēs varam ātri iet pa to. 

Tātad komutācijas pārnesumus ir pēdējais Problēma šeit, slēdzis paziņojumus. Tātad jūsu uzdevums ir pārrakstīt šo tā, ka tas veic tāda pati bet neizmanto slēdžus. Kaļķaini rokas. Tātad kādi jautājumi par šo off sikspārnis? Neviens? OK. Vai visi saprot, ka, ja gadījums nav kaut kas pēc tam, tas nozīmē, ka tā būtu sekot nākamais solis? Tātad, ja 1. un 2. šajā gadījumā darīt tieši to pašu. Dažreiz punkts neskaidrības. 

Labi. Kāds ir kādas idejas? Yeah? 

Mērķauditorija: Tātad jūs varat vienkārši darīt, ja pārskatos. 

ALLISON BUCHHOLTZ-AU: Mm-hm. Tātad, kas ir mūsu pirmais? 

Mērķauditorija: Ja n ir vienāds vienāds ar 1, un 2 līnijas vai n līdztiesīgu ir vienāds ar 2, pēc tam izdrukāt maza. Un tad jūs varat darīt, cits, ja? Vai jūs varat vienkārši darīt, ja? 

ALLISON BUCHHOLTZ-AU: Jūs varat darīt cits, ja? 

Mērķauditorija: Vai tas ir svarīgi, ja jūs darāt, ja? ALLISON BUCHHOLTZ-AU: Tātad tā dara. Vai anyone-- tā, jūs saņems to pašu produkciju ja jūs izmantojat tikai IF salīdzinot ja jūs izmantojat cits IFS. Vai jūs guys domā par iemeslu kāpēc jūs varētu vēlēties izmantot citam ja pret daudz SF? Ir ar efektivitāti. Yeah? 

Mērķauditorija: Tas pārbaudīt visi IFS katru reizi. 

ALLISON BUCHHOLTZ-AU: Tātad, pat tad, ja tas skāra šo pirmo vienu, tas varētu doties uz pārbaudi katru otrs. Tātad jūs vēlaties izmantot, ja cits IF gadījumos ja tikai viens no viņiem nekad piemērojams. Tāpēc savstarpēja izslēgšana ko mēs mēdz teikt. Ja jums ir ķekars SF, tas nozīmē, kas varbūt vairāk nekā viens no tiem jautājumiem, un varbūt vairāk nekā viens no tiem var būt taisnība. Un jūs vēlaties, gan no tiem izpildīt, ja viņi patiesi. Ja vēlaties tikai vienu no tiem, lai strādātu šajos savstarpēji izslēdzošu gadījumos vēlaties izmantot cits, ja, jo tas viss ir saistīts ar efektivitāti. Kods ir tikai labāk izstrādāta ja tā ievēro šo praksi. Tātad šajā gadījumā mums būs cits, ja. Un tas varētu būt? 

Mērķauditorija: n vienāds vienāds 3. ALLISON BUCHHOLTZ-AU: Perfect. Print vidēja. Un tad mūsu pēdējā Lieta, ko mēs būtu? Cits, vai arī, ja? AUDITORIJA: Else. 

ALLISON BUCHHOLTZ-AU: Vai mēs want-- Vēlaties cits, ja jo mums ir konkrētas lietas. Tas nav sava veida nozvejas visiem. Ja Jums ir bijusi noklus switch-- atceros, slēdži, jūs varat būt gadījumā, un tad jums ir noklusējuma. Ja jums bija noklusējuma, tas ir sava veida Jūsu cits paziņojums tur. Bet, ja tas ir tikai lietas, tas nozīmē, ka jums ir nepieciešams pārbaudīt, lai redzētu, vai tas ir katram no tiem. Tātad šajā gadījumā, tas būtu 4 vai 5. Mēs gribam izdrukāt off. Tas ir liels. Un tur jums iet. Un tas būtu jūsu programma. 

Tātad šajā gadījumā, ja mēs bija noklusējuma kaut ko, mēs varētu būt cits neatkarīgi no tā gribēja mums darīt. Tāpēc, ka ir labs atšķirība zināt, saprast. Vai tas palīdz ar slēdžiem, lai jūs? Perfekta. Labi. 

Mums ir aptuveni astoņas minūtes pa kreisi. Vai jums puiši ir jebkura citas augsta līmeņa jēdzieni? Jautājumi kopumā? Jā? 

Mērķauditorija: Man bija jautājums par vienu no tām kas bija par izlases numurs ģenerators viktorīnā nulles. ALLISON BUCHHOLTZ-AU: Ak, ka viens. Ka viens ir vēl viens, kur tas ir vairāk math than-- jā. Risinājums that-- pat es, kad Es to redzu, es esmu patīk tas, ko tas ir. 

Mērķauditorija: Tas bija numurs 7. 

ALLISON BUCHHOLTZ-AU: Tas ir dīvaini, manuprāt. Vārdu sakot, jūs vēlaties izmantot drand48, kas dos jums dažas skaitlis starp 0 un 1. Un jūs vēlaties to izmantot, lai ka jūs kaut saņemsiet a-- un tas ir daudz vairāk par math problēmas man, nekā es domāju, CS problēmu. 

Veids, ka jūs it-- un dažreiz tas būs vienkārši tāpat. Atkal, tie ir gadījumi, kad tas ir sava veida veida kā rakstīt to, ko jūs var un daļēju kredīta. Tātad, ja mēs gribam atgriešanās, mēs zinām, ka mēs esam būs izmantojot drand48 kādā veidā, vai ne? Tātad, kāpēc nav mēs vienkārši pierakstītu, ka uz leju. Mēs izmantojam to kaut kādā veidā. Veids, ka viņi ir jūs guys izmantot tā ir piemēram, tas, ko es mēģinātu izskaidrot. 

Tātad būtībā, kas notiek šeit ir tāpēc, ka tas ir no 0 līdz 1, ko jūs darāt, ir jūs reizinot pēc-- tas ir ļoti daudz math jautājumu. Tikai pilns atruna, tas ir pilnīgi math jautājums. Ko jūs darāt, ir tāpēc, 0 un 1, un jūs gribu, lai to laikā šis diapazons, jūs faktiski izrēķināt, cik liels diapazons ir, un pēc tam jūs būtībā mērogu to uz augšu, kas ir tas, ko tas dara. 

b mīnus dod jums šo diapazonu, Atšķirība starp šiem skaitļiem. Jūs varat reizināt starp 0 un 1, un pēc tam pievienojot tikai nozīmē, ka jūsu paplašinot to uz augšu tāpēc, ka tas ir starp A un B, kas man nav īsti patīk šo problēmu. Kā jau teicu, šī viktorīna ir domāts, lai aptvertu cilvēki, kuri ir mazāk apmierināti, kaut kur pa vidu, un ērtāku. Tātad, ja viņi to tik ka tas bija kaut kas ka ikvienam mazāk ērta vieta varētu saņemt, mums būtu pārāk daudz cilvēki vērtēšanas pilnveido, un ērtāk būtu garlaicīgi. 

Tāpēc viņi vienmēr ir šie veida smadzeņu teaser jautājumiem kas ir domāts, lai būtu nedaudz grūtāk ka veikt dažas radošo domāšanu. Kad jūs redzēt, nesaņem pārāk stumped. Es noteikti saku uzsist caur jūsu viktorīnas pirmās. Risināt problēmas ka jūs zināt, jūs varat, jo tur nav jēgas kļūst iestrēdzis par problēmu, ja ir trīs vai četru vai piecu lapā pēc tam jūs varat viegli darīt. 

Mērķauditorija: Kāpēc tieši jūs reizinot to ar diapazonā? 

ALLISON BUCHHOLTZ-AU: Jūs reizināt diapazonu, Jūs know-- tas ir tāpat kā, cik daudz pēc jūs vēlaties? Tātad jūs varat iedomāties, jo tas atgriež skaitli no 0 līdz 1, Jūs varat domāt par to kā procentos. Tātad, tas ir būtībā sakot, ja mums ir mūsu numuru līnija šeit, ir šeit, un b ir šeit. Jūs, piemēram, cik daudz pagātnē tas ir? Ir viss, ko mēs darām. Tātad jūs vienkārši lūdzot procentos no šīs sērijas, kas ir tas, ko tas dod jums. Un tad jūs būtībā tikai mērogu to uz augšu, pievienojot. Tas ir math smadzeņu ķircinātājs. 

Ja ir kāds pēdējā brīža padoms, es teiktu uzsist ar jautājumiem, izrēķināt kādi jums zina, ka, piemēram, ak es saņēmu šo. Gandrīz noteikti viņi gatavojas būt jautājumi, kas jums nebūs zināt vai arī, ka jūs gatavojas ir laiks lai, lai sasniegtu jūsu stiprās, OK? Jūs puiši gatavojas lieliski. Ir daudz Jautājumi par iemeslu, tā, ka jums ir laiks veida ir iespēja demonstrēt ko jūs tiešām labi. Tātad, tas ir OK, ja esat nav labi viss. Spēlēt uz jūsu stiprajām pusēm. Jā? 

Mērķauditorija: Tātad tas būs atgriezties kaut ko, kas ir saīsināts? Jā, tas būs, jo drand atgriežas starp 0 un 1. Tas būs atgriezties int, jo tas būs saīsināt kad mēs pievienot vai reizināt ar to. Atdzist. Jebkuras pēdējā brīža jautājumi? 

Jūs puiši gatavojas darīt lieliski. Jūs gatavojaties būt pasakains. Un, pat ja tā nav, tur būs būt Candy šeit nākamnedēļ. Un es tevi mīlu. Es mīlu jūs puiši neatkarīgi. Visas tiesības, ikvienam, lai jums veicas. Ir liels laiks. Jūs esat būs labi. Un jūs zināt, ko? Divās dienās tas notiek lai būtu vairāk, bet I ir divi midterms ceturtdien, tāpēc vismaz jūs puiši tiks darīts. Labi, es redzēsit jūs puiši nākamnedēļ.