ALLISON BUCHHOLTZ-AU: Hej, vsi.
Dobrodošli na oddelku.
Danes je le, da bo vse v kviz pregleda za vaš kviz v sredo.
Upam, da vsakdo spomni, da imajo kviz v sredo.
In če nisi, dobro, Zdaj ste se spomnili.
Torej sreda poskrbite, da boste prikazali za razred ali drugih objektov, kot
potrebno.
Vidva se bo super.
To se dogaja, da je super.
In bom naredil vse, kar je v moji moči Da bi vam pomagali pripraviti danes za vaš kviz
zdaj.
In tudi v primeru, da ne veste, je seveda široka seja pregled
danes ob 7. uri Northwest labs soba B103.
Lahko me spet videti za encore kot I bo vodila del te seje pregledu
prav.
Torej, če ne morejo dobiti dovolj od mene Zdaj, lahko prideš nocoj znova.
>> V redu, najprej prvi stvari.
Le nekaj nasvetov, kviz, preden smo dejansko se potopite v za preglede.
Tako kot pri vseh izpitov, prakse bo zagotovo vam pomagajo ven.
Obstajajo izpiti iz preteklosti šest ali sedem let tam,
tako da je veliko prakse Material za vas, da imajo.
In v resnici, danes je res samo dogaja, da se bo nad vsemi temami
da imajo fantje vprašanja o tudi delovni skozi težave prakse
iz kviza nično.
Tako da bom bruhal kviz nič od lani tu,
in bomo lahko delo prek kakršnih koli težav da bi vi želeli.
>> Torej vadil.
Boš začeti početje to danes.
Koda na papirju.
Torej, ja, če bi vsi dejansko lahko ven
papir, da bo super, ker niste
dogaja, da imajo računalnik na izpit in pisanje iz kode z roko
je pogosto veliko težje kot bi lahko pričakovali.
Navajeni ste pravkar da jo vidijo in tipkanje,
in imate prevajalnik vam pomagali, če imate napake,
vendar ne boste dobili, da na izpit.
Zato je zelo pomembno, da dejansko lahko napisali kodo,
in da je mišica spomin početje je z roko bo res pomagal.
>> Tako smo dobili malo blizu.
To je ponedeljek.
Izpita je v sredo.
Ampak, če imate čas, zagotovo imela eno
izpite iz lanskega leta, ali leto prej pod časovnim pritiskom
za eno uro in pol.
Just knock out uro in polovica časa,
in sedel se dol, in samo delo s problemi
kot če bi bili dejansko ga jemljete, saj eno
od največjih stvari, ki jih slišimo o Kvizi je, da so zelo dolgi.
To je veliko materiala.
Obstaja veliko vprašanj, in večina ljudi ne sme končati.
Vem, da sem popolnoma ni končala moje kvizi, ko sem prevzel razred.
>> Na tej opombi, kot manj udobno oddelek,
Razumemo, da je to seveda pomenilo, poskrbeti za ljudi vseh ravneh.
Celoten razlog imamo razdelite manj udoben, nekje vmes,
in bolj udobno je, da nekako bi bilo bolj pošteno.
In če ste manj udoben, je ni nujno samo po sebi, da bi dobili vse, kar je.
Všeč mi je, če so dobili vse, kar je, bi si verjetno
biti v bolj udoben odseku.
Torej očitno ne sebe ne pretepel preveč težko, če ne more končati izpit.
Vzemi od mene, da nisem naredil.
Še vedno sem koncentratorja.
Jaz sem še vedno pomagajo naučiti tečaj.
Boste v redu.
Vse je v redu.
In nenazadnje, naspim.
Seveda z vsakim izpitom smo vedno rekli to.
Cramming noč pred in ne bo nobenega spanja
ne not-- morda, če je to deluje za vas, gre za to.
Ampak za veliko večino ljudje dobili spat,
dajanje v najem vaš možganov počitek in si opomore pred prihodom v na izpit
bo res pomagal.
Prav tako pa se bodo skoraj zagotovo sladkarije na izpitu,
tako da boste morali, da se veselim.
Vi naredili super.
To se dogaja, da je v redu.
In zdaj v naslednji uri in pol I bo poskusil in vam pripravite kot najboljši, kot sem lahko.
>> Torej imam diapozitive iz osnovi vsi oddelki do zdaj.
Ne bom šel skozi vsi od njih, ker to ni
izvedljiva v eni uri in pol ter delovni skozi težave prakse.
Torej, namesto imam seznam tem.
To so vse stvari, da bi vas spraševala naprej.
Če je kaj da res skoči ven
da hočeš iti čez, da vas želiš iti čez konceptualno,
Lahko poskusite in dati vam pregled tam.
Ali če želite skočiti prav v na delaš probleme prakse skupaj,
to lahko storimo.
To je odvisno od vas.
Tam se ne da veliko od vas.
Torej, to je vse, kar vama rad naredil.
Hočem, da je najbolj koristna proti vama.
Tako da bom pustil samo poglej.
>> OBČINSTVO: Ena stvar je, grafikon, da se držimo
govorijo o sklada in kopice.
Samo celotna ideja to in kaj to pomeni.
ALLISON BUCHHOLTZ-AU: Ja, OK.
To je vse, tako na konec, zato naj se pomaknete skozi.
>> OBČINSTVO: Nimamo za to storite zdaj, ampak karkoli.
>> ALLISON BUCHHOLTZ-AU: Je bilo anything-- tole.
Je to neke vrste fuzzy za ljudi?
OBČINSTVO: Ja, drugi, da je.
In lahko smo tudi to buffer overflow?
ALLISON BUCHHOLTZ-AU: Buffer overflow?
OK.
Torej buffer overflow je precej enostavno samo govoriti.
To je v bistvu shranjuje menite o nekateri paleto spomin imate, kajne?
Običajno govorimo o buffer overflow, ko
niste preverjanje, koliko Uporabnik uvaja, kajne?
In ideja, da z buffer overflow je
jih postavi v kolikor preveč podatkov za prostor
da ste dodeljeni za njih, kajne?
>> Torej, če ste rekli, daje me nekaj sporočilo, da smo
ob predpostavki, da boš dal nam razumna dolžina sporočila.
Mogoče par vrstic, malenkosti.
Tako smo ne preverjajo.
Namesto tega so nam krme Celotna knjiga, ki je sporočilo,
in je preplavljena znesek Prostor, ki smo jih namenili za to.
In kaj se zgodi, je, da bi prepisala kraji, ki se je ne bi smel.
>> Zato vem, profesor Malan je dejal nekaj o buffer overflow napadi.
Torej, to je, če vhodni volja uporabnik nekateri ogromno količino podatkov, v upanju,
da prepiše preteklost konec vaše pufra
in nadomešča something-- sprašujem Mi imamo tiste diapozitive tukaj.
Ne verjamem, da imamo ti diapozitivi tukaj.
Ampak v bistvu je prepiše nekateri del pomnilnika
ki mu omogoča dostop da deli računalnika
da ga ne bi običajno imajo dostop do.
>> Največja stvar pri buffer overflow je le
razumeti, da ji se zgodi, ko se ne
preverjanje, koliko si Uporabnik uvaja.
Ko niste vrste zavarujte pred tem.
In na svoji najpreprostejši stvar, to je samo tvoja uporabnik
vnesla ogromno količino podatkov v poskusu
prepisati nekaj varnosti Del vašega spomina.
To je vse kar je.
>> Torej, ta tukaj, kup in kup.
V bistvu je vse to je le predstavitev pomnilnika
in kjer se shranjujejo stvari.
To je res neke vrste vse, kar morate vedeti.
Največje stvari, ki morate vedeti, so
that-- da vidim, če tam je better-- tukaj.
Torej je ta sveženj tukaj.
>> Torej kup ima opraviti z vse svoje funkcije
da kličeš v danem trenutku.
In kar je pomembno, da se spomnimo tekoč off zadnjem tednu s funkcije malloc
je, da ne boste res potreben nadzor nad njim.
Vse je odvisno od kdaj določen funkcije so izvršitve.
In ko so izvršitve, jih imajo tako imenovane žetonov okvirji
da gredo gor.
>> Tako da vse vrste zgodi brez pravega vhoda od vas.
Pišete svoj program, in pustite, da teče,
in kup vrsta traja skrbi sama po sebi, saj mora.
Torej, če v main kličeš kocka, ki bo sprejet tukaj.
To bo ustvariti okvir.
Vendar pa nič ne izrecno storiti za ustvarjanje tega skladovnice okvirja razen
napišite funkcijo za začetek, OK?
>> Tisto, kar je nekako v skladu z vašo Nadzor je kup z knjižnične funkcije malloc.
Torej, ko boste funkcije malloc nekaj, jemljete spomin na kup.
In da je spomin, ki vas imajo zaradi pomanjkanja boljše besede,
eksplicitno nadzor nad, saj se spomniš s funkcije malloc
to je v bistvu tam dokler ne rečeš drugače.
Za tiste, ki ste Gledal poglavje prejšnji teden,
to je tam, dokler ti je povedal, da gredo stran.
Tam bo, če sicer ni povedal.
Torej kup je le nekaj si lahko zamislite kot spomin
da imate nadzor nad.
In to so samo dve različni velike stvari.
>> Razen, da ne bi smeli imeti skrbeti preveč o kupu in kup
Vprašanja ali običajno bolj pravičen če imate lokalne parametre
ali funkcija bi bilo na skladovnicah ali na kup.
Seveda v tem primeru bi bilo kup.
Če ste mallocing nekaj, kjer je to prihaja?
Heap.
Če pogledaš na prakso kvizi, tisti, so splošno Vrsta vprašanj
da imajo.
>> Vam ni treba skrbeti preveč o tem.
Prideš v bolj eksplicitno okoli dimnika in kup
kasneje ali v drugih razredih PJ.
Torej samo z vrsto Osnovna ideja o tem, kaj je to
bo dobro, kar sem le nekako šla mimo.
Kakršne koli druge teme?
Ja?
>> OBČINSTVO: Ali lahko greš čez spet kazalci res hitro?
ALLISON BUCHHOLTZ-AU: ptičarji?
Ali želite konceptualna Pregled kazalcev
ali pa vadite s kazalci?
OBČINSTVO: Nekako podobno skladnjo.
ALLISON BUCHHOLTZ-AU: sintaksa?
Ja.
OK, smo tam dobili.
Ja, tako je to le nekako nekaj če imate rekurzivno funkcijo,
vsakič, ko je rekurzivna funkcija imenovan, samo dodaja druge sveženj okvir.
Precej primer kako si v resnici ne
imajo nadzor nad okvirji na vaših žetonov.
>> OK, kazalci.
Vse je v redu, tako da ustvarja kazalce.
Ne pozabite, to je samo tip zvezda.
Torej, ne glede na vrsto podatkov, ki boš biti obrnjena k.
Torej bi bilo to kazalec na int.
To bi bil kazalec na char.
To bi bil kazalec na likvidna sredstva.
Torej, to je v bistvu karkoli želite, da se kaže, da,
zvezda je, kako ste razglasi kazalec, OK?
>> Ampak potem seveda dobi malo težavno, če imate kazalec
ali imate zvezda karkoli.
Tako velika razlika je, ko ste declaring--
tako da imamo some-- tako To traja nekaj int zvezda.
Torej je to nekaj kazalec poziva x na notr, kajne?
Torej, ne pozabite, kaj to počne je ta zahteva sistemsko x.
In to se dogaja, da nekaj naslov, kajne?
Torej, kaj je pravkar rekel, to je naš naslov.
Kazalci imajo naslove.
Torej, kaj to pove, da je to lokacija, smo shranjevanje int.
>> Torej še en način lahko razmišljamo o to je, da je to nekaj int.
Smo ga res ni dodeljena še kaj, ampak to je samo int.
Tako da lahko naredimo, če se nam zvezda x enak 5, to postane 5, OK?
Ta pravi, da gre za karkoli x obrnjena, tako da gredo na ta naslov
in da bo enaka 5.
Tako smo dodeliti 5 na ta naslov, kajne?
>> In potem, če ste to storili, To nam daje naslov.
To je naslov izvajalca.
Torej, kaj je naslov x?
Ne vemo.
Nismo mu dodeli naslov.
Lahko bi rekli, da je some-- zdaj smo dali je naslov, tako da je naslov 4.
In dejansko, če gremo skozi nekaj kot je ta, vrsta, kaj smo naredili.
Tako delajo prek here-- najdem to pomaga, če ste potegnili napotke.
Če ste na izpitu, I Toplo priporočam izdelavo škatel.
>> Tako da je to prvi, int x enak 5.
To samo pomeni, da smo imeli nekaj postaviti v spomin, da je 5, kajne?
In naša miza tu nam pove, da je na naslovu 0x04.
In potem smo ustvariti nekaj kazalec.
Torej, kaj je razdeliti eno naenkrat.
Torej, to ustvarja nekaj škatla za notr, kajne?
To se dogaja, da imajo nekateri naslov za to.
Torej je to nekaj kazalec.
In to kreda je res majhen.
Torej imamo nekaj kazalec tukaj.
In naša tabela nam pove, da je naslov 0x08.
Cool.
In mi smo dodeljevanje je na naslov x.
>> Ne pozabite, da kazalci imajo naslove, OK?
Torej, če želimo, da imajo x, imamo uporabiti operaterja na naslov, ki
je znak pove, da bi dobili naslov x, ki je v tem primeru, 0x04.
In potem, če imamo nekaj int copy, to samo
ustvarja neko drugo polje, ki imetnik int imenovano kopijo.
In če bomo dodeliti, da this-- tako da to je to sklicevanje.
Tako pravi pojdite na karkoli naslov kazalec drži.
Pointer ima ta naslov, tako da bi šel tja,
in smo rekli, v redu, kaj je v njej?
To je 5.
Torej kopija postane 5.
Smisla?
>> Kaj pa, če sem skušal dodeliti to samo kazalec.
Kaj kazalec dejansko enak?
Treba bi bilo samo karkoli pointer vsebuje, kajne?
In kaj potem, če sem to storil?
Kaj bi copy zdaj?
>> OBČINSTVO: 0x08.
ALLISON BUCHHOLTZ-AU: Yep, naslov našega kazalca.
Katerikoli del, ki da potrebe, ki jih je treba ponovno razložil-?
Cool.
Je gotovo zelo zabavno problem na kvizu enem
da bomo lahko preko tega vam daje več prakse.
Fantje iz prejšnjega tedna lahko vam povem, da ni bilo tako slabo.
Dobili smo skozi celotno chart, in vsak je delal super.
>> OK, tako da je pregled sintakse kazalcev.
Največja stvar je razumevanje, kako da jih ustvarjajo, ali na to,
in naslov, OK?
Cool.
Kakršne koli druge teme pred smo se potopite v praksi.
Tudi če gremo skozi problemi prakse
in tam je nekaj, kar si želiš osvežitev na, kar lahko storimo, da preveč.
Ali imate kaj?
>> OBČINSTVO: konstruktov in povezani seznam.
ALLISON BUCHHOLTZ-AU: konstruktov in povezane sezname, OK.
Torej konstruktov.
Dejansko se dogaja v tem nocoj preveč.
OK, tako konstruktov.
Konstruktov so v bistvu le način za vas, da imajo
več vrednosti različnih vrst.
Torej, s številnimi smo skrčila na eno vrsto podatkov.
Naša paleta mora bodisi biti samo številke, ali pa je znakov, ali pa samo biti plava.
>> Morda pa boste morali vsebujejo več kot to.
Morda boste morali hold-- če govoriš študent
boš imel svojo hišo, svoje ID številka, njihovo starost, kjer živijo,
kajne?
In vse to so različne vrste tipov.
Torej si ne more shraniti tistih, ki vse v matriko.
>> Torej, kaj lahko naredite, je, da lahko ustvarite struct, ki
si lahko zamislite kot vaš lastne vrste osebnih podatkov.
Torej, namesto da le imajo ints in ne le s plovci,
lahko imate tip študenta, ki ima vseh teh področjih v njem.
Torej načinu zažene naši konstruktov is-- dejansko
saj moje pisanje je grozno, smo se bo prehod na tipkanje.
Woo.
>> OK, tako da, če želimo ustvariti struct-- Jaz sem le, da bo z njim tukaj.
Ne upošteva v glavni karkoli ki jih bomo uporabili kasneje.
Tako, kot si želite storiti je z typedef struct.
In kaj je samo to imenujemo študent ker to je tisto, kar sem uporabljal.
OK, tako typedef pomeni, da ste opredeljuje novo vrsto, OK?
Obstajajo nianse v ko vam Samo struct primerjavi z typedef struct.
Za vse namene in namene, vi ste samo
predpostavljam oni približno enak in le
uporabite typedef struct za zdaj.
To bo postalo veliko bolj očitna v vašem Naslednji P nastavite, kaj te razlike,
ampak jaz ne mislim, da boste morali skrbeti, da se prav zdaj.
Jaz bi veliko raje si vedo, kako ustvariti,
dostop do njega, in določite [? vrednost. ?]
>> Nov tip struct, in se ga bomo kliče študent.
Torej, ko smo končali z ustvarjanjem tem, za vse namene,
boste imeli vrsto imenovano študent.
In lahko si misliš o njej samo kot neke vrste kot notr, ali float ali char.
To je samo še en tip, OK?
>> Torej, v tem enem, kaj imamo?
Imamo morda ime.
Tako da morda želimo, ime niza.
In imamo morda int, ki je ID.
In imamo drugo, to telefonsko številko.
In smo some-- poglejmo.
Kaj še lahko imamo?
Bomo imeli nekaj niza po svoji hiši.
Vse stvari, ki jih mora študent.
>> Torej, to ustvarja struct zdaj.
Torej, kako bi lahko ustvarili študenta?
Če imamo neko spremenljivko, ki je govorili o Walker tukaj,
zato smo have-- smo pravkar bo to imenujemo pohodnika.
On potrebuje vrsto.
Kakšen je tvoj tip?
OBČINSTVO: Student.
ALLISON BUCHHOLTZ-AU: Student.
Torej, to samo ustvarja predmet lahko misliti, da je vse te stvari.
Pravkar ste ustvarili Walker študenta.
Zdaj moramo biti sposobni nalagati vse to, kajne?
Torej, ali kdo se spominjam, kako imamo dostop v struct?
OBČINSTVO: Period.
ALLISON BUCHHOLTZ-AU: Obdobje Točno tako.
Torej, če smo želeli dodeliti mu je ime, bi to lahko storili.
Očitno bi to be-- ta del tukaj bi
je v glavnem tako, dejansko Naj to storijo.
Razglasi to zgoraj Glavni tako ki ga lahko uporabljamo v glavni.
Torej, zdaj želim, da narediti ID in bomo pač nekaj tam,
in potem bomo dodeliti hišo.
Bam.
Cool.
>> Zdaj moramo kdaj potrebovali dostop kaj kasneje on-- morda we--
če bomo kdaj potrebovali za dostop do ničesar, kaj je samo narediti int kopiranje ID.
In želim, da bi kopirali Walker ID v to.
Kako lahko to storim?
Boste morali za dostop v Walker struct do [? iti v to?] [? E?].
In na enak način, da smo jo dodeli tukaj, kako up
bomo morda dostopali do njega, ko želimo daje to vrednost v nekaj drugega?
OBČINSTVO: Walker.id.
ALLISON BUCHHOLTZ-AU: Ja, točno.
Tako da je precej vse morate vedeti za konstruktov.
Si morate misliti jim kot drugo spremenljivko.
V bistvu si ustvarite nove lastna tip spremenljivke, OK?
Lahko ga uporabljate, naj ugotovi spremenljivke na kakršen koli način.
Tu Walker je še spremenljivka.
Samo ima tip študenta zdaj namesto od tipa int, ali tip string,
ali tipa char.
Če je bil preprost način, da govori o konstruktov, je dobesedno le
ustvarite svoj podatkovni tip ki vam omogoča, da skupina
vsi ti različni vrsta podatkov skupaj.
Ali je to smiselno?
OK.
To in dostop s pikami.
Zal veliko vse, kar potrebujete.
>> OK, kje je moj PowerPoint iti?
Tukaj je.
No to je čudno.
Aha.
OK, v redu.
Kakršne koli druge stvari, ali pa bomo želijo glavo vaditi?
Vadite?
OK.
Super.
Jaz grem za izhod tem.
Če kadar koli med praksa vprašanja,
Vesel sem, da obnoviti in iti skozi stvari.
Torej imam kviz nič tu gor.
Če hočete vleči it up na vašem računalniku,
rad bi pet minut, da prelistate.
Mogoče izberejo kakšno vrh Vprašanja želite iti čez.
Če vi ne morete odločiti, bomo samo počasi začeli delati preko njih,
vendar sem prepričan, da se bodo nekateri Vprašanja, ki si jih še posebej
želijo govoriti in imeti me delati s tabo vse.
Torej, pojdi naprej in traja pet minut.
Pomaknete skozi.
In to je kviz od leta 2013.
>> OBČINSTVO: Zero?
>> ALLISON BUCHHOLTZ-AU: Ja, kviz nič.
Mi ne delaš kviz ene stvari.
Bomo naredili, da v nekaj tednih.
Tudi za tiste, ki ste prišel prepozno, imamo sladkarije,
to vi želite sladkarije?
>> OBČINSTVO: Seveda.
>> ALLISON BUCHHOLTZ-AU: Jaz sem samo dogaja, da prenese okoli.
Hej, če vi dobite tukaj zgodaj, boste dobili več sladkarij.
To je v redu.
Ben, želiš sladkarije?
Hočeš nekaj od teh?
Tam je tudi Snickers če kdo želi Snickers.
Jaz jih bom pustil tukaj in tukaj.
Feel free.
Želite več?
OBČINSTVO: Vse pripravljeno.
Hvala.
>> ALLISON BUCHHOLTZ-AU: In sem imel lepo malo kup tam na začetku.
Vi dobili, da bi kviz in Sem dobil, da ima kviz razvrščanje zabavo.
To je kaos.
900 izpite.
To se dogaja, da je tako zabavno.
Bo super.
Sem prepričan, da je eden od največjih potencialov kadrov
noči v letu.
Je kdo naredil kviz ničelno od lani še iz radovednosti?
>> OBČINSTVO: Deli to.
>> ALLISON BUCHHOLTZ-AU: Deli to, OK.
Ali imate vprašanja o kateri koli od njih?
OBČINSTVO: Sem že šel uradnih ur.
Hvala, čeprav.
ALLISON BUCHHOLTZ-AU: No, upajmo, je še vedno nekako v pomoč.
Kdaj greš Uradne ure za to?
OBČINSTVO: Moj TF jim moral to popoldne.
ALLISON BUCHHOLTZ-AU: Oh.
Kdo je tvoj TF?
OBČINSTVO: Fred [? Wujaya?].
ALLISON BUCHHOLTZ-AU: Toliko TFS.
Toliko.
Vse je v redu.
Vsakdo ima vsaka začeti, da sem lahko zapišete, da želimo delati?
Predvidevam kazalce eno z mize.
Gre za to.
>> OBČINSTVO: Mogoče eno stikalo.
ALLISON BUCHHOLTZ-AU: So številka 12?
Predvidevam, številka 8 in 9 so verjetno tisti ljudje želijo, da gredo čez.
>> OBČINSTVO: In 10 in 11.
>> ZAMYLA Chan: In vi veste, dobiš eno stran zapiskov, kajne?
>> OBČINSTVO: Ja, pa kaj so smo dovolili, da dajo na to.
>> ALLISON BUCHHOLTZ-AU: Ste dovoljeno dati vse, kar hočeš.
In se lahko vnesli.
Kolikor se spomnim, so bili naša vnesli.
>> OBČINSTVO: To lahko storite nazaj in obe strani?
>> ALLISON BUCHHOLTZ-AU: Ja, na obeh straneh.
Torej nekaj takega kot kup in [? zadnji konec?] heap, vaš tek
krat.
Koristno.
Mogoče malo stvari o nasvetov, da vas spomnim.
Sintaksa za stvari.
Ki ima tako kot skelet Program je lahko zelo koristno.
Vem, da sem vedno pozabil, kaj Moral bi napisati za int main,
ker sem vedno samo kopirati paste iz mojega prejšnjega P niz
ali pa je že tam, tako da Nikoli nisem napisal,
tako da ima lahko zelo koristen.
>> OK, zakaj ne bomo začeti s številko 8 potem?
Vse je v redu.
OK.
Tako menijo v nadaljevanju programa.
Tako očitno, ko smo videli kazalci, je to verjetno
dobra ideja, da začnete risanje, kajne?
Rad bi vedel, kje vse moje veliki kosi krede šel.
To je nekako nadležno.
>> Torej imamo tukaj nekaj swap funkcija da se dogaja, da v dveh kazalcev.
Torej v tem primeru, so naj bi dejansko preklapljanje
Stvari primerjavi naši prvotni swap funkcija, ki je samo v kopijah.
Torej, kaj se dogaja, da storijo is-- začnimo z glavno,
kajti tam je 1.
>> Torej imamo nekaj int x 1.
Imamo nekaj y, ki je enaka 2.
In potem imamo nekaj swap da se dogaja, da sprejmejo tiste.
In poglejmo, kaj imamo tukaj.
In v našem table-- oh boy.
Kako bom to storiti?
Grem pripraviti mojo mizo tukaj.
Komaj ga tam.
Komaj ga.
1, 2, 3, 4, 5, 6, 7.
In so nam dal, da je 1 in 1 2 1.
Cool.
Super.
Torej 3.
In tam je [? 1.?]
>> Vse je v redu.
In potem naslov x je 0x123.
In y je Ox127.
Cool.
Vse je v redu.
Želim si fantje delajo na tem za samo like-- delo na stroju
z ljudmi okoli vas.
Želim si, da bi rekel, da je ko sem bila ustanovitev.
Delati na tem.
Poskusite in delo, ki mu jih sami za nekaj minut,
in potem bom na njem delajo z vami.
Ker je edini način, da ste resnično dogaja, da se učijo, je s to počnejo sami.
Brez skrbi.
Srečno.
>> OK, zakaj ne bomo počasi začeti delati s tem.
Tako da vsakdo dobi po ena vrstica, x je 1.
Po drugi liniji, x in y 1 in 2, kajne?
Cool.
Torej, tretja vrstica je, če stvari dobili zanimive seveda.
>> Torej, kaj smo tukaj naredili je zdaj smo zamenjali.
Pravimo, da sta x in y imajo te točke, ali imajo naslov x in y,
kajne?
Torej v tem primeru, tremi, kakšna je vrednost?
je bil sprejet, je bila dana vrednost naslova x, prav?
>> OBČINSTVO: 1?
>> ALLISON BUCHHOLTZ-AU: Tako smo ga dodajte na x?
Kaj je x je naslov?
>> OBČINSTVO: 0x123.
>> ALLISON BUCHHOLTZ-AU: Točno tako.
Toda kaj je pravzaprav kaže na?
Če bi sledenja, kakšno vrednost bi nam dal.
OBČINSTVO: 1.
ALLISON BUCHHOLTZ-AU: Bilo bi nam 1, zaradi česa
mi praviš je iti v to naslov, povejte nam, kaj je vrednost.
Torej, kaj bi b?
>> OBČINSTVO: 0x127.
ALLISON BUCHHOLTZ-AU: Točno tako.
Torej, to je naslov y.
In kaj [potem? dereference? ?]
OBČINSTVO: 2.
ALLISON BUCHHOLTZ-AU: OK, sedaj štiri.
Je rekel, da je equal-- tudi zdaj smo jih storiti int temp enaka zvezda.
Torej, kaj se spreminja?
Obstaja samo ena stvar, da se tukaj spremeni.
Kaj je to?
>> OBČINSTVO: Temp.
ALLISON BUCHHOLTZ-AU: temp.
Tako bomo lahko znova vse te.
Dobra strategija za te je le ugotoviti,
kakšne spremembe, saj najpogosteje obstaja samo ena stvar, ki je
bo spremenilo v danem, OK?
Tako smo dodeljena temp.
>> Zdaj naša naslednja točka, pet smo so se zvezda enako zvezda b.
Torej, kaj se spreminja zdaj?
>> OBČINSTVO: Star.
>> ALLISON BUCHHOLTZ-AU: Zvezda, tako vse ostalo ostane enako.
In kaj zvezda enako?
>> OBČINSTVO: 2.
ALLISON BUCHHOLTZ-AU: 2.
Lovely.
Super.
OK, potem pa zdaj imamo zagon B je enaka temperaturi.
Torej, edina stvar menjava je zvezda b.
Vse ostalo ostane enako.
In kaj je zvezda b enaka zdaj?
In ste končali mizo.
Ker zdaj na koncu, če rečemo x in y, vemo, da je na tej point--
vemo, da ko smo spremenila zvezda 2,
kaj je storil, je bilo rečeno, v redu, na obravnavati 0x123 tukaj, ga zamenjajte.
Zdaj je bilo to 2.
In potem na tej točki, smo rekli OK, pojdite na zvezdo b.
Torej, pojdite na naslov 0x127 in da bo 1.
Tako da sedaj na samem koncu, ko smo dejansko vrnili na glavni,
imamo dejansko, da je x enako 2 in y je enak 1.
Vsakdo dobro s tem?
OK, v redu.
Številka 9.
Vi delati na tem.
Bom ustanovil odbor tako lahko potegnemo skozi to.
To bo trobljenje.
Velike tabele lahko res grozno, vem.
Ampak, če si jih vzemite eno vrstico na čas, so dobili veliko manj strašljivo.
Vse je v redu.
>> Tako da boste vedeli, da bo to imelo šli skozi glavni prvi, kajne?
Inicializira x in y in nato pa poskuša, da jih swap.
Torej, tudi swap je zgoraj, v realnem je način GOES se, da sva šli skozi glavni,
potem pa kliče up, da bi zamenjali, vse v redu?
Tako da vsi vedo, da.
>> Torej, katero ste storili fantje želijo začeti s?
Je kdo zares prepričani, o eni od teh?
Ali celo delno prepričani?
Zakaj ne bi začeli z x?
Kaj mislimo, da je x?
>> OBČINSTVO: 1.
ALLISON BUCHHOLTZ-AU: 1.
Torej, zakaj je 2.
In da je zato, ker velika razlika tukaj
je, da so le smo posredovanje kopij v, kajne?
Nismo po referenci.
Torej, čeprav je konec ta program x in y
so ostali enaki, ker so so le kopije v funkciji zamenjavi.
Dejansko ne spremenijo, kajne?
>> Torej, kaj pa A, B, in temp?
>> OBČINSTVO: je b.
>> ALLISON BUCHHOLTZ-AU: je b.
Torej v tem primeru, je bila x, ki je 1, prav?
Torej, tukaj pa se sprehodimo skozi to.
Torej na začetku, a in b sta 1 in 2 in nedefiniran.
Tako prvotno temp dobi dodeljena, zato temp je 1.
je enako B, tako da smo dobili 2, in b je enaka temperaturi.
Zdaj smo dobili 1.
>> OBČINSTVO: V prejšnjem eni njo zamenjal znak pove x in y znak pove.
Kaj točno to pomeni?
ALLISON BUCHHOLTZ-AU: Torej to pomeni, da ste po referenci.
Torej to pomeni, da ste dejansko poteka na naslove, kjer
X in Y sta shranjena.
OBČINSTVO: Ampak nisi zamenjavo naslov.
ALLISON BUCHHOLTZ-AU: Nisi zamenjavo naslove.
Ste zamenjavo, kaj je v njih.
Všeč mi je, kaj je na tem naslovu, in da je, zakaj to deluje.
Versus v tem programu tu kaj delaš se, da ste ustvarili kopije.
Torej imaš X in Y, ki obstajajo kot svoje lastne spremenljivke tukaj.
Ampak potem, ko se boste peljali jim v zamenjavo, to je
kot če ste ustvarjanju ves ta drugi set.
Torej si v resnici sploh ne dotika x in y.
>> OBČINSTVO: Če znaka & x je tisto, kar je na naslov x, kaj bi zvezda x bilo?
>> ALLISON BUCHHOLTZ-AU: 'znak x je tisto, kar je na naslov X, potem star-- dobro,
V tem primeru je x ni kazalec.
OBČINSTVO: Oh, OK.
Torej si le to storite ker to ni kazalec.
ALLISON BUCHHOLTZ-AU: Right.
To lahko storite samo zvezda nekaj, kar je kazalec.
Mogoče bi lahko to naredil, da stvari, ki jih niso, ampak prevajanje, ki vam
to, da bi noro stvari se dogajajo.
In nisem ravno vem, kaj bi se zgodilo.
Vedno lahko naslov nečesa,
vendar ne morete dereference nekaj, kar ni kazalec.
Če je to smiselno, da je dobro razlikovati, da imajo.
>> Tako da ni preveč slabo, kajne?
Tabele so, upajmo, dobili nekoliko manj strašljivo.
Vse je v redu.
Ah, so zabavne narave.
Torej, zdaj, pisanje lastno kodo.
Torej bom vam fantje delajo o tem, za približno štiri minute,
in potem se lahko pogovarjamo o tem, kako bi jo dosegel.
Vas prosimo, da se pogovorite z ljudmi okoli vas.
Prav tako je to zanimivo.
To je tako kot vsa dekleta, oddelek zdaj.
Precej razburljivo.
Razen Chang.
Vendar Chang ni res del odseka.
Super.
Popolna.
Tako da vam bom dal par nasvetov.
V primeru, če imate več kot en znak, kadar
imaš kaj drugega kot 123 ali 1000 nekaj,
morate biti sposobni zanke skozi in pretvorbo vsakega od tistih.
Tako da je par načini, ki jih lahko storite, da,
vendar si zagotovo dogaja, da imajo zanko tam nekje do zanke
z njimi, ki je nekako kot nenamerno odkritje
s celo če pokličete strlen, ki je nekako všeč, oh
morda želite uporabiti dolžino vrvice na nek način.
>> Vse je v redu.
Torej, kaj mislita morda ena od prvih stvari, ki jih želimo narediti?
Tukaj je nekaj primerov, v tukaj moramo obračunati, kajne?
Ali bomo imeli nekaj, kar je nična.
Kaj imamo?
Primeri.
Null.
Imamo primer, ki ga ima nekaj drugega kot 09, kajne?
Torej, recimo, da ima črke.
Ali pa imamo primer, ki je veljavna.
Trije primeri misliti.
Torej, katero misliš, da bi lahko Najlažji eno skrbeti najprej?
OBČINSTVO: Null.
ALLISON BUCHHOLTZ-AU: Primer je nična.
Torej, kaj bi počeli tam?
OBČINSTVO: [neslišno].
ALLISON BUCHHOLTZ-AU: Ja.
In kaj storiti, hočem narediti?
>> OBČINSTVO: Vrnitev 0.
>> ALLISON BUCHHOLTZ-AU: Točno tako.
Super.
OK.
Torej sedaj dogaja, da ima črk in v primeru, da je veljavna.
Mi lahko dejansko skrbijo od tega v enem zanke, OK?
Torej, eden od načinov za it-- storiti kaj bi bilo preprost način, da preverite, če je veljavna.
Mi bi morali iti skozi vsaka črka in kaj storiti?
>> OBČINSTVO: Preverite, če je in--
>> ALLISON BUCHHOLTZ-AU: Right, lahko preverite če je med 0 in 9, kajne?
In nato v primeru da je veljavna, smo
bo končalo s ponavljanjem naš niz nekako, kajne?
Torej, zakaj ne bomo poskušali jih združiti v eno.
Bomo Ponovil pomočjo iz niza, in kot smo
storiti, da bomo najprej narediti pregled, da vidim, če ta dopis
ali, če je to znak veljavna.
Če je tako, bomo za izvedbo Delovanje, ki ga moramo spremeniti.
V nasprotnem primeru bo to vrne 0, kajne?
>> Torej, preden bomo to storili, bomo verjetno želeli nekaj spremenljivko
da se lahko vrnemo na koncu da se dogaja, da je naša dejanska vrednost.
Tako bomo za inicializacijo nekateri vrednost znaša 0.
In to je samo, kako smo začeli.
Tako da bom, da se znebite tega.
Torej, kako bomo Ponovil skozi ta niz.
OBČINSTVO: Za zanke.
ALLISON BUCHHOLTZ-AU: za zanko.
Torej, kaj je naša za?
>> OBČINSTVO: i 0.
ALLISON BUCHHOLTZ-AU: Mm-hm.
In kaj smo ponavljanjem, dokler?
>> OBČINSTVO: dolžina str dne s.
>> ALLISON BUCHHOLTZ-AU: OK, zdaj se spomnite obstaja boljši način. [Neslišno].
>> OBČINSTVO: Ja, lahko naredimo n enaka.
ALLISON BUCHHOLTZ-AU: Točno tako.
>> OBČINSTVO: i je manj kot n.
ALLISON BUCHHOLTZ-AU: In zakaj bi želeli to storiti?
Se spomnite, zakaj?
OBČINSTVO: moramo preračunati.
ALLISON BUCHHOLTZ-AU: zato ker si to ti tako morajo izračunati strlen samo enkrat.
Če boste to storili i manj kot strlen s, to pomeni, da se bo ponovno izračunala
Dolžina vsakič zaženete za zanke,
ki ni velik strošek energije, vendar je
boljša praksa, da poskusite in delati stvari, kot je nekoč.
Razen morda imate noro niz da se spreminja na vsaki ponovitvi.
Ampak, če je to ostal enak, ga shranite.
Vse je v redu.
In potem sem plus plus.
Super.
Mi smo na naši poti.
OBČINSTVO: Res hitro.
Prvič, tako da recimo, da smo samo Sem manj kot strlen S,
so nam razvrščanje na oblikovanje sploh ali samo pravilnost in?
Oni ne.
Smo razvrščanje na pravilnost za kvize kolikor jaz vem.
Ne morem narediti na polno jamstvo, vendar za večino del,
Velika večina je korektnost, saj ste pod velikim časovnim pritiskom.
Oblikovanje običajno pomeni imate čas za razmislek
o eleganci vašo situacijo.
>> OK, tako da smo s ponavljanjem.
Zato moramo bodisi preverite vidim, če je to znak veljaven
ali če lahko opravimo našo normalno [? da i?] funkcija.
Mi lahko skrbi, kaj da je v sekundi.
Torej, zakaj ne bomo take-- če lahko kdo misli
približno tako, da se preveri, da vidim, če je ta veljavna.
Vemo, da se dogaja, da nekateri če je stanje, kajne?
In ne pozabite, to je v ASCII, tako, kako bi lahko
bomo videli, če je ne 0,1, 2, 3, 4, 5, 6, 7, 8, ali 9.
OBČINSTVO: Če alfa.
>> ALLISON BUCHHOLTZ-AU: Torej, če bi alfa samo nam sporočite, če je to pismo.
In če nam je simbol, je Še vedno ni povsem tekoč, da preverite.
Torej, če ste dvigni svoj ASCII miza, vemo, da od 0 do 9
sta v enem segmentu.
Povej mi številke, ki jih ustreza, če je mogoče.
OBČINSTVO: 40.
>> ALLISON BUCHHOLTZ-AU: Tako območje je kot 40--
OBČINSTVO: Mogoče.
48 do 57.
Nisem prepričan.
>> ALLISON BUCHHOLTZ-AU: 40-57?
>> OBČINSTVO: 48, mislim.
ALLISON BUCHHOLTZ-AU: 48 do 57.
Torej vemo, da tisti, ASCII symbols-- če je vrednost ASCII ne
med 48 in 57, to ne velja, kajne?
Torej bi lahko uporabili, da naša prednost, morda?
Kako bomo dobili to pismo, najprej off?
Kako smo dostopanju to je ta znak?
>> OBČINSTVO: s bracket i.
>> ALLISON BUCHHOLTZ-AU: Mm-hm.
Ker smo lahko zamislite strune so nizi, se spomnite.
Torej, kaj želimo povedati?
Želimo povedati, če je to is-- Dam ti namig.
To je manj kot.
Kaj naj misliš, da mora biti manjša od?
OBČINSTVO: 57?
>> ALLISON BUCHHOLTZ-AU: 47, kajne?
Ampak to tudi pomeni, da je, kot ste 0 v enoposteljni [? napere?], ker je to
značaj 0.
Lahko bi tudi dal 47.
Ob ASCII tabelo, kot je vidite, je le nekaj
morate imeti na vašem kvizu stanja.
>> Torej, če je temu tako, če je to manj kot 0-- ni nujno in.
To je le, ali bo manjša ali večja od 9.
Tako da lahko izpolni to zadnjo zame?
Torej, ali je iz i je kaj, Rhea?
>> OBČINSTVO: Več kot 9.
>> ALLISON BUCHHOLTZ-AU: Ni.
Ali, da je smiselno, da vsakdo, kako smo prišli tja?
Te težave, oni kot enkrat vas videli rešitev, to je kot oh, OK.
In to je razlog, zakaj bo praksa vam pomaga.
OK, tako da se bomo vrnili 0.
Lovely.
Vse je v redu.
V nasprotnem primeru kaj želimo storiti?
To je zanimiv del kjer je malo več
kot math primerjavi CS po mojem mnenju.
Ima kdo idejo kako mi lahko to storil?
Tako pomembna stvar, da Spoznati je prvi znak
smo pri tem se bo Največji mestni red, kajne?
Torej, če gledamo na pretvorbo 123, prvič smo Ponovil
je bo 1, vendar moramo ki naj bi 100 do konca, prav?
Torej, ena stvar, ki jo lahko naredimo, je, da z vsako naslednjo cifro
jemljete, ste pomnožite svoje vrednosti za 10, tako da do takrat, ko pridete do konca,
Vse je bilo premaknjen navzgor, kajne?
>> Torej prvič zaženete da, imate 1 kot svojo vrednost.
Drugič ga zaženete, boste pomnožite svojo vrednost z 10.
Jo bo posodobil, tako da je zdaj 10, in jih dodate na vaš naslednji vrednosti.
In potem se število pomnožite s 10 in dodate na vaš naslednji vrednosti.
In to je razlog, zakaj pravijo, da je to je veliko bolj podobno testiranje
math algoritem versus CS, ampak jaz vstran kreniti.
Ne pišem kvize.
>> Torej, ena stvar, ki jo lahko naredimo je, da smo pravijo krat vrednost enaka 10.
Torej, to se dogaja premik Vaše mestna enkrat čas.
In potem smo samo želeli dodati.
Želimo dodati v kakšnem pravkar smo, kajne?
Torej, kako bomo dejansko spremeniti naše ASCII znakov v število
da predstavlja?
>> Tako vemo, da je 0 enako 47, kajne?
Torej, če je 0 je 47, kar bi morali storiti, da bi ji
dejansko bi bilo int od 0?
>> OBČINSTVO: To je 48.
ALLISON BUCHHOLTZ-AU: 48?
Žal mi je.
Mi bi odštejemo 48, kajne?
Zapomni si ASCII math?
Mi jih lahko zdravi samo kot običajnih številk.
Če jih obravnavajo kot so številke, postanejo učinkovito številke.
Torej, če imamo s I, ki Oglejmo pravijo, v tem primeru je enak 0.
Tako s I v tem primeru bi ASCII--
int ASCII za to bi bilo 47.
Tako smo lahko subtract-- ali 48.
Lahko bi naredil, da je eden od načinov.
Ali kdo ve bolje Tako smo lahko storili 48?
Pravkar smo rekli 0 is-- gredo v ASCII bi lahko naredil quote 0.
Torej, ne da nekako narediti občutek, kako to deluje?
>> OBČINSTVO: Na tej točki je vrednost 0 ker tudi če jo pomnožimo z 10,
ste začeli ven z ničlo, zato je treba vklopiti?
>> ALLISON BUCHHOLTZ-AU: Torej, v tem primeru želite, da ga pomnožite preden dodate,
ker v tem primeru, ja, bilo bi Še vedno be-- moj kazalec manjka.
Vrednost v tem primeru prva Tokrat smo ga zaženite bo nič.
Torej ste pravkar dodali na to prvo številko.
Kaj je pomembno, je, ko se naslednjič Ponovil si, da ga želite prestavljanje navzgor
Preden dodate naslednjo številko naprej.
Ne da pojasniti, za vas?
OK.
>> Včasih boste dobili čudne več mathy stvari.
Če ste imeli večino to, da ste še vedno tekoč
da get-- boš naredil zelo dobro.
Delni kredit je zelo velika stvar na CS50 kvizov.
Torej, napišite, kaj veš.
Če imaš vse razen tu, ste
Še vedno boš naredil zelo dobro problem.
Ker ste pokazal, OK, sem skoraj vem.
Vem, da moram skozi ponovitev.
Vem, kaj moram preveriti.
Samo jaz ne povsem dobili kako ga spremeniti.
Boš v redu.
Ja, boš izgubiti par točk,
vendar se še vedno dogaja, da bi dobili lepo število točk za nečim
kot je ta, če ste manjka ti dve vrstici.
Jaz bi bil všeč OK, to osebo ve, kaj počnejo.
Math je težko.
Torej, jaz bi rekel, da boš v redu.
>> OK, tako da fantje pripravljeni Poskusite strlen s kazalci zdaj
da so si fantje kazalec mojstri?
Tako da bom pustil vidva delo o, da je za malo.
Če kdo potrebuje osvežitev.
Torej jo želite uporabiti kazalec aritmetika, in potem, če je ničen,
Vaše izvajanje mora vrniti 0.
Stvari, kot je ta, da se boste res vesel, da samo pokliči strlen
na koncu dneva.
Mislim, da je to ena morda malo lažja od zadnjega, ki
je dobro.
Dam ti fantje še minuto, in potem bomo delo prek njega.
In potem smo dobili, da gredo do stikal.
>> OK, pripravljeni fantje?
Mogoče malo.
Tako sem vam vaši dana dve možnosti, kajne?
Bodisi preverite ničlo in če vrne 0 je, ali dejansko izračunati dolžino.
Torej, kdo hoče pisati preverite null?
Gre za to.
>> OBČINSTVO: Če oklepaju s enaka enaka null vrnitev 0.
ALLISON BUCHHOLTZ-AU: Lovely.
Obožujem, ko pol vaš problem je samo preverjanje null.
Vem, da z vama zadnji teden sem bil kot preverjanjem null
dobesedno vsak čas.
OK, SO-
>> OBČINSTVO: Če povratna 0 je samo ena vrstica, pa še vedno potrebujemo kodrasti nosilec?
>> ALLISON BUCHHOLTZ-AU: Saj ni tehnično jih potrebujete, če ste dosledni.
To je dobra praksa samo priti v navado
uporabe zavitimi oklepaji, vendar tehnično ne.
Jih ne potrebujemo za eno vrstico.
Smo samo ponavadi ga priporočam za ljudi, ki se začnejo s programom.
>> Torej, zdaj, kaj bi mi želeli narediti tukaj?
Zdaj vemo, da je naš niz veljavna.
Želimo, da izračun dolžine.
Kakšna je verjetno prvi stvar, ki jo želite narediti?
>> OBČINSTVO: Ustvarjanje int da je dolžina.
ALLISON BUCHHOLTZ-AU: Točno tako.
OBČINSTVO: In želimo, da jo nastavite na?
ALLISON BUCHHOLTZ-AU: 0.
Popolna.
Vse je v redu.
Zdaj Kaj želite narediti?
To je res večji del nje.
Gre za to.
>> OBČINSTVO: Torej ste verjetno naredil zanko.
In potem, ker ko si s pokličite ste dobili naslov prva stvar,
bi začeli z i enak 0.
In nato dokler x plus i ni vrnil poševnica 0.
ALLISON BUCHHOLTZ-AU: null terminator.
OBČINSTVO: null terminator.
Nato dodate enega do dolžine.
>> ALLISON BUCHHOLTZ-AU: Ja.
OK, tako da omogoča, da vključite v zelo konkretno kodo.
Ampak to je odlična ideja.
To je točno to, kar delamo.
Bomo lahko iterating skozi s kazalnikom.
Torej, kaj želimo narediti je namesto int
tukaj, ker smo se ne nanašajo na njo.
Mi smo se nanašajo na začetek Niz, ki se začnejo pri čemer nekateri naslov,
kajne?
>> Zato želimo kazalec.
Torej bomo imeli nekaj char zvezdo, ker ustreza našim ih, kajne?
Tako da je to neki točki smo inicializacijo na začetku niza, OK?
Torej, kaj je to samo pokliči i.
Če je začetek niza, kaj se dogaja, da se dodeli?
Ne 0.
Želimo, da bi bilo začetek našega niza.
Kaj predstavlja začetek naš niz, ki je bila dana za nas?
>> OBČINSTVO: Samo s.
>> ALLISON BUCHHOLTZ-AU: s.
Torej, to ustvarja nekaj novega, da kazalec predstavlja začetek našega niza, OK?
Drug način, da pomislim je, kot je naš niz.
To je naš niz, s.
Torej, recimo, da je to Prvi spot, in to je 0x4.
04.
To je naš s, ki ima ta naslov.
In smo pravkar ustvarili še eno, imenovano i, ki se nanaša samo na isto stvar.
Torej, oni so tako samo kaže na začetku našega niza.
To je le grafični prikaz.
>> Torej, zdaj, kaj želimo storiti je, da želimo Ponovil
naš pogoj za ponavljanjem preko našega niza.
Zdaj nakupovanje.
Dobil za nakupovanje, fantje.
Se želimo ohraniti posodabljanje dokler smo dosegli null terminator, kajne?
Torej, kaj bi to izgledal?
Ali želimo i, ali pa želimo zvezda i je vprašanje?
Je null terminator naslov ali kaj se nahaja na naslovu?
Nahaja se na naslovu, kajne?
>> Zato moramo sledenja, kar je tukaj, ker je to le nekaj naslov.
Dejansko dobil na začetku moramo dereference to
tako da bomo dejansko dobili kaj je v tem prvem mestu.
Torej, če naredimo zvezda i, kar Ne bomo ga želite enaka?
OBČINSTVO: Back slash?
>> ALLISON BUCHHOLTZ-AU: Ni.
Ali to smiselno za vsakogar?
Moramo iti v našo vrvico in se prepričajte, da to ni konec.
In potem smo lahko samo posodobite takole.
Normal posodabljanje.
Torej, dokler so ti MET, kaj moramo storiti?
>> OBČINSTVO: Dolžina plus plus.
>> ALLISON BUCHHOLTZ-AU: Mm-hm.
In potem, ko zanko odpove, kaj želimo, da se vrnete?
OBČINSTVO: dolžina?
ALLISON BUCHHOLTZ-AU: dolžina.
Tukaj imaš.
Očitno meso tale je razumevanje tega za zanke.
Ali so vsi dobili, kako je delal?
Jaz sem vesel, da gredo nad njim znova.
>> OBČINSTVO: Drugo del, tako da zvezde i tam,
to je naslov first--
ALLISON BUCHHOLTZ-AU: To ni naslov.
To je tisto, kar je na.
OBČINSTVO: To je pravzaprav tam.
ALLISON BUCHHOLTZ-AU: To je kaj se je dejansko tam.
Torej, to je saying-- pustiti mi, da je to bolje.
Torej, to je 0x04, in sem le, da bo povedati, da sem bom, da bo to moje ime.
OK.
Ja, vem, da nocoj pregledu kviz imam.
Veliko pregleda kviz.
Torej, recimo, da ta niz je moje ime, Allison.
Malo grdo, ampak to je tam.
In y predstavlja mesto kje se začne niz,
tako da sem bom, da bo to real-- to je naslov,
kjer Niz se začne, kajne?
>> Torej, kaj počnemo tu želimo uporabiti napotke Ponovil skozi.
Tako smo ustvarili nekaj kazalec, i, da tudi je enako začetku niza.
In na vsaki točki, želimo nadaljujemo skozi polja
tukaj, dokler ne zadeti null terminator.
Tako smo vedno želeli, da preverite, kaj je Vsako od teh naslovov.
>> Pa sledenja i, tako da Prvič smo ga počnemo
reči, OK, kaj je na naslovu 0x04?
To je.
OK, mi smo dobri.
Prirastek dolžine.
Premaknete na naslednjo.
Torej i-- spomnite kazalci povečanje za Velikost karkoli oni kažejo na.
Torej v tem primeru, ker je char, da bomo posodobili z enim.
Torej, zdaj gremo pogledati 5, kar pomeni, da se dogaja tukaj.
Tako pravi OK, pojdite na 0x05.
Kaj je tam?
To je l.
In da bomo vztrajati početje, da dokler ne zadene to.
In pravi, OK, kaj je v karkoli naslov je to?
Null terminator, OK.
Exit.
In samo vrnitev dolžino.
Zato, ker morate, kaj je dejansko na da naslov, ni naslov sama.
>> Obstaja zelo malo krajev, kjer dejansko potrebujete naslov.
Večino časa, ko ki ga uporabljate, in to je
ko ste prvič dodelitev kazalec ali ko
ste, da ga usmerimo v drugo funkcijo.
OK, vsi dobro tam?
Vrsta?
OK.
>> Torej izgleda, da smo jih dobil približno 12 minut v levo,
tako da bova šla na morda naša zadnja problem,
in potem je kdo koncepti, ki so prišli gor
V vmesnem času smo lahko hitro iti čez to.
>> Torej preklapljanje prestav je last problem tukaj, preklopite izjave.
Torej, vaša naloga je, da to znova tako, da se obnaša enako
vendar ne uporabo stikal.
Bleda roke.
Torej na vsa vprašanja o tem off kij?
Nobeden?
OK.
Ali vsi razumejo, da če primer nima nič po njej,
to pomeni, da bi morala sledite naslednji korak?
Torej primeru 1 in 2 v tem primeru narediti točno isto stvar.
Včasih točka zmede.
>> Vse je v redu.
Kdo kakšne ideje?
Ja?
>> OBČINSTVO: Torej lahko pač če izkazih.
>> ALLISON BUCHHOLTZ-AU: Mm-hm.
Torej, kaj je naša prva?
>> OBČINSTVO: Če je n enak enaka 1, in 2 linije za ali n enakih
enak 2, nato natisniti majhna.
In potem lahko narediš else if?
Ali pa si naredil, če?
>> ALLISON BUCHHOLTZ-AU: Lahko naredite else if?
>> OBČINSTVO: Ali bi bilo pomembno, če boste to storili, če?
ALLISON BUCHHOLTZ-AU: Tako je.
Ali anyone-- je tako, boste dobili enake moči
Če uporabljate samo investicijski skladi v primerjavi Če uporabljate drugje IFS.
Lahko mislita razloga zakaj boste morda želeli uporabiti drug
če versus veliko investicijskih skladov?
Je z učinkovitostjo.
Ja?
>> OBČINSTVO: Bilo preveriti vsi jev vsakič.
>> ALLISON BUCHHOLTZ-AU: Torej, tudi če zadeti to prvo,
da bi šel na check vsak drugi eno.
Torej hočeš, da uporabite, če drugje investicijskim skladom primerih kjer bo le kdaj velja eden izmed njih.
Tako vzajemno izključitev tisto, kar smo vajeni reči.
Če imate kup investicijskih skladov, to pomeni, da morda več kot eden izmed njih
zadeve, in morda več kot eden od njih je lahko res.
In želite, da oba izvršiti, če si res.
Če želite le eno izmed njih za delo v teh izključujočih primerih,
želite uporabiti drugega, če zaradi vse to je povezano z učinkovitostjo.
Vaša koda je le bolje zasnovano če se prime na to prakso.
Torej, v tem primeru bomo imeli else if.
In to bi bilo?
>> OBČINSTVO: n enaka enak 3.
ALLISON BUCHHOLTZ-AU: Popolna.
Print medij.
Nato pa v naš zadnji Primer, kaj imamo?
Drugega ali pa če?
OBČINSTVO: Else.
>> ALLISON BUCHHOLTZ-AU: Ali smo want-- Hočeš else if ker imamo konkretne primere.
To ni nekakšna ulova vseh.
Če ste imeli privzeto v switch-- ne pozabite na stikalih lahko imeli primera,
in potem imate privzeto.
Če ste imeli privzeto, da je nekako svojega drugega izjavi tam.
Ampak, če ima le primere, to pomeni, da boste morali
da preverite, če je vsak od teh.
Torej, v tem primeru, da bi 4 ali 5.
Želimo natisniti off.
To je velika.
In tam greš.
In da bi bila vaš program.
>> Torej, v tem primeru, če bomo imel privzeto nekaj,
mi bi imeli drugje v vse, kar je želel, da storimo.
Tako, da je dobro razlikovati vedeti, da ga razumejo.
Ali se da pomagati s stikali za vas?
Popolna.
Vse je v redu.
>> Imamo približno osem minut levo.
Ali menite, fantje so koli drugih konceptov na visoki ravni?
Vprašanja, na splošno?
Ja?
>> OBČINSTVO: Imel sem Vprašanje o eni od njih
da je bil o random število generator na kvizu ničelno.
ALLISON BUCHHOLTZ-AU: Oh, da je eden.
Ta je še ena, kjer je bolj math than-- ja.
Rešitev za that-- tudi jaz, ko Vidim, da sem všeč, kaj je to.
>> OBČINSTVO: To je bila številka 7.
>> ALLISON BUCHHOLTZ-AU: Čudno je, po mojem mnenju.
Torej v bistvu hočeš uporabiti drand48, ki
vam bo dal nekaj število med 0 in 1.
In želite, da ga uporabljate tako, da ste nekako dobili a--
in to je veliko bolj matematični problem do mene, kot mislim, da je problem CS.
>> Način, da it-- storiti in Včasih bo to šele biti tako.
Ponovno, to so primeri, ko se je nekako
od kot pišete, kaj vas lahko in delno kredit.
Torej, če želimo vrnitev, vemo, da smo
bomo uporabili drand48 na nek način, kajne?
Torej, zakaj ne bomo samo zapišete, da dol.
Mi smo ga uporabljate na nek način.
Način, da imajo vi uporabljate je
kot je ta, ki ga bom poskusila razložiti.
>> Torej v bistvu, kaj se dogaja tukaj je zato, ker je med 0 in 1,
kaj delaš, je to, da se pomnoži by-- to je zelo veliko math vprašanje.
Samo polno disclaimer, to je popolnoma math vprašanje.
Kaj delaš, je zaradi 0 in 1 in vi
želijo, da bi bilo v To območje, ki jih dejansko
ugotoviti, kako velika razpon je, in nato
ste v bistvu ga povečati, ki je, kaj je to.
>> b minus vam daje to območje, Razlika med temi številkami.
Lahko množijo med 0 in 1, in nato z dodatkom pravkar
pomeni, da si jo okrepili tako da je med A in B,
ki mi ni res všeč ta problem.
Kot sem rekel, ta kviz je mišljeno, da obsega
ljudje, ki so manj udoben, nekje vmes,
in bolj udobno.
Torej, če jim je uspelo tako, da je bilo nekaj
da vsakomur manj udoben prostor bi dobili,
bi imeli veliko preveč ljudje točkovanje dopolni,
in bi bolj udobno bo dolgčas.
>> Tako da imajo vedno ti vrsta možganov teaser vprašanja
ki so mišljeni kot malo težje da traja nekaj ustvarjalnega razmišljanja.
Ko jih vidiš, ne preveč težavno vprašanje.
Jaz bi zagotovo rekel, flip skozi kviz prvi.
Reševanju težav, da boste vedeli, da lahko,
ker ni uporaba zatakne na problem, kadar obstajajo tri
ali štirimi ali petimi na strani potem lahko enostavno narediti.
>> OBČINSTVO: Zakaj ravno kajne pomnožite območju?
>> ALLISON BUCHHOLTZ-AU: Če pomnožimo doseg, ki ste know-- je kot koliko po
hočeš?
Torej si lahko zamislite, ker ji vrne število med 0 in 1,
lahko si o njej mislijo kot odstotek.
Torej, to je v bistvu rekel, če imamo naša linija tu, je tu,
in b je tukaj.
Ste kot koliko mimo je to?
Je vse, kar počneš.
Torej ste pravkar prosi za Odstotek tem območju, ki
je tisto, kar vas bo to daje.
In potem si v bistvu samo tako povečati z dodajanjem.
To je math možganov teaser.
>> Če je bila v zadnjem trenutku, svetovanje, I bi rekel, flip skozi vprašanja,
ugotoviti, katere so tiste, ki jih vem, da podobno, oh imam to.
Skoraj zagotovo se boš biti vprašanja, da ne boste vedeli,
ali pa, da boste imeli čas za tako zadeti svoje prednosti, OK?
Vidva se bosta super.
Obstaja veliko Vprašanja za razlog,
tako da imate čas, da vrste imajo možnost
pokazati, kaj ste res dobri.
Torej, to je v redu, če ste ni dober v vsem.
Igrajo na svoje prednosti.
Ja?
>> OBČINSTVO: Torej, to bo vrniti nekaj, kar je odrezanim?
Ja, pa bo, ker drand vrne med 0 in 1.
To bomo vrnili int, saj bo odsekana
ko smo dodali ali pomnožite z njo.
Cool.
Morebitne last minute vprašanja?
>> Vi naredili super.
Ti boš, da je čudovito.
In tudi, če ne, pa bo biti sladkarije tukaj naslednji teden.
In ti bom všeč.
Jaz vam bo všeč fantje glede na to.
Vse je v redu, vsi, srečno.
Imajo veliko časa.
Boš v redu.
In veste kaj?
V dveh dneh se dogaja da bo konec, ker I
imajo dve kolokviji v četrtek, tako da vsaj se bodo fantje naredili.
Vse je v redu, bom videli fantje naslednji teden.