[00:00:00] [Jwe mizik] [00:00:11] Davin: Tout dwa, guys. Se konsa, sa a se revizyon an pou egzamen an premye. Èske tout moun pare pou egzamen an nan Mèkredi? ALLISON: Woo! ELÈV: Woo! Davin: Yeah. ALLISON: Yeah! Davin: Sa nèg la pare. Sa nèg, de men, bèl. Se konsa, egzamen revizyon jodi a, li la pral yo dwe sou yon èdtan ak yon mwatye. Nou pral ale sou gwo nan tout konsèp ou ta dwe konnen pou egzamen an. Nou pral ale sou kèk kodaj pa egzanp men yo, ki se sou chak egzamen. Men, si w gen kesyon, santi yo lib leve men ou ak tout bagay tankou sa. Oke, lojistik sou egzamen an yo sou entènèt. Se konsa, nou ap ale nan fann moun moute nan chanm diferan. Li nan ki baze sou non yo. Se konsa, si ou gen nenpòt kesyon sou kote yo ale oswa sou sa ki materyèl se, tankou, pawòl Bondye a ofisyèl sou sa k ap pase yo dwe sou egzamen an, tcheke sou entènèt. Epi sa a, tout jiska dat. Se konsa, si pa gen okenn kesyon yo kòmanse avèk yo, nou ap ale nan kòmanse. Ak isit la nan Allison. [00:00:56] [Batman men] [00:00:57] ALLISON: OK, mèsi, Rob. Apresye li. Davin ta dwe te ranvèrse nan sa a. Sa a se lis la ki pa konplè nan sijè, tankou toujou, kòm Davin jis te di. Konsilte dokiman an sou entènèt sou egzamen zewo. Men, sa a se trè much-- li nan sou progranm la se tout bagay nou te ale sou konsa byen lwen. Tout bagay isit la se jis jwèt, kòm byen ke nenpòt lòt bagay ki te ka te mansyone nan konferans. [00:01:21] Seksyon m 'yo, isit la, se jis yon anpil nan revizyon. Gen yon egzèsis koup ke ou nèg ta ka travay sou. Men, pou pati ki pi, nou reyèlman vle pou li ale nan Davin ak moun Kòd pa egzèsis men yo. [00:01:31] Se konsa, mwen pral jwenn vole nan sa a. Si w gen nenpòt kesyon, sispann m '. Leve men ou. Mwen te pwomèt mwen pral pwobableman wè ou. Si ou pa, jis balanse alantou li. Mwen pral yo dwe pale vit. Mwen espere tout moun se ok ak sa. [00:01:43] OK, mo espesyal, Davin evidamman bliye baskile nan glisad sa yo. [Ri] Ou se nan pwoblèm, moun. Se konsa, konsèy pou egzamen zewo, pratike kodaj sou papye. Ou nèg yo ale nan jwenn kèk pratike ak sa kounye a ak Davin, pou w pa yo pral konplètman nan tèt ou. Mwen panse ke nou ap aktyèlman pral nan de sa yo fonksyon. Se konsa, ou pral byen prepare a. [00:02:04] Dwe abitye avèk aparèy televisyon HD pwoblèm ou. Te gen kesyon sou ti tès anvan yo ki pral mande ou, pou egzanp, nan kòd moute yon bagay trè menm jan ak Mario. Se konsa, ke yo te trè abitye ak pwoblèm ou kouche, osi byen kòm kesyon yo nou mande w depi nan konmansman an sou fòm nan ke ou ranpli, yo pral sèvi ou trè byen. [00:02:20] Fè yon egzamen anvan yo anba tan kontrent yo. Ti tès sa yo se long. Tan an ale reyèlman vit. Epi byen souvan yo, ou pa reyalize ki jan vit li ale jiskaske ou aktyèlman mete tèt ou anba moun kontrent. Se konsa, si ou ka jis skilte soti, ou konnen, 75 minit, swa aswè a oswa demen yo pran youn nan ti tès sa yo anba sa, ou yo pral nan pi bon fòm. [00:02:41] Epi tou, kreye fèy referans ou yo. Sonje byen, ou jwenn youn devan paj ak tounen lakay ou kòm referans pou egzamen ou an nan Mèkredi. Kreye ki se yon bon fason yo etidye. Nenpòt bagay ke w ap gen pwoblèm avèk ou vle genyen ladan yo sou gen. Nenpòt bagay ki TFs ou yo te, tankou, sa a se reyèlman enpòtan. Ou ta dwe konnen sa a, se petèt bagay ou gen sou gen si ou pa gen yo memorize. Menm si ou konnen yo reyèlman byen, pafwa gen li sou la se jis kalite konfò pou ou, ki mwen konnen ti tès yo estrès. Se konsa, nenpòt konfò ou jwenn ka ede w. Tout dwa, tou, jwenn dòmi ak manje, yo renmen bagay sa yo nòmal ke nou di ou pou ti tès. [00:03:16] Se konsa, kòmanse koupe fasil, kalite done ak tout gwosè. Kòm mwen te di, sa a se jis ale yo dwe m 'voye yon anpil nan bagay moute isit la ke ou ta dwe konnen. Se konsa, nou gen charaktèr nou an ki se youn bytes, antye ki kat bytes, depi lontan lontan yo, ki se uit bytes. Fondamantalman, li nan jis ou vle kenbe pi gwo nonm antye relatif. Flote yo, ki se kat, double yo, ki se uit. Yon fwa ankò, jis ba ou plis espas pou flote ou. Lè sa a, tape zetwal, se konsa nenpòt konsèy sou yon machin 32-ti jan, ki se nou tout mesye bezwen yo konnen, se kat bytes. [00:03:44] Se konsa, tout bagay sa yo ou ta dwe konnen, petèt bagay ou vle gen sou fèy referans ou yo. OK, konvèsyon binè binè, konvèsyon ekzadesimal, retounen ak lide, tout bagay ou ta dwe konnen. Se konsa, soti nan binè desimal. Ou nèg vle pran yon minit rapid epi eseye ak figi konnen chak nan sa yo ak Lè sa a fè m 'konnen ki sa yo ye? [00:04:06] Mwen gen tou sirèt nan sak mwen an, se konsa nenpòt moun ki ki moun ki reponn vin sirèt, nan chemen an. Apre sa, mwen gen anpil bagay nan li. Kite m 'gen tan pwan sa a. Mwen pral bay sa a Gabe. Se konsa, ou ka men soti sirèt moun ki va nan bèl ak koperativ. [00:04:21] OK, mwen te wè yon men gen nan do a. [00:04:26] ELÈV: Yeah, yon sèl nan premye se 42. [00:04:28] ALLISON: Wi, premye a se yon sèl 42, kòrèk. ELÈV: [fèbl]. [Ri] ALLISON: Dezyèm yon sèl, gen tounen nan jòn? ELÈV: 110010. ALLISON: kòrèk, ak sa a yon dènye, desann isit la sou anba? Epitou, yeah, ou konnen vle a? Jis voye soti sirèt. Kouman sou sirèt pou tout moun? [00:04:46] ELÈV: [fèbl] lè nou ap fè. [00:04:47] ALLISON: Shh. Lè sa a, yon sèl ki sot pase a. Ki moun ki vle reponn? Dwa gen. [00:04:52] ELÈV: 11100. [00:04:54] ALLISON: 11100, gade nan sa. Felisitasyon, bon travay, tout moun. OK, tout moun kalite konprann pwosesis la pou fè sa? Ou te, ale nan binè desimal wout la mwen gen tandans fè li, ap ekri soti Pouvwa yo ki nan 2. Se konsa, mwen di, OK, 0 fwa 2 a 0, se konsa sa a, se 0, 1 fwa 2 nan premye a, se 2 ale ivè ki fason. nenpòt moun ki vle m 'klèman ale nan yon egzanp sou binè? OK, fre. [00:05:28] Desimal binè se yon bagay ki menm jan an. Mwen gen tandans ekri soti Pouvwa yo ki nan 2. Kòmanse ak yon sèl la ki se pi gwo, men se pa ale sot pase desimal a ke w ap chèche pou. Lè sa a, kalite travay fason ou bak ajoute moute bagay sa yo si sa nesesè. [00:05:42] Lè sa a, ak adisyon, li nan jis tankou de sa nòmal. Si ou janm gen ka a kote w ap ajoute de 1, li evidamman vin 2. 2 nan binè se kounye a 1 0 kidonk, ou bezwen pote ou nan pwochen 1 kolòn nan. Fre. [00:05:59] Ekzadesimal, sa a ta kapab yon bagay ki se yon ti kras mwens yo konnen yo. Se konsa, kòm Rob te jis di m ' davans, jwe fent l 'pou sa a se jis fann li moute nan kat fragman multiple, OK? Bits, regrèt. Al gade nan? Mèsi Rob. Sa a se poukisa ou isit la. [Bri] OK, se konsa nou jis kraze li moute nan kat Bits fragman. Se konsa, avèk binèr ekzadesimal, nou gade nan premye a 4, ki se si nou gen kat 1S nan yon ranje, ki nimewo ki senbolize? [00:06:25] ELÈV: F. [00:06:26] ALLISON: Se konsa, nan ka sa a, ki sa ki repons lan se wi 11111111 or--? ELÈV: FF. ALLISON: pafè, FF. Se konsa, gwo, sirèt pou ou. Koulye a, pou konbyen ekzadesimal binè, nou jis panse sou li kalite nan do. Pou chak nimewo oswa lèt ki nou gen nan ekzadesimal nou an, jis konvèti li nan ti jan kat li yo [Ri] nan konvèsyon kat ti jan li yo. Se konsa, 5, nan ka sa a, ki sa ki 5 si nou ap reprezante li ak kat Bits? [00:06:58] ELÈV: 010? Milimèt-HM. Lè sa a, A, ki se aktyèlman 10, ta dwe? 1010. Se konsa, nou gen sa, isit la. Se konsa, konvèti ant ekzadesimal ak binè aktyèlman se pa sa ki move. Si ou gade nan li nan kat ti jan fragman, pral fè lò. Everyone-- repons lan se wi? [00:07:19] ROB: Sa a se komik, men mwen toujou sonje Yon, depi Yon nan sipoze 10. Epi binè nan jis 10 10, so-- [00:07:26] ALLISON: Ah, gen nou ale. [00:07:27] ROB: Hey. [00:07:28] ALLISON: Hey, sirèt pou Rob. Gen bagay ki pa chokola nan la. Se konsa, ou ka gen kèk. Se konsa, ASCII matematik. Konpòte yo. Se konsa, ASCII matematik, kòm ou nèg pwobableman byen sonje p mete 2 ak Visioneer ak Seza, ou te fè yon anpil nan sa a. Sonje byen, karaktè yo yo fondamantalman jis chif yo. Se konsa, nou ka fè matematik ak yo, jis tankou nou fè matematik ak antye. [00:07:54] Se konsa, nou gen jis yon ti kras senp bagay isit la. Nou gen kèk nan A sa a, se inisyalizèd a 65. Ak B egal a valè a ASCII nan Yon plis 1, Char C egal a D mwens 1, ak Char D egal a 68. Se konsa, Lè sa a, nou pral ekri ak lèt ​​detache tout nan yo, jan nou wè isit la. Epi yo ka nenpòt moun ki di m ' ki sa sa a pral enprime soti? ELÈV: [fèbl]. ALLISON: Egzakteman, se konsa yon sèl bagay yo remake se ke nou ap enprime soti karaktè chak fwa, isit la. Nou ap deziyen menm si A ak B yo se antye lè nou te deklare yo pi wo a. Nou ap enprime yo kòm karaktè pa pousan C a ak deklarasyon printf nou an, Se konsa, yo pral tout enprime kòm karaktè. Ak nan kou, valè ASCII 65 volonte la enprime kòm A. Valè a ASCII nan Yon plis 1 ta dwe 66, ki ta fyè dèske nou B. Se konsa, an reyalite, nou jwenn A B C D. Tout moun bon a? Nenpòt kesyon? Awesome. [00:08:52] OK, sijè ki abòde. Se konsa, sijè ki abòde se evidamman yon trè bagay enpòtan yo konprann, isit la. Yon anpil nan ou, si ou gen konpile erè, epi li di ou pa gen aksè nan kèk varyab, li la pwobableman paske ou defini li nan yon bouk ak Lè sa a yo te eseye gen aksè a li soti nan li, oswa viza vèrsa. [00:09:12] Se konsa, sijè ki abòde nan nwayo li yo, li jis detèmine kote nou di yon varyab ki egziste, kote nou kapab chanje li, kote nou ka jwenn aksè li. Li nan jis kalite li di sa yo, se kote ki sèlman kote ou gen aksè sa a varyab. [00:09:26] Se konsa, de Scopes yo ke nou pale sou pandan klas yo mondyal ak lokal yo. Se konsa, varyab mondyal nou pale sou lè w ap defini yo pi wo a prensipal la. Sa vle di ke ou tout antye pwogram gen aksè a li, ak li egziste pou osi lontan kòm kouri yo pwogram nan, OK? Lokal vle di ke li nan plis nan prizon nan yon rejyon. Se konsa, chak fwa ou gen fonksyon espesifik tankou swap, nou toujou pale sou. Nou toujou pale sou swap ak A ak B. A ak B egziste nan ki fonksyon. Yo pa egziste nenpòt lòt kote. [00:09:56] Osi byen, lè ou gen si deklarasyon oswa pou pasan. Chak fwa nou genyen, pou egzanp, nan yon riban pou nou gen int mwen egal 0. Nou gen kèk kondisyon epi nou mete li. Mwen sèlman egziste nan la aparèy òtopedik nan ki pou riban. Si ou eseye gen aksè a li yon lòt kote, du ou ta rele nan ou. Li ta dwe tankou, ki sa ou ap eseye fè? Sa a pa egziste. Se konsa, sa a, se de a diferan kalite dimansyon. ki fè sans a tout moun? [00:10:23] Se konsa, pou egzanp isit la, sa a se jis kèk pwogram senp. Ki sa ou mesye panse ke se pral rive nan chak pwen ke nou eseye ekri ak lèt ​​detache? Se konsa, yon sèl sa a isit la, sa k pral rive? ELÈV: Li pral enprime twa. ALLISON: Dwa. Li pral enprime twa. Ki sa ki sou isit la? ELÈV: Li pa pral travay. ALLISON: Li pa pral travay. W ap soti nan sijè ki abòde, dwa? Varyab lokal yo pa egziste deyò nan aparèy òtopedik sa yo, tout dwa? Lè sa a, sa ki sou isit la? [00:10:56] ELÈV: [fèbl]. [00:10:57] ALLISON: Ki sa? Rob, ale. [00:10:59] ROB: Mwen jis te di. Varyab Global yo ta dwe mondyal souliye varyab. [00:11:04] ALLISON: Ah, repons lan se wi, regrèt. Mèsi, Rob. Rob a tankou du rezidan nou yo. Li pral jis rele nan nou lè nou bezwen li. [Ri] Wi, sa yo ta dwe varyab souliye mondyal. Se konsa, an konsideran ke ki te souliye mondyal varyab, sa ki pral rive isit la? ELÈV: Sa pral travay. ALLISON: Li pral travay. Se konsa, li pral enprime, se konsa jis yon trè senp egzanp. OK, prototip. Se konsa, evidamman, nou reyèlman mete aksan sou pou ou nèg fè fonksyon si li fè sans nan pwogram ou an. Men, nan kou, lè ou fè fonksyon pwòp ou a, tipikman ou pral defini yo apre prensipal la. Men, ou pral eseye rele yo nan prensipal la. Men, si ou pa sèvi ak yon pwototip, du ou yo ap rele nan ou. [00:11:46] Pwototip se fondamantalman jis di du ou ke mwen gen fonksyon sa a pi ba a prensipal la. Mwen pral rele li mwen anvan m 'defini li. Jis kenbe sou. Mwen te pwomèt ke li nan defini, epi ou pral gen tout bagay ke ou bezwen. [00:12:00] Se konsa, wout la nou fè l 'se jis ou retounen kalite, non fonksyon ou, opinyon ou lis. Li nan fondamantalman liy lan premye nan deklarasyon fonksyon ou. Li nan reyèlman tout li ye. Men, sa a se jis yon kalite jeneral nan fòma. [00:12:14] Se konsa, nan egzanp nou an isit la, ki ou nèg ta dwe te wè nan seksyon nan kèk pwen, nou gen kèk kib Int ki pran kèk Int nan opinyon. Epi nou gen prensipal nou an fonksyon, ki fè apèl kib. Ak kib se defini apre reyalite an. [00:12:28] Se konsa, si nou pa t gen opinyon kib Int nan tèt la, lè nou rele kib ki nan prensipal la, du nou an ta jwenn fache nan nou. Li ta dwe tankou, sa ki ou menm ki ap pale de? Kib pa egziste. Mwen pa konnen sa w ap mande pou. Apre sa, mwen jis ale kanpe. [00:12:43] Men, paske se nou te fè pwototip nou an nan tèt la, nou te di, ou konnen, lè ou wè kib, pa enkyete sou li. Mwen te pwomèt li a defini pita. Epi li pral kite ou fè sa ou vle. Se konsa, si ou te janm gen yon fonksyon ki se te deklare apre ou rele li la pou premye fwa, ou bezwen genyen li prototyped nan tèt la. [00:13:01] Wi? [00:13:02] ROB: Li nan okib, pa cubing. [00:13:04] ALLISON: Oh Bondye mwen an. Mwen pa t 'have-- Gabe, mwen te panse ou te Proofreader nou an. Mesye OK, pote avè m ', isit la. Mwen espere tout moun nan ap resevwa lide la. OK, se konsa sa a ta dwe gen te okib, pa Gleason. Men, lide a rete menm jan an. Nenpòt fonksyon ki nou ap rele apre reyalite a ta dwe gen yon pwototip. Tout moun bon ak sa? Nenpòt lòt tipo? OK. Nenpòt tipo isit la anvan nou kòmanse, Rob? [Ri] OK, se konsa strukt. Fondamantalman, strukt pèmèt ou yo kreye pwòp kalite done ou yo. Se konsa, anpil tankou yon int oswa yon Char oswa yon flote, li nan jis yon lòt kalite. Mwen renmen panse a li kòm, tankou, kreye pwòp kalite done ou yo. Se konsa, li pèmèt ou fè sa. Epi li kenbe diferan kalite done. [00:13:56] Se konsa, si ou sonje, nan yon etalaj, nou ka sèlman kenbe bagay sa yo nan kalite menm jan an. Strukt pèmèt nou kenbe miltip bagay nan kalite diferan. Se konsa, nan ka sa a isit la, nou gen yon struct rele elèv, yo te rele isit la nan pati anba nan. Epi nou gen kèk id Int ak kèk non fisèl. Se konsa, sa a se jis yon lòt kalite done. Nou kounye a gen yon kalite done yo rele Elèv la. [00:14:20] Se konsa, paske nou ka panse a li kòm jis yon lòt kalite done, nou ka deklare varyab jan nou ta nenpòt ki lòt. Se konsa, olye pou yo jis gen, tankou, yon Int elèv, nou jis gen yon elèv, elèv 1. Oh, gade. Li nan Rob. Se konsa, isit la nou ap deklare yon struct, oswa yon varyab rele elèv 1 nan kalite elèv yo. Se konsa, li ale nan gen id ak non asosye ak li. [00:14:45] Epi fason nou jwenn aksè sa yo eleman ki nan struct nou an se ak operatè a dot, isit la. Se konsa, nan ka sa a, nou te deklare kèk elèv 1. Nou asiyen ID a yo dwe 1. Apre sa, nou asiyen non an yo dwe Rob. OK, tout moun bon ak sa? Sèvi ak li jis like-- repons lan se wi? [00:15:06] ELÈV: Yeah, typedef-- lè nou bezwen yo sèvi ak tipedèf? [00:15:09] ALLISON: Se konsa, tipedèf jis di Rob that--, ou ka korije m 'sou sa a si mwen se wrong-- men tipedèf se jis aktyèlman deklare li kòm yon kalite ke ou ka itilize, dwa? [00:15:19] ROB: Yeah, li nan fondamantalman, se konsa li jis kreye yon alyas, oswa yon tinon pou yon kalite. Se konsa, ou ka tape ki [fèbl]. Se konsa, [fèbl] ki egziste, e kounye a, nou jis gen [Fèbl] vle di egzakteman menm bagay la. Se konsa, isit la, nou ap tape, mwen panse, kèk kalite struct 2 [fèbl]. Se konsa, li nan jis yon tinon pou yon kalite bay yo. [00:15:40] ELÈV: Fisèl [fèbl] bibliyotèk te tape moute tankou zetwal Char. [00:15:51] ALLISON: Pou rezon nou an isit la, si w ap deklare yon struct, jis fè tipedèf struct. OK, se konsa davans, sa a se jis yon varyab nòmal isit la. Nou gen aksè li ak yon dot. si nou gen yon konsèy nan yon struct, nou ka aktyèlman itilize yon flèch, ki se trè fre. [00:16:10] Se konsa, nan ka sa a, nou gen yon konsèy nan yon elèv 1 se sa ki nan kalite elèv yo. Sonje byen, ak ou konstriksyon konsèy, ou vle tou sa tape konsèy ou se montre nan yo dwe nan konmansman an. Se konsa, nou gen kèk elèv 1, isit la. E depi elèv sa a 1 se kounye a yon pwente, nou ka aktyèlman ale elèv Non 1 flèch olye pou yo dot, paske li nan yon konsèy, epi bay Rob. Epi, koulye a si nou vle chanje Rob Davin, sa a se jis ki montre ou yon fason diferan fè li. [00:16:43] Se konsa, olye pou yo lè l sèvi avèk flèch la, ou ka also-- Mwen pral fini sa a ak Lè sa a pran ki question-- ou te kapab tou fè elèv referans 1. Sa a li di tankou ale nan tou sa se nan elèv 1, ki ta dwe struct elèv nou yo. Aksè a li ak yon dot ak eleman nan ke ou vle, ak Lè sa mute li. Te gen yon kesyon. ELÈV: Wi, se konsa ki jan vini ou gen yo sèvi ak [fèbl] lè w ap fè zetwal elèv san yo pa [Fèbl] elèv? ALLISON: Paske sa a ap kreye yon konsèy. ROB: Nou pwal pale sou sa. ALLISON: Nou pral pale sou sa pita nan revizyon an. Se konsa, jis kenbe ki te panse. Si li toujou nwi w nan la fen, vini pale ak youn nan nou. [00:17:20] Se konsa, sa fè egzakteman menm bagay la. Nou jis ap montre ou de diferan fason yo fè li. Elèv 1 se kounye a yon konsèy, se konsa ou kapab jwenn aksè eleman nan Non ki nan struct a ak yon flèch. Oswa ou kapab dèreferans konsèy ou a, ak Lè sa a, aksè a li menm jan ou nòmalman ta. Èske sa fè sans nan tout moun? Si konsèy antye bagay sa yo se yon ti kras konfizyon, Gabe pral pale sou sa, ak Lè sa a petèt sa a pral fè plis sans. Wi? [00:17:46] ELÈV: Wi, se konsa ki jan pou sa a diferan de la? ALLISON: yon sèl nan anvan yo? Se konsa, elèv la 1 nan sa a a se pa yon konsèy. Se jis nan struct aktyèl ou yo. [00:17:54] ELÈV: OK. [00:17:55] ALLISON: Lè nou konsidere ke yon sèl sa a se yon konsèy nan yon struct. [00:17:58] ELÈV: OK, men fè li kalite fini k ap travay menm [fèbl a]. [00:18:02] ALLISON: Li efektivman travay menm bagay la. Sentaks ou se jis diferan. ELÈV: OK. [00:18:05] ALLISON: Yeah, yo se efektivman menm bagay la. Li nan jis depann sou kontèks, ou ka vle yon sèl sou lòt la. Wi? [00:18:11] ELÈV: Lè w ap fè referans sou 1-- la ALLISON: Milimèt-HM? ELÈV: Poukisa ou gen parantèz yo? ALLISON: Paske elèv 1 se konsèy la. Se konsa, ou bezwen asire w ou se jis dereferencing konsèy la. [00:18:22] ELÈV: OK. [00:18:23] ALLISON: Se konsa, nan ka sa a isit la, parantèz yo bò kote l ' vle di w ap dereferencing elèv 1. Se konsa, w ap ale nan kote elèv 1 pwen, ki se struct ou yo. Se konsa, kounye a ou ka panse nan li kòm ki struct, pou nou ka sèvi ak operasyon dot nòmal nou an. Nenpòt lòt kesyon? Cool, pè. [00:18:48] Se konsa, bagay pase a, mwen panse ke se dènye glise m 'yo, woo! OK, se konsa k ap flote pwen enpresizyon. Nou te pale yon ti tan sou sa a pandan konferans. Fondamantalman, nou gen enfiniman anpil nimewo reyèl. Men, si nenpòt nan ou nèg renmen matematik, gen nan tout kalite bagay fre ak nou. [00:19:05] Men, gen enfiniman anpil nimewo reyèl. Men, yo ap sèlman fini anpil Bits ke nou genyen. Se konsa, w ap toujou ale nan gen enpresizyon, se tout. Epi sa a, sa a, se jis kalite tankou yon bagay ou ta dwe konnen. Sa tankou nou ka mande ou poukisa pwen k ap flote enpresizyon egziste? Se konsa, jis yon bagay ou ta dwe konnen. Se avèk ke, mwen vire li sou nan endikasyon. [00:19:27] Binky: Hello, guys. Binky Non mwen la. Mwen pral pale sou endikasyon. Yeah, se konsa endikasyon se aktyèlman pati pi renmen m 'nan kou sa a. Se konsa, jis fè klè sa Allison te pale sou isit la, se konsa rezon ki fè yo why-- diferans la sèlman isit la, diferans nan gwo te wout la nou deklare bagay sa yo. Se konsa, zetwal elèv vle di sa a se yon konsèy nan yon elèv. Lè nou konsidere ke glise a anvan, elèv la se yon aktyèl struct, tankou yon elèv aktyèl, ki gen ladann nenpòt nan bagay sa yo. [00:19:54] Ak rezon an poukisa nou vle to-- wi, Davin? [00:19:57] Davin: Ki sa flèch la vle di? [00:19:58] Binky: flèch Vle di nan egzakteman menm jan sa a. Se konsa, ou pa reyèlman bezwen flèch la. Tankou, si w ap sèlman pwogram nan C, ou ka jis sèvi ak sa a. Padon, mwen pa fè sa ki sa ki se. Ou ka jis itilize sa a sentaks. [00:20:14] Men, gen kèk moun, lè yo te desine C, yo kalkile ke gen moun ki itilize ki sentaks anpil, yo ke yo pral renmen jis vini ak yon estrikti sentaks pou li. Lè sa a te pran plas nan fòm lan nan flèch sa a. Lè li nan reyèlman bon, paske li senbolize yon bagay tankou nou ap aktyèlman yo flèch sa a, sa a konsèy, nan direksyon kèk espas nan memwa. Men, lè nou rive la, nou vle gade nan non an nan ki elèv, si sa fè sans. OK? [00:20:43] Se konsa, sa a se egzakteman menm bagay la. Sa a se egzakteman menm bagay la kòm sa a. Yo jwenn konpile ekzakteman menm bagay la, OK? Ak rezon an poukisa nou isit la malok yon bagay, se paske nan ka sa a, varyab nou an se aktyèlman jis yon varyab konsèy. Se konsa, nou sèlman gen kèk espas nan memwa ki nan kenbe yon konsèy. Nou pa vrèman gen nenpòt espas ki kenbe struct a vrè. [00:21:06] Se konsa, sa a gen yo dwe fè nan de etap. Nou gen yo kreye nan memwa yo mete struct a nan. Epi nou gen yo kreye nan memwa yo mete konsèy la a. Se konsa, yo ap fondamantalman de varyab diferan, isit la. Youn nan yo se nan kalite elèv, eksepte li pa vrèman gen yon non. Ak youn nan lòt se nan kalite zetwal elèv yo. Lè sa a, elèv 1 pwen la, si sa fè sans. OK? [00:21:28] Se konsa, rezon an pou kisa nou itilize endikasyon se paske tout bagay nan yon òdinatè, chak varyab nan yon òdinatè gen de bagay sa yo. Li te gen valè li yo. Epi li gen adrès li yo. Ak yon bon fason yo konsevwa sa a se gen nan anpil pwoblèm lè ou eseye sèvi ak fonksyon. E nou pral pou yo eseye gade nan youn nan moun ki. Savwa, li pral panse a memwa kòm bwat. [00:21:50] Ou toujou te panse de varyab lè w di na egal 5. Ou panse nan mete 5 nan yon bwat. Se konsa, sa si ou vle pase ki int nan yon fonksyon? Ou jis pass-- mwen pa fè sa know-- x nan yon fonksyon. Men, sa ki k ap pase se nòmalman kòm moun, ou ta panse yon bagay tankou mwen se pase ti bwat la nan yon moun. Epi li pa reyèlman rive nan òdinatè. Kisa k ap pase se ou kopi valè a nan bwat la nan bwat moun nan. [00:22:17] Se konsa, sa mwen ap eseye di se ke si ou gen yon fonksyon regrèt isit la, si nou gen yon fonksyon tankou nan senk moute la, si ou eseye pase yon varyab, li nan jis ale nan kopi. Si yon no inisyalize egal 3, li pral a kapab bay kopi sa a valè jiska varyab yon nan moute a. OK, ak sa a se kalite rezon ki fè yo poukisa nou vle sèvi ak endikasyon. Paske olye pou yo bay jis valè a, olye pou yo jis pase jis valè a nan yon fonksyon, nou vle pase pa referans. Ki sa nou rele pas pa referans se kalite pou bay ti bwat la nan fonksyon an, se konsa ke fonksyon an kapab tou chanje valè yo nan ki bwat. [00:22:53] OK, se konsa jis kèk konsèy debaz bagay se yo kreye endikasyon, ou jis deklare li yon kalite, ak ou mete yon etwal dwa apre li. Ak kalite a se jis ki sa w ap lonje dwèt nan. Se konsa, si li nan yon etwal Int, w ap lonje dwèt nan yon int. Si li nan yon etwal Char, w ap lonje dwèt nan yon tablo. Men, si li la yon etwal elèv, w ap lonje dwèt nan yon elèv. OK? [00:23:08] Apre sa, yo ap tout 4 bytes lontan. Paske sa a varyab li fè sa pa aktyèlman bezwen kenbe yon Char, yon int, oswa yon elèv. Li sèlman bezwen yo kenbe yon adrès. Se poutèt sa yo ap tout 4 bytes lontan nan yon nòmal machin 32-ti jan. OK? Se konsa, isit la, x se yon varyab ki pwen yon int. pwen y nan yon Char. pwen z nan yon flote. Nenpòt kesyon isit la? Fre. Apre sa, yo se de diferan senbòl yo gen kenbe nan tèt ou lè vini nan konsèy la. Se konsa, indican ak dereferencing yo se yo menm gwo. Se konsa, comercial a nan la non varyab ba ou a? ELÈV: Adrès. Binky: Adrès. Se konsa, si ou deklare Int yon egal 5, Lè sa a, comercial nan yon ki pral ba ou adrès la. Epi ou ka aktyèlman eseye ekri ak lèt ​​detache ki ak wè sa ki adrès nan memwa varyab ou a gen. Lè sa a, dereferencing-- se konsa ke te indican, ap resevwa dereferencing la address-- se opoze a egzak. OK, jis tankou fwa se la opoze a yon divizyon, etwal se opoze a nan comercial. Se konsa, dereferencing vle di ale la. Se konsa, si ou bay star-- mwen pa know-- 50, sa a, se pral eseye pou yo ale nan adrès ki nan Nimewo 50 andedan nan òdinatè ou. OK, e poukisa fè nou wè yo ke yo ap opoze? Paske sa k ap pase si ou fè yon bagay tankou zetwal comercial yon? Oke, comercial yon ba ou adrès la nan yon varyab, adrès la nan yon. Men, zetwal vle di ale la. [00:24:35] Se konsa, sa k ap pase si ou ale nan adrès la nan yon? Ou jis ale nan yon, dwa? Se konsa, ale nan adrès ki nan yon se menm bagay la kòm yon. Se poutèt sa yo ap anjeneral refere yo bay same-- a sa a ak sa a yo refere yo Operatè kòm opoze. OK? Se konsa, fre. [00:24:53] Anba kapo machin lan, pou egzanp, si nou deklare int x egal 5, nou gen yon varyab. Epi sonje ke mwen te di chak variable-- ak sa a se yon bon bagay kenbe nan mind-- li te gen de bagay sa yo diferan ki asosye ak. Li te gen yon adrese ak yon valè. OK? [00:25:07] Se konsa, valè a nan ka sa a se 5. Epi adrès la is-- kite la di, mwen se fè yon bagay up-- li nan 0x04. Ak rezon a sèlman poukisa nou anjeneral reprezante adrès nan ekzadesimal se youn, paske li nan tankou bon. Li ale byen ak binè. Li fasil konvèti pou ale ak pou soti nan binè. Epi li pa jwenn twò gwo si ou gen yon trè gwo kantite. Se konsa, nou renmen itilize ekzadesimal nan adrès enprime. Men, mwen te kapab reprezante sa a kòm yon nonb antye relatif. Li nan amann. [00:25:32] Se konsa, li gen yon adrès 4 ak yon valè de 5. Lè sa a, m 'te di etwal Int konsèy. Se konsa, sa a se yon kalite diferan, avi. Int konsèy zetwal egal adrès ki nan x. Se konsa, sa a pwal valè a nan ptr? Li nan pral fè a adrès nan x, desann isit la. OK, se konsa se valè a ale nan menm bagay la tou kòm adrès la. Sa a plasman an opere m ap fè. Lè sa a, ptr ki pral gen adrès pwòp li yo, ki vire soti, nan ka sa a, 8 la, OK? [00:26:03] Lè sa a, mwen kreye yon nouvo kopi nonb antye relatif. Apre sa, mwen di kopi Int egal ale la. Se konsa, ale nan sa ptr ap montre yo. Oke, sa ptr sa a genyen? Ptr gen 0x04. Kisa k ap pase si mwen eseye ale la? Mwen pral jwenn nèg la ki gen adrès x ak ki moun ki gen adrès 4. Epi ki moun ki gen adrese kat se x. ki fè sans? Wi? [00:26:28] ELÈV: Nan ka sa a, se konsèy la nan yon pil? [00:26:32] Binky: Nan ka sa a, it's-- bon kesyon. Mwen pa t 'reyèlman panse sou sa a lè yo fè moute sa yo adrès. Men, si sa a se, tankou, tout sa yo, se varyab lokal, Lè sa a, x ki pral viv in-- tout bagay ki pral ap viv nan chemine a. Se konsa, tout bagay pral yo dwe montre nan chemine. Ou sèlman jwenn yo pil wòch la lè ou kòmanse yo sèvi ak malok, dwa? [00:26:52] Se konsa, si ou sonje pil se chak fwa ou rele yon fonksyon nan pwogram ou an, tankou, prensipal pou egzanp, oswa nenpòt ki lòt fonksyon, tankou printf. Tout moun nan varyab yo lokal yo pwal jwenn mete nan yon ankadreman chemine. Apre sa, yo ap ale nan jwenn tankou ranmase kò l 'nan chemine a. Sa a ki sa yo rele yon pil. Apre sa, tout sa yo varyab lokal yo ale nan dwe la. Epi heap-- la epi nou ap ale yo pale plis sou sa later-- pil wòch la se kote tout nan dynamique resevwa lajan lavi memwa. Cool? [00:27:20] Nou ale nan glise sa a. Wi? [00:27:22] ELÈV: Poukisa se pa sa Int kopi retounen 0x04? [00:27:27] Binky: Poukisa se pa sa Int kopi retounen 0x04? [00:27:30] ELÈV: Poukisa se sa [fèbl] pa? [00:27:32] Binky: Paske sa ki se yon valè de ptr? [00:27:37] ELÈV: 0x04. [00:27:38] Binky: 0x04. Kisa k ap pase si ou ale nan 0x04? Ki sa ou jwenn? [00:27:41] ELÈV: Oh, OK. Binky: Ou wè? ELÈV: Wi. Binky: Se konsa, ou jwenn 5. Se konsa, kopi ki pral gen 5, si sa fè sans. Wi? [00:27:49] ELÈV: Te kapab nou te vinn 5 nan ti bwat la valè [fèbl] si nou mete int kopi [fèbl]. [00:27:55] Binky: Int nou ta, yeah. Sa ta te fè bèl anpil menm bagay la. Men, fason sa a, nou ka pase adrese fonksyon. Epi sa a, bagay la fre nou ap ale nan fè sa ki dwat kounye a. [00:28:06] Se konsa, sa a kalite fè egzèsis toujou vini on-- trè anjeneral vini moute sou ti tès. Se konsa, li reyèlman bon pou yo eseye fè sa jan de bagay konsa tèt ou. Se konsa, eseye kenbe tras nan sa adrès la se epi ou vle valè yo nan varyab yo se nan chak pwen. Se konsa, sa a se egzakteman ki sa nou ap pral fè. Isit la, nou gen etap, yon sèl, de, twa, kat, senk. Youn, de, twa, kat, senk. Epi nou ap ale nan kenbe tras nan valè yo nan x ak yon. [00:28:34] Se konsa, sa sa a ap fè, si sa a se yon buggy kòd, nou ap eseye pou fè pou senk. Se konsa, nou ap eseye jwenn nan yon varyab ak chanje valè li yo nan 5. Epi sonje analoji m 'lan nan li te gen yon bwat ak rmiz ti bwat la ak yon moun? Se konsa, prensipal la gen bwat sa a yo rele x. Epi li gen valè nan 3. Apre sa, mwen ap eseye men sa a bwat nan senk. [00:28:58] Apre sa, mwen vle senk a chanje valè a nan bwat sa a nan 5. Lè sa a, mwen jis ekri ak lèt ​​detache valè a nan x. Sa a se sa m 'fonksyon sa a se sa mwen ap eseye fè. Mwen jis ap eseye aktyalizasyon valè a nan x 5. Èske li klè sa ki fonksyon an fè? [00:29:16] OK, se konsa sa ki yo pral yo dwe an valè nan x ak yon dwa isit la, liy lan premye, dwat devan premye a line-- mwen ta say-- nan pwogram nan? [00:29:27] ELÈV: Pwobableman fatra. [00:29:28] Binky: Jis bagay fatra. Se konsa, mwen jis mete N / A. Se konsa, nou pa vrèman konnen. Tankou, yon pa menm egziste ankò, paske nou pa yo te rele nan senk. Int yon se pa sa te deklare. Ak x ki pral egziste isit la, men nou gen pa reyèlman asiyen nenpòt ki valè nan li, se konsa OK? [00:29:46] Lè sa a,, ki sa yo pral yo dwe an valè nan x ak yon nan nimewo de? [00:29:54] ELÈV: [fèbl]. [00:29:55] Binky: Se konsa, x ki pral yo dwe 3. Sa a fasil, paske nou ap plase 3 nan li. Ak yon toujou pa egziste paske yon jis ap viv nan nan senk. Se konsa, mwen pral gen 3 e pa gen anyen. oswa tankou fatra, kèlkeswa sa, pa reyèlman defini. Epi, koulye a, sa a se liy lan enpòtan. Isit la, nou ap ale nan aktyèlman rele nan senk. Epi sonje sa m 'te di. Nou pa janm pase nan bwat la. Nou jis kopi valè a nan ti bwat la nan yon lòt bwat. Sa a tout òdinatè, kopi bagay sa yo nan yon sèl kote nan yon lòt. [00:30:27] Se konsa, nan senk, ki sa li aktyèlman fè se li kopi valè a nan x nan yon. Se konsa, sa a pwal isit la? Valè yo nan x ak yon. 3 ak 3, nou pral jis kopi li plis pase soti nan x nan yon. Fre. [00:30:45] Koulye a, nou ap isit la. Epi, koulye a nou ap ale aktyalizasyon yon egal 5. Ki sa ki nan pral rive nan liy kat? [00:30:55] ELÈV: [fèbl]. [00:30:56] Binky: yon vin mete ajou, men x pa t 'jwenn ajou. Paske x toujou ap viv nan prensipal yo, li nan yon konplètman diferan blòk nan memwa. Li nan yon varyab diferan. yon se yon lòt varyab. Yo rive gen nan menm valè paske mwen kopye sou valè a nan x nan yon. Men koulye a, lè m 'fè yon egal 5, li pa reyèlman efè x nan okenn fason. Sa a se yon pati nan Delice. Èske li fè sans bay tout moun? Wi? ELÈV: Youn nan pi plis kesyon, ou gen 3. Poukisa se yon deja- oh, pa gen okenn, li nan 3. Padon, pa janm lide. Mwen li 5. [00:31:29] Binky: Yeah, 3, 3. [00:31:30] ELÈV: [fèbl], yeah. Binky: Lè sa a, nou bay 5 a yon, men se pa reyèlman chanje x. Bon? ELÈV: Wi. Binky: Wi? Èske ou ka eksplike ki jan ankò vin yon kopye [fèbl]? [00:31:42] Binky: OK, se konsa lè ou rele nan senk nan x, kidonk sa a liy nan kòd isit la. a senk nan x, ki sa ki x? x se jis 3 nan pwen sa a, dwa? Se konsa, ou ta ka jis panse a mete yon 3 nan isit la ak bliye sou x. Jis mete yon 3 isit la. Tankou, nou ap ale nan kopi sou la valè de x nan yon Int nan sa a, se moute a. OK? [00:32:13] Se konsa, valè a nan x se 3. Nou pral kopi 3 sou nan yon. Apre sa, tout sa a blòk lòt kote nan memwa, lòt sa a varyab rele yon ap gen 3, kòm byen. ki fè sans? Wi? [00:32:25] ELÈV: Si ou bay nan senk tankou gen li kòm nonm antye x olye pou yo yon, ta ki ranje tout bagay? [00:32:32] Binky: Si li nan yon nonb antye relatif pa gen okenn, ki pa ta ranje tout bagay. Se konsa, sa a, se yon kesyon trè bon. Li pa reyèlman gen pwoblèm sa ou rele sa yo varyab. Yon fwa ankò, li pral yon pwoblèm nan sijè ki abòde, paske yo pa ap menm x la. Yo ap konplètman espas diferan nan memwa. ELÈV: [fèbl]. Binky: Se konsa, li pa vrèman gen pwoblèm sa ou rele yo. Sa pa ranje bagay sa yo, OK? Plis kesyon? Wi? [00:32:55] ELÈV: Kouman se li tounen nan Nimewo senk [fèbl]? Binky: OK, nou pa gen fè sa ankò. Ann al nan nimewo senk, lè sa a. [00:33:03] ELÈV: [fèbl]? [00:33:04] Binky: Ki sa? [00:33:05] ELÈV: Èske ou gen yon retou nan tout? Binky: Nou pa gen yon retou, pa nan prensipal la. Men, retounen prensipal 0 otomatikman si ou pa retounen anyen. Wi? [00:33:15] ELÈV: Èske ou ta kapab fè main-- oswa ou te kapab fè nan senk retounen yon? [00:33:24] Binky: Nou te kapab gen a senk retounen yon, wi. Men, lè sa a nou ta gen yo asiyen x egal valè a retounen nan nan senk, ki ta dwe yon ti kras diferan pwogram. Li ta travay. Men, sa nou vle fè se ki sa ki rele chanjman yon bagay nan plas. Se konsa, nou vle aktyèlman chanje sa ti bwat epi yo pa enkyete sou li te gen retounen valè oswa anyen. OK? [00:33:46] Sa a se jis tankou fonksyon an swap David te montre nan konferans yo, eksepte mwen se sèlman fè fas ak yon varyab. Apre sa, li itilize de, se konsa int a ak b ak Lè sa a, pou yon ti tan varyab ak etajèr. OK? Se konsa, sa ki nan liy ki sot pase? Apre retounen nan senk, li nan tou senpleman yon la ki pral ale. Nou pa pral gen yon ankò, ak sèlman x ap toujou ap viv sou. [00:34:10] Ak devine kisa? x pa t 'chanje valè li yo, apre tout, paske nou sèlman chanje valè a nan yon. Se poutèt sa x te 3 nan tout. OK? Bon. Se konsa, pwogram sa a pa fè sa reyalize ki sa nou te vle. Koulye a, kite a fikse li. [00:34:24] Ak pwogram nan ranje a se lè l sèvi avèk endikasyon. Ki sa nou fè se nou gen twa liy ki yo diferan. Yo menm ki premye se nou pa ap pase x. Nou ap pase adrès ki nan x. Se konsa, olye kopye sou valè a nan bwat la, Mwen toujou ale nan kopi sou yon bagay. Men, mwen kopye sou adrès la nan bwat la. [00:34:45] Se konsa, si mwen pase adrès ki nan la bwat nan senk, lè sa a nan senk yo pral kapab jwenn ke nan memwa ak chanje valè li yo. [00:34:53] Se konsa, ak Lè sa a moute gen, mwen gen ke yon se pa yon int ankò. yon se yon etwal Int. Li se yon konsèy nan yon nonb antye relatif. Epi lè sa a, nan paske mwen pase adrese isit la, ak Lè sa a, sa m 'fè se pa yon egal 5, paske yon se kenbe yon adrès. Se konsa, sa m 'vle fè se ale la epi aktyalizasyon sa ki nan adrès sa a ak 5. [00:35:18] OK, se konsa kite a ale nan tout liy youn pa youn. Se konsa, lè mwen kòmanse isit la, mwen toujou gen N / A, N / A, N / A pou tout bagay nan premye a liy, paske mwen pa gen reyèlman te deklare bagay ankò. Lè sa a, liy de, mwen gen x egal 3. Yon etwal Int yon pa egziste, menm bagay tankou anvan. [00:35:39] Koulye a, li vin enteresan. Se konsa, mwen pral pase. Li kite yo asime ke adrès la nan x se 12 nan ekzadesimal. Se pou nou jis asime sa a. Mwen te fè l 'kanpe. Se konsa, ki sa mwen pase isit la se yon nan senk. Mwen pase 12. [00:35:56] Se konsa, sa ki valè yon genyen? [00:36:04] ELÈV: [fèbl]. [00:36:06] Binky: Padon? [00:36:06] ELÈV: [fèbl]. Binky: Yeah, tankou, kite a asime ke nou yo isit la, kounye a. Mwen mande. [00:36:12] ELÈV: [fèbl]. [00:36:13] Binky: Li te inisye. [00:36:14] ELÈV: [fèbl]. Binky: Paske nou te pase yon bagay yo fonksyon an. Wi? [00:36:19] ELÈV: Adrès moun ki x. Binky: Li nan ale nan gen adrès ki nan x. Epi adrès ki nan x se 12, bon. Se konsa, x ki pral dwe 3, paske nou pa gen reyèlman chanje x ankò. Lè sa a, yon a pwal 0x12, se konsa adrès ki nan x, paske sa a, se ki sa nou te pase nan nan senk. [00:36:38] Lè sa a, sa k ap pase si nou eseye ale la? Ki sa yo nou pral jwenn? Se konsa, si ou eseye ekri ak lèt ​​detache zetwal yon, nou ap ale nan adrès sa a swiv epi pou yo jwenn valè a anndan an. Ak valè a se jis valè a menm ki x gen paske se sa a adrès nan x, ki pral 3. Eske nou kwè nou bon? [00:36:56] OK, ak Lè sa a, koulye a, nou aktyèlman ale la. Apre sa, nou mete tou sa se nan adrès sa a 12. Nou fè li 5. Se konsa, kounye a tou de x ak zetwal yon yo se 5. [00:37:13] Poukisa se sa? Paske adrès ki nan x se 12. Ak yon te gen tou 12 kòm valè li yo. Se konsa, si nou swiv 12, nou ap jis ale nan jwenn x. Se konsa, tou sa nou fè ak etwal yon ki pral rive x, paske yon gen adrès ki nan x. OK? [00:37:34] Lè sa a se tankou neu a nan ranje a. Se konsa, kounye a nou ap kapab, soti nan nan senk, aktyèlman aksè memwa ki te rete nan prensipal la. Se konsa, sa a memwa pa abite nan senk, tankou anvan, adrès sa a 12. Apre sa, nou yo te kapab ale la ak chanje valè li yo nan 5. [00:37:50] Lè sa a, lè nou retounen, nou bliye sou yon. Nou bliye sou zetwal yon. Ak x se toujou senk. Se konsa, si ou vle aplike yon fonksyon swap, ou ta jis fè menm bagay la egzak, eksepte ou bezwen Int zetwal isit la, ak sou sa ak pou fè. OK? Eske nou kwè nou bon? Fre. [00:38:10] Se konsa, aritmetik konsèy. Sa a se yon sijè yon ti kras difisil. Se konsa, li sanble ke endikasyon yo se jis nonb antye relatif. Ou ka panse a yo kòm nonm antye relatif. Paske nan memwa, ou gen tankou memwa adrès zewo, yonn, de, twa, kat, senk. Se konsa, nou ka sòm adrès memwa. [00:38:23] Epi sa a, anjeneral ki sa ou fè lè w ap nan ak etalaj, pou egzanp. Yon etalaj se jis renmen yon vwazen blòk nan memwa, nan anpil nan charaktèr, pou egzanp, anpil nan antye. Se konsa, si ou vle pou yo ale nan la dezyèm int oswa bay twazyèm Int a, ou ka jis rapò kantite yon bagay yo premye a adrès, ak w ap ale nan jwenn la. Se konsa, sa a se reyèlman itil pou sa. [00:38:39] Epi bagay la kenbe nan tèt ou, menm si, se ke li pa nan jis renmen aritmetik nòmal nan sans ke si ou ap fè fas ak, di, yon etwal Int, epi ou ajoute 1 nan li, Lè sa a, ou pa ap ale ajoute 1 nan adrès la, w ap ale nan ajoute 4 nan adrès la. Paske yon int se 4 bytes. [00:38:57] Se konsa, sa a se jis tankou ap mache sou yon etalaj. Si nou gen yon etalaj de anpil bagay nan antye ak Lè sa a, nou eseye pou yo ale nan yon sèl, dezyèm lan, li nan fondamantalman jis adisyon a adrès nan yon sèl nan premye plis 1. Men, ki pa pral be-- jis kite a di ki adrès la nan yon sèl nan premye se 4. Isit la, nan ka sa a. Men, si nou rapò kantite, kidonk sa a se sa k ap pase. Nou gen yon int. Int x egal 5. X te gen yon valè 5. Apre sa, nou inisyalize sa a konsèy, int y etwal Int y egal adrès ki nan x. [00:39:31] Se pou yo asime adrès ki nan x se 4. Ki sa ki nan pral rive kounye a si mwen sòm ajoute 1 y? Li nan ale nan aktyèlman sòm 4 olye pou yo jis 1. Se konsa, mwen ajoute yon 1, men li aktyèlman te ajoute 4, paske òdinatè a entelijan. Se konsa, li k ap pase yo aktyèlman ajoute pa mwen fwa gwosè a nan kalite a nan konsèy la. OK? [00:39:58] Se konsa, si li te yon Char, pou egzanp, si sa a te yon etwal y Char, epi si nou te ajoute 1 Lè sa a, sa a ta gen 5, paske Char se 1 multiple lontan. Bon? [00:40:10] Epi finalman, nou te rive nan endikasyon ak ranje. Li sanble ke chak fwa ou ap fè fas ak yon etalaj, w ap aktyèlman fè fas ak yon konsèy. Trè bèl Rezon ki fè la konseptyèl ekspresyon pou sa a se ke ranje yo trè gwo. Se konsa, sonje ke mwen te di ke chak fwa ou pase bagay alantou li, ou kopye tout bagay. Se konsa, si ou gen yon etalaj sa a, se reyèlman, reyèlman gwo, ou pa reyèlman vle kopi tout bagay chak fwa ou pase l 'nan nan yon lòt fonksyon, paske sa se sèlman kantite lajan masiv nan travay. Se konsa, sa ou fè se jis sot pase adrès ki nan multiple an premye. Lè sa a, fonksyon an ap gen aksè tout eleman ki nan ki etalaj. Se konsa, ou te pase etalaj la pa adrès li yo, se konsa adrès ki nan multiple an premye. [00:40:48] Se konsa, si nou deklare int etalaj 3, isit la, nou konnen ki jan jwenn aksè nan eleman nan premye lè l sèvi avèk notasyon a bracket. Si ou sonje bracket a notasyon, etalaj bracket 0 egal 1. Oke, sa a ta dwe egzakteman nan menm jan ak jis ale la, li mete 1. OK, se egzakteman menm bagay la. Se konsa, notasyon a bracket nan isit la yo pral menm bagay la kòm liy sa a. [00:41:13] Ak devine kisa notasyon a bracket pou etalaj bracket 1 pral? Li pral jis pou menm bagay la kòm sa a. Se konsa, ajoute youn nan etalaj. Deplase yon sèl ansanm nan memwa. Ale la, epi li mete yon 2. OK? Epi liy sa a nan menm bagay la. Nou vle pou yo ale nan twazyèm lan bwat, se konsa etalaj plis 2. Ale la, epi li mete yon 3. Se konsa, nan memwa, sa ki nan pral rive se nou ap ale nan gen 1, 2, ak 3 kòm nan twa eleman nan etalaj sa a. [00:41:44] Nou te kapab te fè sa a lè l sèvi avèk notasyon bracket abitye nou an. Mwen jis vle ou nèg yo konnen yo ke yo ap menm bagay la. OK, kesyon sou sa a? Nice. Koulye a, mwen pral lage li sou nan Ana, [00:41:59] HANNAH: Ye, Yee-Haw. [00:42:00] Binky: Pale sou memwa ak lòt bagay atik. [Aplodisman] [00:42:06] HANNAH: Hi, fre, se konsa nou ap pral pale yon ti jan ti kras pi plis sou memwa, ki nou jis adrese lè l sèvi avèk endikasyon. Se konsa, gen de pati prensipal la memwa ke nou ap konsène ak. Nou gen chemine a, ki ap grandi moute nan pati anba a, ak pil wòch, ki desann soti nan tèt la. Ak chemine a ki pral kenbe tout nan varyab egzanp nou an. Se konsa, chak apèl nan yon fonksyon vin pwòp li yo ti kras ankadreman sou pil la. Se konsa, kòm Gabe mansyone pi bonè, si nou rele fonksyon an ankò e ankò, nou ap ale nan chemine bagay yo sou pil la. [00:42:35] Epi Menm jan an tou, pil wòch la, ki kòmanse nan tèt la ki pral kenbe tout nan memwa a ke nou dynamique asiyen. Se konsa, jan nou dynamique asiyen memwa, sa a, m'ap desann nan direksyon pou anba a. Bagay Koup yo dwe okouran de lè nou ap lè l sèvi avèk chemine a ak pil wòch la, ak chemine a, si nou gen twò many-- kite nan say-- apèl repetitif, epi nou ap rele yon fonksyon ankò, epi ankò, epi ankò, epi ankò, ak li a anpilabl moute, anpilabl moute, anpile leve. Epi li k ap pase yo aksidan nan pil wòch la. Nou pral kouri soti nan memwa. Sa k ap pase yo lakòz yon pwoblèm pou òdinatè a. Epi sa a, rele debòde nan chemine. Se konsa, sa a, se definitivman yon bagay ou ta dwe okouran de epi eseye pou fè pou evite. Epi pil wòch la, gen sonje pa aksidantèlman koule memwa. Nenpòt ki lè ou sèvi ak malok, pa fè sa bliye libere ki memwa. Sinon, li pral jis gen sou pil wòch la gaspiye, ak òdinatè a pa pral konnen ki li se gratis yo sèvi ak ki memwa. Se konsa, sa yo se yon koup bagay dwe pran anpil prekosyon ak lè ou ap fè fas ak chemine a ak pil wòch la. Nenpòt kesyon ak sa a? Awesome. [00:43:31] OK, fre. Se konsa, sa a kalite gen menm bagay la tou lide kòm chemine debòde, kote nou ap ale pi lwen pase a limit nan sa ki memwa se nou ap sipoze kapab sèvi ak. Se konsa, pran, pou egzanp, yon zòn de defans, oswa ou te kapab jis panse a li kòm yon etalaj. Apre sa, nou te di, OK, nou ap ale nan kreye sa a etalaj bèl ti kras. Li nan ale nan gen yon fisèl. Oswa li pral nan magazen karaktè. Epi li jis ale nan di alo. Lè li nan endetèmine. Sa a li. [00:43:53] Men, si m 'te yon moun sa ki mal e yo te vle fè yon bagay move ak sa a etalaj, ki sa Mwen te kapab fè se eseye ekri sot pase nan fen fisèl la. Epi kòm ou pral wè, si Mwen ekri byen lwen ase, Mwen ka aktyèlman afekte retounen adrès la. Men, si mwen kòmanse afekte adrès la retou, Mwen afekte ki jan pwogram nan aktyèlman kouri. Ak olye pou yo retounen, ou konnen, yon kòd kè kontan tankou hello, Mwen ta ka fè yon move bagay, tankou ale nan yon lòt kote nan òdinatè w lan, toujou memwa, chanje li, tou sa mwen vle fè. Se konsa, se sa ki sa a ta sanble se si mwen jis kalite ki te ranpli l 'kanpe ak valè fatra o aza, nan ka sa a, jis yon. Lè sa a, lè mwen aktyèlman te rive nan adrès la memwa, Mwen te kòmanse ranpli li ak yon bagay ki te fè sa m 'te vle l' fè. Nenpòt kesyon ak debòde tanpon? Awesome, dwa vole a bagay sa a. [00:44:40] OK, se konsa nou te pale yon anpil nan sou konsèy ak Gabe. Ki jan nou aktyèlman jwenn yon konsèy? Ki jan nou jwenn yon adrès nan memwa? Oke, nou ka sèvi ak sa a bèl fonksyon malok apèl, ki ki pral yo ka resevwa yon ti kras moso nan memwa, espesyalman nan la pil wòch, jan nou diskite, ak li a pral ba ou tounen yon konsèy nan ki adrès nan memwa. Ak agiman an ke nou gen pou m 'bay malok se ki jan anpil espas nan memwa nou vle. [00:45:04] Se konsa, ou ka wè gwosè a nan multiple. Se pou nou di, pou egzanp, oswa aktyèlman, nan egzanp sa a, nou asiyen ase espas pou 10 nonm antye relatif. Se konsa, pwobableman sa nou ap ale nan vle yo mete isit la se yon etalaj de 10 nonm antye relatif. Se konsa, nou bay li gwosè nan antye, ki Nou te aprann te konbyen bytes? ELÈV: 4. HANNAH: 4, bèl, epi nou vle 10 nan tout sa yo nan yon ranje, se konsa ke nou gen ase espas yo magazen tout 10 nonm antye yo, nan ka sa a. Yon bagay super enpòtan, nenpòt ki lè ou rele malok, ou gen yo tcheke pou nil. Si ou pa tcheke pou nil, byen, malok si li kouri soti nan espas epi li kapab bay ou pa nenpòt ki plis memwa, li pral retounen nil. Se konsa, si ou pa tcheke, malok ka retounen nil. Lè sa a, si nou eseye dèreferans yon konsèy nil, nou ap ale nan jwenn yon fay segmentation, ki nou pral pale sou kounye a. Awesome. [00:45:56] OK, kesyon ak malok? Wi? [00:46:00] ELÈV: tcheke nil [Fèbl] pa fè l 'sou egzamen an? [00:46:05] HANNAH: Asire w, kesyon an te li matter-- sou egzamen an, ou pral jwenn pwen koupe si ou pa tcheke pou nil? Wi, ou pral jwenn pwen koupe si ou pa tcheke pou nil. Nenpòt ki lè w rele malok, tou de sou la egzamen ak psets ou ak nan lavi reyèl, ou gen yo tcheke pou nil. Bon kesyon. [00:46:18] Gabe: E si mwen pa libere? HANNAH: Gabe vle konnen sa ki si nou pa fè sa gratis. Lè sa a, nou pral gen yon fwit memwa nan pil wòch nou an. Nenpòt lòt kesyon? Wi? [00:46:27] ELÈV: Èske you-- ale sou debòde tanpon reyèl rapid ankò? [00:46:30] HANNAH: Asire w. Kesyon an te nou ka ale sou debòde tanpon reyèlman rapid. Se pou yo tounen nan moun glisad. Se konsa, yon zòn de defans, ou ka jis panse a li kòm yon etalaj, dwa? Ou gen kèk espas nan memwa. Men, lè nou premye kreye etalaj nou an, nou konnen ranje gen fiks gwosè, oswa tanpon nou an ki gen yon gwosè fiks yo. [00:46:45] Se konsa nou di nan ka sa a, nou gen jis ase espas yo ekri fisèl la hello. Si nou ale sot pase yo ki mare, si nou ale sot pase sa etalaj nou an nou te di li te kapab kenbe, nou te ka aktyèlman kòmanse ekri nan memwa ke òdinatè a pa fè sa vle nou ekri nan. Epi espesyalman, si nou frape yon bagay tankou retounen nan adrese nan fonksyon an, ki, tankou nenpòt ki lòt moso nan memwa, se jis yon kote nan ou òdinatè, ou ka aktyèlman chanje sa epi yo kòmanse fè bagay sa yo sa ki mal. Reponn kesyon ou a? Awesome, nenpòt lòt bagay? Wi? [00:47:17] ELÈV: Se konsa, chemine [fèbl], ou di ale anba nan fon an ap moute. Nan ranje chemine, fè memwa a ale nan, tankou, sou tèt anba ki gen rapò ak chak ti repo? [00:47:28] HANNAH: Ki jan fè you-- ranvwaye Rob sou sa a yon sèl. [00:47:35] ROB: Li ap grandi nan menm bagay la tou direksyon kòm chemine a ap grandi. HANNAH: OK. ROB: Se konsa, mwen jwenn konfonn. Sa a se pral yo dwe distraksyon. HANNAH: OK. ROB: Sa a se kòrèk. Se konsa, si chemine a ap grandi leve, Lè sa a, jeneralman li pa gen yo dwe tankou sa a. men ou ka deklare Int x. Lè sa a, ou deklare Int y. Lè sa a, int x pral jeneralman gen pi ba sou chemine a pase Int y. Men, sa se sèlman yon reyalite. Sa pa nan renmen yon bagay pitit pitit enpòtan. [00:48:02] ROB: Se konsa, kesyon an ankò te jis sa k ap pase chak ankadreman bati moute. Se konsa, chak fonksyon vin yon ti kras moso nan chemine a. Ak jan ou ale leve, nan ki ti kras moso, nan ki ankadreman, nou pral di ke varyab nan ki ankadreman tou deplase leve. Kesyon? [00:48:17] ROB: Jis yo dwe sou MIC. HANNAH: Oh, yeah. ROB: Mwen pral pale nan ou. HANNAH: Oh, yeah, OK. ROB: Eksepsyon a se pou ranje ak strukt, kote ranje, yon pi ba endèks nan etalaj la, ak nan strukt nan pi wo jaden an strukt yo yo garanti yo dwe nan pi ba adrès pase se yon valè pita nan etalaj la. Se konsa, moun yo garanti. Men, nenpòt varyab patikilye nan, tankou int x ak Int y ki nan yon fonksyon, gen nan pa gen relasyon ki nesesè ant adrès yo. HANNAH: Yon lòt kesyon sou isit la? ELÈV: Se konsa, nan zòn de defans koule, se sèlman pezib debòde sèlman rive lè ou te, tankou, asiyen yon kantite lajan nan yon etalaj ki Lè sa a, gen plis pouvwa? Tankou, kapab ou? Se konsa, si w ap mande pou yon bagay nan men user-- la [00:49:05] HANNAH: Milimèt-HM. ELÈV: Èske yo lafòs ba ou yon bagay tounen sa a, se pi gwo pase tou sa ou te resevwa lajan pou yo? HANNAH: Asire w, se konsa nan kesyon te fondamantalman, ka itilizatè a ba ou plis pase sa ou mande pou? ELÈV: Yeah. HANNAH: Bon, ou ta ka anpeche itilizatè a soti nan fè sa. Ou te kapab espesyalman di pa fè sa ban m 'plis pase kantite x pa bytes Mwen te sèlman ban nou plas pou nimewo x nan bytes, x kantite karaktè. Se konsa, sa a, se yon bagay ou vle anpeche. Wi? Ki sa ki se diferans ki genyen ant pile debòde ak tanpon debòde? [00:49:30] HANNAH: OK, se konsa chemine a overflow-- oh, sa ki diferans ki genyen ant chemine debòde ak debòde tanpon? Se konsa, nou vle panse nan chemine debòde pase lè nou ap aktyèlman anpilabl moute apèl fonksyon sa yo. Se pou nou di ou gen yon fonksyon repetitif, paske nou konnen ke chak fwa ou rele yon fonksyon, li nan vin ankadreman pwòp li yo sou pil la. [00:49:45] Se konsa, nou pile twò wo, ak Lè sa a, nou kòmanse debòde. Apre sa, nou itilize twòp memwa, Epi nou pa gen nenpòt kote kite. Nou jwenn ke erè. [00:49:51] Debòde tanpon se nan yon pwogram. Nou vle pa ta ka nesesèman gen kouri soti nan memwa nan menm fason an ke nou ta ka si nou ap anpile moute anpil apèl fonksyon, men nou ekri sot pase memwa a ke nou konnen nou ka sèvi ak. Epi ki pèmèt nou fè bagay sa yo sa ki mal. Yeah? [00:50:08] ROB: Wi, ou ta ka vle jis repete sa a, men ou ka tou panse nan yon debòde chemine kòm tankou yon kalite espesifik nan zòn de defans debòde. Oswa ou jis panse a ou pile kòm yon reyèlman gwo zòn de defans. Lè sa a, lè ou debòde ou chemine, li nan kalite tankou yon debòde tanpon. Men, yon debòde chemine se jis yon tèm espesifik itilize lè chemine a tèt li kontan. [00:50:24] HANNAH: Dwa, se konsa yo repete pou videyo a, li ou ka panse a chemine debòde kòm yon kalite espesifik nan zòn de defans debòde. Cool? Nenpòt kesyon plis anvan nou ale sou? Awesome. [00:50:37] OK, fre, se konsa kite a pale sou kèk mesaj erè komen. Sa a se yon bagay ki gen montre moute sou plizyè ti tès, se konsa yon bagay ki la vo pran yon gade dezyèm nan. Mwen si ou te rankontre omwen kèk nan sa yo jan ou ap fè pwoblèm ou kouche. Se konsa, asire w ke ou ka pale sou yo sou egzamen an. [00:50:50] Se konsa, youn nan premye se yon segmentation fay. Epi sa a, nenpòt ki nou tan eseye jwenn aksè nan memwa ke nou pa ap pèmèt yo aksè. Se konsa, ou migh te wè sa a, pou egzanp, nan levasyon. Si detekte kolizyon retounen nil, ak lè sa a ou te eseye fè yon bagay ak ke valè nil, òdinatè a ta bay ou yon fay segmentation. Se konsa, yon sèl, yon bagay enpòtan yo fè yo nan lòd pou yo eseye evite sa a se toujou tcheke pou nil. [00:51:13] Ou ka gen tou wè enplisit deklarasyon nan fonksyon. Se konsa, sa a se sa k ap pase lè Allison te montre ou ki jan nou fè yon pwototip, dwa? Se konsa nou di nou gen kèk fonksyon ki nou defini. Se pou nou di kib. Epi ki ale nan pati anba a nan fonksyon nou an, anba prensipal la. [00:51:27] Si nou bliye di òdinatè a sou kib, lè prensipal ap eseye rele kib, òdinatè a yo pral, tankou, Oh mwen bondye papa. Mwen pa gen okenn lide ki sa sa vle di. Mwen pa konnen sa yo dwe fè, isit la. Se konsa, pwototip a di pa enkyete. Mwen pral di ou. [00:51:42] Li pral vini yo. pa rele nan m '. pa ban m 'yon enplisit deklarasyon fonksyon. Se konsa, si ou jwenn erè sa, yon sèl Bagay w ap ale nan vle fè se asire w ke ou gen pwototip ou yo. OK? [00:51:53] Ak dènye men pa piti, idantifyan sekrè se esansyèlman lè w ap eseye sèvi ak yon varyab ke ou pa te deklare. Se konsa, tout nan yon toudenkou ou kòmanse li di tankou n plis plis. Ak òdinatè a di sa ki nan n? Ou pa janm di m 'n te yon bagay. [00:52:06] Se konsa, yon sèl bagay ou gen asire w ke ou te fè se di òdinatè a ki sa n se. Se konsa, pou egzanp, n ta kapab yon nonb antye relatif. Lè sa a, ou pral fè pou evite erè sa a. Nenpòt kesyon sou erè komen? Wi? [00:52:17] ELÈV: Pou enplisit a deklarasyon fonksyon, ta ka li tou pou ke ou omisyon youn nan bibliyotèk yo ou te sipoze genyen ladan yo, olye ke pwototip a? [00:52:24] HANNAH: Dwa, se konsa nan kesyon te, te kapab ou tou jwenn erè sa a si ou bliye genyen ladan yo yon bibliyotèk. [00:52:28] ELÈV: Wi. [00:52:29] HANNAH: Absoliman, paske nan menm fason an ke nou vle mete prototip nou an anvan fonksyon prensipal, si nou gen yon bibliyotèk, sa yo ki yo ale esansyèlman gen ladan prototip yo, gen ladan definisyon yo nan fonksyon yo. Great kesyon. [00:52:40] ELÈV: Pou yon segmentation fòt, ta ki tou rive si nou, tankou, te eseye jwenn aksè nan yon varyab, tankou, nan yon diferan [fèbl] pase sa li te deklare nan? HANNAH: Asire w, se konsa ta nou jwenn yon fay segmentation si nou te eseye gen aksè a yon varyab soti nan sijè ki abòde? Te ke yon kesyon? ELÈV: Wi. HANNAH: Bèl. Se konsa, pwobableman, w ap ale nan jwenn yon sekrè idantifyan erè olye. Se konsa, li nan jis pral di Mwen pa konnen sa ki se. Cool, nenpòt lòt bagay? Yeah, OK, bèl. [00:53:10] Tout righty, se konsa rkursyon. Se konsa, mwen mansyone yon fwa koup ke nou ta ka jwenn yon debòde chemine paske nou ap rele nou an fonksyon repetitif se konsa anpil fwa. Nou ap vin tout bagay sa yo chemine ankadreman, bla, bla, bla. Ki sa ki menm se yon fonksyon repetitif? Oke, yon fonksyon repetitif se nenpòt ki fonksyon ki rele tèt li. [00:53:26] Men kèk bagay yo dwe okouran de lè ou yo mete ann aplikasyon fonksyon repetitif, pa bliye genyen ladan yo yon ka baz. Yon ka baz se nan pwen nan ki nou fini. Se konsa, pou egzanp, si nou ap kodaj, , Di, Fibonacci recursive, nou vle asire w ke lè nou jwenn a 0 oswa nimewo a nan Fibonacci premye, de moun ki nimewo gen ka sa yo, paske moun yo pa depann sou bagay sa yo ki te vin anvan. Moun sa yo ki gen valè pwòp yo. [00:53:51] Gen kèk avantaj rkursyon, ki se yon kesyon nou te wè sou ti tès sot pase yo. Yo ka mennen nan plis brèf, elegant kòd. Ak yon anpil nan fonksyon, yon anpil nan algoritm diferan, aktyèlman prete tèt yo a rkursyon. Definisyon yo ta kapab repetitif nan ak tèt li. Se konsa, Fibonacci se youn. Faktoryèl se youn. Rantre sòt se one-- tout bagay sa yo ke ou ka gade nan. OK, nenpòt kesyon? Wi? [00:54:15] ELÈV: Èske yon ka kwen menm jan ak yon ka baz? Oswa se ke pou kèk lòt kalite [fèbl]? [00:54:22] HANNAH: Asire w, se konsa yon ka kwen se konsa any-- se ka kwen menm bagay la kòm ka baz? Yon ka kwen se nenpòt ki bagay ki ou Kòd ta ka konpòte yo yon ti jan diferan. Se ka baz sòt de ki gen rapò, nan yo ke yo ap tankou ka patikilye ke ou vle fè yon gade nan. Men, lide a nan yon ka baz se ke ou vle fonksyon repetitif ou yo sispann nan kèk pwen. Li pa kapab kenbe rele tèt li pou tout tan. Li bezwen yo sispann nan kèk pwen. [00:54:49] ROB: Wi, souvan, ka baz ou a ta kapab egzanp sou baz kwen. [00:54:53] HANNAH: Dwa, fre, anyen? [00:54:55] ELÈV: Èske ou ta kapab eksplike baz yon ti jan ti kras pi plis? Mwen pa konprann byen [Fèbl] baz ka. [00:55:01] HANNAH: Nan ka baz? [00:55:02] ELÈV: ka Sèvi, yeah. [00:55:03] HANNAH: Oh yeah, asire w. Ann wè. nou te lakre sou isit la? Wi, nou fè. OK, se konsa vrèman byen vit, mwen pral eseye ekri gwo ase konsa ou ka wè sou ekran an. Se pou nou pale sou, reyèlman byen vit, Fibonacci. Se konsa, mwen pral ba ou sekans nan Fibonacci. Ou ka gade moute definisyon an. [00:55:17] Esansyèlman, chak nimewo nan sekans ki se sòm total la nan de nonb yo anvan yo. OK, se konsa wout la ke mwen jis dekri Fibonacci, ou ta ka tande rkursyon la, dwa? Lè m 'di chak nimewo se la sòm de de nonb yo anvan, nou te ka di OK. Oke, Fibonacci a nyèm number-- kidonk kite a di nou gen fonksyon sa a rele fib-- bay manti nan n a pwal egal a bay manti nan n mwens 1 plus-- regrèt, nou pral ale sou nan liy lan pwochen sou isit la bay manti nan n moins 2. [00:55:52] OK, se konsa sa a ap travay gwo si w ap gade nan, pou egzanp, zewo a, yon sèl, de, twa, kat, senkyèm Nimewo Fibonacci, kote ou ka di ke 5 ki egal a 2 plis 3. Men, sa ki si ou se nan kòmansman an? E si w ap sèlman frape sa yo premye de valè? [00:56:08] Pou jwenn sa a 1, ou pa kapab di ajoute de anvan an, paske sa zewo and-- mwen pa konnen. Se konsa, nan kèk pwen, nou bezwen sispann. Nan kèk pwen, nou bezwen yo di ke sa yo de jis gen definisyon pwòp yo. Nimewo a 0 Fibonacci se 0. Ak nimewo a Fibonacci premye se 1. [00:56:26] Se konsa, wout la mwen ta ka Kòd sa a, mwen ta ka di si n se mwens pase de, Lè sa a, jis retounen n. Epi ki ta ka ka baz mwen. Sa a ki jan mwen konnen yo sispann ki gen yon fonksyon repetitif. Eske se sa ke klè? Awesome. Nenpòt lòt bagay sou rkursyon? Bèl. [00:56:45] Se pou yo byen vit pale sou rechèch ak sòt kouri fwa. Lè sa a, mwen pral ba Davin kèk lè yo pale sou kodaj egzanp. Se konsa, isit la yo se rechèch la prensipal ak kalite ke ou ta dwe konnen sou. Guarantee-- Mwen pa ka garanti, paske mwen pa t 'wè nan quiz-- men sa a vini leve egzamen apre egzamen apre kite fimen. Se konsa, definitivman sèvi ak tablo sa a. Tankou, pran tablo sa a. Mete l 'sou fèy twonpe ou. Ou pral yon moun kontan. [00:57:09] Sa a di nou fwa yo kouri nan chak nan sa yo sòt ak rechèch algoritm. Se konsa, rechèch lineyè, ou ka wè kouri tan, ak menm ak rechèch binè. Ale sou sa ki sa yo algoritm fè, lide la an jeneral. Gade nan kèk pseudocode, si se pa kode tèt li. [00:57:25] Ou pral wè ki sòt jarèt te gen yon anwo mare nan ka a pi mal la nan n okib. Se konsa, si etalaj nou an te konplètman bak anvan nou te vle sòt li, nou ta ka di ke sa a, se pral pran n okib etap. Men, nan ka ki pi bon, se konsa nan Lower mare l 'pou ka ki pi bon a pwal si li nan deja parfe Ranje. Lè sa a, tout sa nou dwe fè se tcheke ke li nan Ranje. Èske gen yon kesyon sou isit la? [00:57:47] ELÈV: Lè ta ou vle sèvi ak sòt? Sòt la. Mwen jis kirye. [00:57:52] HANNAH: Lè ou ta vle sèvi ak sòt seleksyon? Sa a yon sèl? Yon sèl nan ki nan n okib nan tou de ka? [00:57:55] ELÈV: [fèbl]. [00:57:56] HANNAH: Se konsa, li trè diferan. Si ou gen espesifik kondisyon pou pwogram ou an, tankou bagay sa yo tankou si nou jis di aplike yon regrèt search-- aplike yon sòt, ou pral pwobableman vle ale pou youn nan sa yo ki gen yon ka pi bon nan n, oswa yon pi ba mare nan ka ki pi bon an n. Men, gen ta kapab sèten bagay sa yo tankou, di, echanj yo se reyèlman chè pou kèk rezon. Lè sa a, ou ta vle fè sòt jarèt, paske ou dwe fè anpil echanj, bagay sa yo tankou sa. Nenpòt repons lan se wi other--? [00:58:23] ELÈV: Li ta dwe [fèbl] yo di ke [fèbl]? HANNAH: Sa a yon sèl bagay ki ta di ou si w ap chèche nan aplikasyon an. Fason ki mwen ta aktyèlman panse sou rezon ki fè li nan n au se ke nou gen nan kouri nan etalaj nou an nan longè n, chak fwa fè nan pi, n echanj. Epi nou dwe fè pwosesis n fwa sa a. [00:58:46] Se konsa, lè ou gen fè nan pi, n echanj ak pou n kouri nan etalaj la, gen k ap pase yo dwe n okib. Men, repons lan se wi, sa a pral devwale a doub sa a pou riban, kòm kesyon an asked-- oswa enbrike pou riban, mwen ta dwe di. OK? [00:59:00] Lè sa a, rantre sòt, ki se sòt nan pi rapid nou kounye a, oswa ke nou te kouvri nan CS50, konnen ke algorithm a prensipal la se ide sa a nan kraze nan moso Ranje ak Lè sa a fusion ansanm sa yo Bits Ranje. Epi yo pral jwenn nou boutèy demi lit n boutèy demi lit n. Nenpòt kesyon sou rechèch ak kalite mwen anvan m 'pase l' sou? Ann wè. [00:59:21] Oh, lye lis. Padon, mwen gen yon sèl plis sijè. OK, pè, lye lis. Pwoblèm ak ranje yo, yo gen yon gwosè fiks yo. Se konsa, si ou pa konnen ki jan gwo D 'ou a pral yo dwe, ou pa vle yo kreye yon etalaj. Paske si nou kreye yon etalaj ki se twò piti, nou ta ka kouri antre nan debòde tanpon. [00:59:35] Se konsa, olye, nou te ka fè yon bagay ak lye lis, ki pèmèt nou gen yon dynamique gwosè estrikti done ki pral pèmèt nou nan magazen yon pi fleksib kantite lajan pou done. Se konsa, nan chak ne nan nou an lye lis, nou gen de moso. Nou gen valè aktyèl la ke li estoke. Se konsa, sa se sèlman bagay la ou ta wè nan etalaj la, pou egzanp. Lè sa a, nou menm tou nou kenbe tras nan yon konsèy nan bagay la pwochen nan memwa. [01:00:04] Kontrèman ak ranje, ki nou konnen, yo tout pral be-- eleman etalaj yo tout yon sèl apre yon lòt nan memwa lye lis te kapab nenpòt kote nan memwa. Yo ap kote abitrè. Se konsa, si nou te aktyèlman ale jwenn yo, nou bezwen kenbe tras nan la Bagay pwochen nan lis nou an. [01:00:19] Lè sa a, nan lòd yo konnen ki kote ke lis kòm yon antye se, tout sa nou dwe kenbe tras nan se la trè premye eleman nan lis lye nou an. Epi sa pral pèmèt nou swiv la. [01:00:31] Se konsa, sa a se ki jan ou ta ka defini yon mòd. Sa a se yon gwo opòtinite pran avantaj de strukt. Paske ou gen ide sa a, byen, pou yon ne yo bay yo, Mwen gen de moso. Mwen gen valè aktyèl la tèt li. Lè sa a, mwen gen yon konsèy nan la pwochen eleman nan lis la lye. Se konsa, ou wè la a, nou gen yon n nonb antye relatif, ki se ale nan gen valè aktyèl la, ak Lè sa a yon konsèy nan yon ne, ki rele kap vini an. Se konsa, ki k ap pase yo dwe pwochen an eleman nan lis lye nou an. ELÈV: Wi? ou gen presize ki zetwal la, se tankou yon struct? [01:01:01] HANNAH: Wi, se konsa depi sa a se prèske tankou yon kalite, li sanble tankou yon repetitif definisyon nan ke nou bezwen konnen ki sa yon ne se andedan nan jwenn yon ne. Depi li pa fè sa aktyèlman konnen ki sa yon ne se konplètman jiskaske nou jwenn nan fen a nan this-- ak apre sa a nou ka jis rele li yon node-- andedan nan definisyon sa a, nou bezwen rele li yon ne struct. Great kesyon. Nenpòt lòt bagay? Wi? [01:01:26] ELÈV: Poukisa nou te di ne de fwa? Paske lè nou te nan [fèbl] nou jis te gen nan fè l 'nan virgules, men kounye a nou gen jwenn ki struct ne? [Fèbl]. HANNAH: Se konsa, mwen kwè nan dènye egzanp lan, nou te jis kreye nenpòt lè ou te vle sèvi ak yon elèv apre sa, ou te sèvi ak struct node-- Mwen regrèt struct elèv yo. Sa a pèmèt nou, apre reyalite a, jis itilize ne ajoute yon nouvo tip, esansyèlman. Ki fè sans? Se konsa, nou ta gen yo ale retounen lakay yo epi gade nan kòd la anvan. Men, mwen ta devine ke nou pa t 'sèvi ak tipedèf. Apre sa, nou poze kesyon sa a, poukisa nou bezwen sèvi ak tipedèf? Tipedèf pèmèt nou pou fè pou evite nan struct mo nan konmansman an. Wi? ELÈV: Ki kalite kesyon ta vini an tèm an tèm de nœuds e li bay lis lye? [01:02:10] HANNAH: Se konsa, yon bagay se nou te ka di ki jan ta ka ou rechèch atravè yon lis lye? OK, paske li nan yon ti kras pi konplike pase si nou ap chèche nan yon etalaj. Nou ka jis gade nan eleman zewo, eleman yon sèl, eleman de, bla, bla, bla. Si nou vle rechèch atravè yon lis lye, nou ta gen aktyèlman yo swiv sa a labirent ti kras nan pwent. Se konsa, kite a aktyèlman ale nan sa a vrèman byen vit. Ki sa nou ta ka fè nan lòd to-- kite a di nou vle jis repekte nan lis antyèman lye nou an. Nou ta kòmanse nan tèt la. Lè sa a, yo nan lòd yo deplase li nan yon eleman kap vini an, olye pou yo jis incrementing pa youn tankou nou ta ka nan ale atravè tout yon etalaj, nou ap aktyèlman ale nan swiv konsèy la kap vini an, se konsa nou ka jwenn ki kote nan memwa eleman nan pwochen se. Se konsa, mwen konnen li nan pa ase yo pran tout sa a nan kounye a, men ou pral gen glisad sa yo. Se konsa, ou ka ale nan sa a yon ti kras pi dousman. Men, esansyèlman, ki sa nou vle fè se swiv endikasyon sa yo a antye a nan lis la lye. Se konsa, sa a se yon kesyon ta ka ap mande ou. [01:03:01] Yon bagay a yon avi ak ensèsyon, kite a di nou te vle mete yon eleman nouvo an de sou devan lis lye nou an. Nou gen dwe pran anpil prekosyon sou lòd la nan ki nou plase pwent yo. Paske se pou yo di mwen jis te di OK. Fè pwen tèt nan sa a eleman nouvo. Jis fè li lonje dwèt sou 1 Lè sa a, nou te esansyèlman pèdi rès la nan lis nou an, paske mwen pa sonje kote 2 lavi moun. [01:03:25] Se konsa, nou dwe fè nan yon lòd trè espesifik. Premyèman, nou fè nouvo nan pwen eleman nan tèt la. Lè sa a, nou fè tèt la lonje dwèt sou eleman nan nouvo. Se konsa, kite a wè sa ki ki sanble ak ak arrows-- jis tankou sa. Se konsa, ou premye gen nouvo nan pwen eleman nan tèt la fin vye granmoun. Epi, koulye a, nou gen tèt la lonje dwèt sou nouvo eleman nan premye. Nenpòt kesyon ak sa a? [01:03:49] OK, isit la nan kèk kòd ankò, yon bagay fè yon gade nan yon ti kras pita. Epi, koulye a mwen pral vire l 'sou nan Davin pou gdb ak yon ti kras nan pratik kodaj sou papye. Bèl. [01:04:01] ROB: Epi Rob. [01:04:01] HANNAH: Oh, Davin ak Rob. Mwen regrèt. [01:04:03] ELÈV: Woo! [01:04:08] ROB: Mèsi. [01:04:09] Davin: ou vle di tout bagay reyèl rapid? ROB: Yeah, yeah. Davin: Yon fwa mwen se leve. OK, pandan y ap Rob mete nan mikwofòn sou, se konsa sa ki nan gdb? Tout moun ta dwe gen pou wè gdb nan klas-la ak tou nan lè biwo louvri. Epi ou ta dwe lè l sèvi avèk li. Se konsa, sa a se gdb? Okenn moun? [01:04:28] ELÈV: Li se yon debugjeur. [01:04:29] Davin: Li se yon debugjeur. Epi ki sa li pèmèt ou fè? Tankou, poukisa nou renmen gdb? ELÈV: Pou ralanti pwogram nan. Davin: Dwa, se konsa ou ka mache atravè li renmen yon apante imen. Se konsa, sa yo se kèk mande w ka fè? Oke, ti repo se pwobableman lòd pi renmen ou. Paske ki pèmèt ou kraze an pwogram ak aktyèlman mache atravè li liy pa liy. [01:04:44] Run pèmèt ou kouri li. Apre sa, tankou kite a. Ki sa ki nan ki genyen ant pwochen ak etap? Rete tann, di ke byen fò. Li te kòrèk. [01:04:54] ELÈV: [fèbl]. [01:04:55] Davin: Wi, pè. Se konsa, tankou, pwochen ak etap, si you're-- kite a di ou gen yon fonksyon ou defini. Se pou nou di kèk nan fonksyon prensipal ou an, ak w ap sèlman frape pwochen, kap vini an, kap vini an. Ou ap aktyèlman ale nan egzekite ki fonksyon, men w ap ale nan sote sou li. Si ou frape etap, oswa a oswa kèlkeswa sa, w ap ale nan aktyèlman so nan ki fonksyon, ak Lè sa a ou ka frape pwochen wè apèl yo diferan andedan ke fonksyon an patikilye. Yeah? [01:05:16] ELÈV: Èske gen yon fason so, tankou, do soti? Davin: Fini, yeah, fini ak so ou deyò. Se konsa, li ale nan fini ki fonksyon, ak Lè sa a ou se pral fè tounen nan prensipal yo, pou egzanp. Ekri an lèt detache pral enprime li soti yon sèl fwa. Yon bagay mwen toujou sèvi ak se ekspozisyon. Display pral enprime li soti konstamman tout antye a nan pwogram ou an. [01:05:32] Pou egzanp, si w ap nan yon riban pou, epi ou vle wè ki jan yon bagay nan chanje, epi ou pa vle, tankou, toujou ap dwe ap fè tankou ekri ak lèt ​​detache, ekri ak lèt ​​detache, ekri ak lèt ​​detache, montre ap montre varyab sa kontinyèlman, chak fwa ou frape Next. Epi kontinye. Se konsa, GBD, ki nan gdb. [01:05:47] ELÈV: Ki sa ki nan yon sèl nan kote ou [fèbl]? Davin: Ki sa li ye? [01:05:52] ELÈV: Ki sa ki nan the-- varyab yo lokal yo. ROB: Gen yon bagay aktyèlman tankou moun nan lokalite oswa yon bagay. Mwen can't-- [01:05:58] Davin: Li ta ka yon bagay tankou sa, yeah. [01:05:59] HANNAH: Nan moun nan lokalite yo? [01:06:00] Davin: Sa a li. Sa a yon sèl la. ROB: Bèl. [01:06:03] Davin: Yeah. [01:06:04] ELÈV: Ki sa ki kontinye fè? [01:06:06] Davin: Li continues-- konsa li nan jis ale nan kontinye pwogram ou an. Se konsa, si ou kase ak frape kontinye, li pral jis kouri ke pwogram jiskaske li frape ki ti repo ankò. Se konsa, pou egzanp, si ou te kraze nan yon fonksyon, epi ou ap ale nan fè tankou pou bouk oswa yon bagay tankou sa yo, epi ou frape kontinye, li pral kontinye ak tounen nan ki ti repo. Oswa gen nan pa gen repo, li k ap pase yo kontinye ak fini pwogram lan. [01:06:22] ROB: Se konsa, jis renmen arè kouri nan breakpoint an trè premye ou frape, si ou Lè sa a, frape kontinye, li pwal kenbe ale jouk li a breakpoint nan pwochen an. Lè sa a, kontinye ap ale breakpoint nan pwochen an. Davin: Nenpòt lòt kesyon sou gdb? Se konsa, mwen panse ke nan tan lontan an, nou te mande ou sa Gdb se epi ba li yon egzanp sou kèk bagay ou ka fè ak gdb, se konsa reyèl senp, men wi. Gen ou ale. Ak nœuds? [01:06:43] ROB: Wi, se konsa ki direksyon li te ye? ELÈV: Sa ki te li. Davin: Rete tann. ROB: Sa a nèg? Davin: Sa yon sèl. ROB: Sa a nèg, o, mwen pa t 'reyalize. Se konsa, nou te pa klè sou sa ki the-- mwen pa fè sa konnen ki moun li was-- men kesyon an. Nou pa konnen ekzakteman ki sa ou te mande sou li, Se konsa, jis klarifye yon bagay. Se konsa, premye, tankou mwen te di anvan, tipedèf ou toujou ap itilize jis kreye yon tinon pou yon kalite. Se konsa, dwa isit la, tinon a nou ap Kreye se pou sa a kalite struct ne. [01:07:13] Se konsa, premye, inyore sa a ne nan la tipedèf, kidonk sa a ne struct Curly mete sipò desann nan pwochen Curly atèl a se kalite a struct ne. Epi nou bezwen ki ne 'kanpe, paske nou bezwen referans ne nan isit la. Se konsa, avèk sa a sòt de repetitif struct, ou bezwen bay sa a struct yon non, oswa lòt moun ou pa t 'kapab di struct ne nan isit la. Lè nou konsidere ke anvan ak elèv lè nou te tape, mwen panse, nou pa t 'gen yo di moute elèv la, paske nou pa t 'gen yo di struct elèv andedan struct nan tèt li. Se konsa, li repetitif nan ki fòs nou di ne la. [01:07:43] Ne Sa a se jis non an nou ap bay ne pou tipedèf la. Se konsa, ki ne se pa menm bagay la tou kòm sa yo ki ne. Men, sa a ne struct se la menm jan ak ki ne struct. Davin: Se konsa, chak fwa ou rele, tankou, ne nan fonksyon prensipal ou an, ou pa ap ale nan te di struct ne. Ou ka jis di ne, paske ne se yon different-- se fondamantalman w ap di, OK. Olye pou yo gen yo rele struct ne nan kòd m 'yo, Mwen jis vle chanje non li kòm ne fè li pi fasil. [01:08:04] ROB: Si ou toujou itilize tipedèf, lè sa a sa a se plas la sèlman w ap ale nan gen deklare yon varyab ak struct ne zetwal, yeah. [01:08:14] Davin: OK, se konsa pati nan sot pase se difisil yo anseye because-- ROB: Ki sa? [01:08:24] Davin: Paske li nan kodaj sou papye. Se konsa, chak ane nou gen Kòd sou kesyon papye. Se konsa, mwen panse ke ane pase a, 12 soti nan 80 pwen yo te Kòd sou papye. Ane anvan sa, 10 soti nan 80, ane anvan sa, 20 soti nan 100, se konsa byen yon kèk nan sa yo. Se konsa, w ap ale nan gen yo pral kapab nan kòd moute fonksyon sa yo nan men. [01:08:40] Se konsa, mwen kalkile nou ta ka ale nan yon koup la yo e yo wè ki jan moun fè, kalite mache nan yo tou dousman ak moun. Se konsa, jeneralman, strlèn ak te atwa te trè popilè. Ane pase a, mwen panse ke nou te gen GetPositiveInt ak RandomInt. Men, POW, se konsa pouvwa a, tou yon yon sèl ki pozitif tou. Se pou nou jis ale nan petèt youn oubyen de nan sa yo ansanm. Ki sa ki moun ki vle wè? [01:09:05] ELÈV: atwa. ELÈV: Yeah. Davin: atwa? ELÈV: [fèbl]. Davin: OK, mwen pral fè li sou tablo a. ou gen yon preferans si mwen fè l 'isit la oswa genyen? Gen, Gabe di a. [01:09:16] ROB: Lè sa a se panse jeneral sou kesyon sa yo kodaj. Eseye ekri yon bagay. pa kite li vid. [01:09:22] Davin: Wi. ROB: Si ou kapab jwenn la retounen kalite ki kòrèk, oswa petèt nou ta ka bay li nan ou, men si ou kapab, tankou, ekri siyati a fonksyon jeneral, Si ou kapab jwenn baz ka yo kòrèk, oswa ka kwen, oswa sonje chèk pou nil, osi lontan ke ou gen kèk bagay sa yo, Lè sa a, petèt nou ou ka ba ou yon koup pwen pou pwoblèm nan. pa sèlman kite li vid. [01:09:36] Davin: Wi, epi si ou yo se jis konplètman stumped nan ki jan aktyèlman vire nan kòd. Si ou ekri pseudocode, sa a, se trè bon tou. Se konsa, li la tankou, li la yon kesyon sis pwen, epi ou ekri pseudocode ki kòrèk la, ou pral jwenn omwen de pwen. Se konsa, pa sèlman kite yo vid. Eseye mete yon bagay. [01:09:50] ROB: Li bezwen yo dwe nan kòrèk pseudocode, menm si. [01:09:51] Davin: Wi. ROB: Se konsa, nou yo jeneralman yo gen mwens tolerance ak pinèz nan pseudocode. Davin: OK, se konsa ou nèg te vle wè atwa. OK, Se konsa, jis really-- Se konsa, sa ou vle fè se w ap ale nan gen bay kèk kalite nimewo. Men, nimewo sa a se pa pral fè yon int, dwa? Ki sa ki nan li pral fè? [01:10:08] ELÈV: [fèbl]. [01:10:09] Davin: Li nan pral fè yon fisèl, dwa? Se konsa, si yo te ba ou yon fisèl kite nan say-- [01:10:13] ROB: Èske mwen ta dwe rale moute yon editè? Mwen ka rale up-- [01:10:16] Davin: Oh, ou vle fè li on-- [01:10:16] ROB: Èske ou ta pito tablo a? [01:10:17] Davin: Ki sa ou vle fè? Mwen vle di, ou vle fè li nan men? Oswa ou vle fè li yo nan òdinatè? [01:10:21] ROB: Èske li nan men. [01:10:22] Davin: [ri] ROB: Èske li nan men. [01:10:23] Davin: OK, se konsa li nan pral fè atwa. Se konsa, sa ki nan l-- Mwen vle di, nou pral pwobableman bay sa a ba ou. Men, sa ki nan li pral retounen? [01:10:29] ELÈV: Int. [01:10:29] Davin: Li nan ale nan retounen Int, dwa? So-- mwen pa vle fè l 'la. Mwen pral fè l 'isit la. [01:10:34] ROB: Ou ka rale li desann ak Lè sa a pouse moute sou li. [01:10:38] Davin: yeah. [Ri] Jwèt chanjman. OK, se konsa li nan pral fè atwa Int, ak sa ki nan li pral pran? Yon zetwal Char, se konsa jis yon fisèl, zetwal la, tankou sa. [01:10:57] ROB: Nice etwal, bèl. Davin: Sa a pa ta ka gen, OK. ROB: Yeah. Davin: OK, se konsa premye a Bagay ou vle do-- mwen pa konnen si okenn moun gade nan solutions-- nan pratik men sa ki w ap ale vle fè se ou se ale nan vle gen yon bouk, paske ou se ale nan vle aktyèlman etap nan sa a fisèl. Se konsa, helpful-- konsa kite a di nou ap ale nan yon riban pou, epi nou ap ale nan etap nan chak eleman nan fisèl la. Konbyen tan se sa? Konbyen fwa nou pral repekte nan ki pou riban? ELÈV: Sterln? Davin: Sterln, yeah. Se konsa nou di Int longè egal sterln la. Ak jis kirye, poukisa se li toujou kalite nan pi bon fè sa a deyò nan pasan? Tankou, poukisa se li pi bon yo rele sa a fonksyon deyò nan yon riban? Jis yon saniti rapid tcheke? Yeah? ELÈV: Se konsa, ou pa fè sa gen kenbe tcheke li. Ou ka jis [fèbl]. [01:11:59] Davin: Egzakteman, se konsa yeah, ekzakteman ki sa li te di. Se konsa, nou pa bezwen kenbe tcheke li. Se konsa, pou egzanp, si m ap rele sa a fonksyon andedan yon riban, Lè sa a, mwen pral kenbe w rele sa a fonksyon plizyè fwa. Epi sa k ap pase yo diminye efikasite nan pwogram ou an. Se konsa, li toujou itil deklare li deyò. [01:12:12] ROB: Sa a te di, sou nenpòt nan pwoblèm sa yo, bèl anpil osi lontan ke ou jwenn yon k ap travay solisyon, ou jwenn tout kredi. Se konsa, pa enkyete w si konsepsyon ou se absoliman épouvantabl. Li ta ka fè nou fache lekti kòd ou a. Men, osi lontan ke li ap travay, ou pral jwenn pwen yo. [01:12:28] Davin: Wi. OK, se konsa Lè sa a, mwen pral deklare kèk varyab. Li nan jis ale nan rele int sòm. Men, mwen pral yo mete sa a egal a zewo, tankou sa. Epi sa a, jis ale yo dwe yon kontneur. Se konsa, ki nan pral fè sa m ap pral retounen. Se konsa, mwen pral evantyèlman retounen sòm soti nan pwogram sa a. Se konsa, mwen gen de varyab sa yo. Mwen gen longè. Mwen gen sòm. Epi, koulye a kite a sote nan fisèl nou an. [01:12:48] Se konsa, pèmèt gen nou an pou riban. Se konsa, kat Int mwen egal 0 w, pandan y ap Mwen se mwens pase longè Mwen plis plis. Epi now-- ROB: Nice. Davin: OK, e kounye a, isit la vini vyann lan nan kòd nou an. Se konsa, ou ka aktyèlman fè liy sa a fondamantalman nan yon sèl. Se konsa, okenn moun gen yon lide nan ki sa nou ap ale nan fè pwochen? OK, se konsa ke se ok. Se konsa, nou ap fè yo di sòm equals-- kite m 'file sòm sa a over-- egal sòm fwa 10 plus-- nou ap pral pran nan mwen mwens yon sèl quote 0 youn quote fè, tankou sa. ROB: Trè entwisyon. [01:13:56] Davin: Kraze li. OK, se konsa someone-- mwen te resevwa li, mwen te resevwa li. OK, se konsa sa a se byen klè ap moute. Ki sa sa vle di? Se konsa, okenn moun konnen ki sa sa a vle di? Èske tout moun wè sa a? Non, pèsonn pa ka wè sa a, OK. Mwen pral to-- [01:14:18] ROB: Mwen pral ekri la fòmil jis dwa isit la. Davin: OK, Rob a pral fè l ' sou òdinatè a, ki se plezi. ROB: Oh Bondye mwen an. Oswa mwen pa pral. Davin: Kanpe pa. ELÈV: Mwen gen yon kesyon. Davin: Yeah, asire w. ELÈV: [fèbl]? Davin: OK, se konsa li aktyèlman, tankou, jis an jeneral, si ou te mete, tankou, nan deklarasyon sa a int Mwen egal 0 vigil longè egal sterln, that-- [01:14:59] ELÈV: [fèbl]. [01:15:01] Davin: Sa a se amann, paske that-- ELÈV: Poukisa ou ta menm bezwen sèvi ak longè? Poukisa pa t 'kapab nou jis [fèbl] sterln a, tankou tout tan an [fèbl]? [01:15:08] Davin: Ou vle di dwa isit la? [01:15:09] ELÈV: Wi. Davin: Paske chak tan sa a pou riban kouri, li a pral evalye kondisyon sa a. ELÈV: Dwa. Davin: Men, si ou gen sterln a, Lè sa a, li la pral fè yo aktyèlman rele ki fonksyon chak fwa sèl. Se konsa, olye pou yo jis konpare li a yon int, w ap ale nan dwe rele yon fonksyon ak Lè sa a, konpare li nan valè a retounen. Yeah, se konsa li nan jis, yeah. [01:15:28] Nice, OK, se konsa kounye a tout moun ka wè li. Ki sa ki does-- sa a se tankou, sa a se li. Sa a se konfiti la, dwa isit la. Ki sa sa vle di? Kisa mwen fè? Yeah, yon lide? Yeah? [01:15:43] ELÈV: Oke, Se konsa, lè w ap k ap antre nan yon etalaj, w ap ale nan dwe ale de gòch a dwat, se konsa w ap ale nan dwe ale nan desimal soti nan desann [fèbl a]. Davin: Egzakteman. ELÈV: Se konsa, chak moun ou gen yo anpil anpil pitit sa ou te wè kòm valè a nan int a pa tan an ou jwenn pou avanse pou pi ke plis pase yon sèl. [01:15:59] Davin: pafè, pafè, se konsa pou egzanp, kite a di mwen te bay you-- mwen se pral ekri sou isit la. Non, mwen pa. Mwen pral ekri sou isit la. Se pou nou di mwen te ban nou 76, dwa? Se pou nou di m 'ba ou 76. Sa se yon fisèl yo kòmanse avèk yo, OK? [01:16:15] Se konsa, longè se ki sa? 2, dwa? Sòm se 0. Apre sa, nou sote nan nou an pou riban. OK, iterasyon an premye nan sa a, sa k ap li pral fè? Li nan pral fè sòm se 0. Se konsa, sòm fwa 10 0. Sa a san sans. Lè sa a, ki sa sa a fè? ELÈV: [fèbl]. [01:16:33] Davin: Li nan ale nan vire ki N. nan yon nonb antye relatif, dwa? Li nan kalite tankou ak ou pwoblèm set-- light-- sa a li nan kalite tankou ak pwoblèm mete Visioneer. Ou ap fè fas ak valè ASCII. Se konsa, si m 'ba ou, tankou, yon sèt, men li la yon karaktè, epi ou vle konnen, OK, ki sa chif se sa? Yeah, ou te kapab, yeah. Se konsa, sa chif se sa? Ou te kapab fè soustraksyon 0 soti nan li, men ou gen fè soustraksyon 0, karaktè la. [01:16:59] Ak ki kote gen kèk moun ki jwenn trebiche moute, yo ap tankou, OK, byen, èske mwen gen konnen valè yo ASCII pou egzamen sa a? Non, ou definitivman pa fè sa bezwen konnen ASCII a valè nan, tankou, miniskil yon, majuskul A, zewo. [01:17:09] ROB: Pa gen okenn rezon ki fè yo tout tan tout tan mete sa a sou yon fèy papye tronpe. [01:17:12] Davin: Definitivman pa fè sa gaspiye espas ou ak sa. Ou ka literalman jis olye pou nan di 48, tankou dwa moute la, ki se ekivalan a li di yon sèl, yon sèl apostwòf, tankou sa yo, ekzakteman menm bagay la. [01:17:27] ROB: Ou te kapab prèske panse nan li kòm if-- Bondye, mwen bezwen m 'yo, oops-- ou ta ka prèske panse a li kòm si nou gen yon bagay tankou sa regle defini kòm 0 48. Sa pa pral travay. Men, panse a li kòm yon sèl quote 0 sèl quote, ak pou tout karaktè. Panse a li kòm yon konstan ki reprezante ki valè ASCII. [01:17:47] Davin: Wi. OK, se konsa premye fwa a nan, se konsa ak 76-- konsa premye fwa a, sa a se jis pèsonaj la 7 mwens pèsonaj la 0, ak sa yo se sèt nonb antye relatif byen, moun se sèt espas lwen ki soti nan chak lòt sou tablo a ASCII oswa kèlkeswa sa. Se konsa, ki nan ale nan retounen yon int nan 7. Se konsa, kounye a, sòm egal 7. [01:18:08] OK, byen, se pou yo so nan sa a pou riban ankò. OK, kounye a li nan sòm fwa 10. Se konsa, w ap efektivman k ap deplase 7 a sou bò goch la. ki fè sans? Ou se efektivman k ap deplase li nan bò gòch la. [01:18:19] Lè sa a, ou add-- sa a a pwal 6 mwens 0. Sa a 6. Se konsa, li nan pral fè 70 plis 6. 76, ki nan nimewo ou. Se konsa, kèlkeswa sa ki nimewo Mwen te ban nou, li nan tou dousman jis ale nan chanjman valè yo pi gwo sou bò goch la, 1 faktè de 10 chak fwa nan la pou riban, ak Lè sa a ajoute sou si sa nesesè. [01:18:37] Nan do a? ELÈV: Nou pa dwe fè nenpòt ki tcheke nan pwogram nan? [01:18:41] ROB: Se konsa osi lwen ke tcheke ale pou pwogram nan, nou ta di ou trè anpil ki sa ou bezwen yo tcheke. Si nou pa di ou anyen, Lè sa a, jeneralman sipoze ou gen yo tcheke pi bagay sa yo. Menm jan ak ou ta ka, jis yo dwe san danje, ou ta dwe pwobableman tcheke hey, se la nil? Apre sa, mwen pa gen okenn lide ki sa yo retounen. Men, nou ta di ou sa a sòt de bagay. 0, mwen pa konnen. [01:18:59] Davin: Epi poukisa ou ta vle verifye si s egal nil? ELÈV: [fèbl]. Davin: Paske nan zetwal Char. Li se yon konsèy. Se konsa, yon parfe akseptab deklarasyon, mwen te kapab di, OK, a egal nil, paske li te kapab fè yon konsèy nan nil. Se konsa, nenpòt lè ou gen endikasyon nan chemen ou nan tankou sa a, ou ta dwe pwobableman tcheke. Paske si ou pa tcheke sa, epi Lè sa a, ou Lè sa a ale nan ou a pou riban, ak w ap file doing-- desann. File desann. [01:19:22] ROB: Padon, sa a, se li. [01:19:23] Davin: Se konsa, tankou, si li se nil, ak Lè sa a ou fè sa, sa ki erè ou menm ki pral jwenn? ELÈV: W ap ale jwenn yon fay seri. Davin: W ap ale nan mete fòt, dwa, paske ou se ap eseye endèks nan nil. Se konsa, w ap ale nan eseye endèks nan memwa ke ou pa posede. Se konsa, sa a, si sa a se nil, ak ou fè sa, ou pral sik. [01:19:39] ROB: Mwen menm mwen te panse sou egzamen an nan ki nou te mande kesyon sa a, nou di ou ke ou ka jis asime li nan yon nimewo ki pozitif. Paske atwa tou espere okipe nimewo negatif, konsa ou ta gen yo ka espesyal. Hey, se karaktè nan premye yon priz, nan ka sa a, OK, kounye a li nan yon nonb antye relatif negatif. Nou pral di ou sa yo kalite bagay sa yo. Nou pral di ou ki sa ou bezwen okipe. Davin: Wi. Se konsa, mwen si ke gen kèk moun ki ta ka have-- si ou te kòmanse kap nan egzamen fin vye granmoun, ou te wè sterln. Sa se yon yon sèl popilè. Apre sa, mwen panse ke nan sterln, ou te gen fè chèk sa a pou nil, retounen nan 0 oswa yon bagay tankou sa. Tankou, ou te gen yo tcheke pou nil. Men, si ou pa t ', ki te lonje dwèt koupe sou egzamen an. Se konsa, de tout fason, fè tout moun santi OK ak atwa? okenn moun vle ale sou pati ankò? ROB: Oh yeah, mwen panse ke nou menm tou nou di ou ou ka asime ke tout bagay is-- ki yo ap aktyèlman k ap antre nan yon nimewo, ke ou pa gen enkyete sou, tankou, lèt yo te nan fisèl la, se konsa. Davin: Yeah. Wi? ELÈV: Èske ou ka ale sou yon sèl plis moman lè ou itilize doub quote ak yon sèl quote? [01:20:37] Davin: Asire w, se konsa quotes doub, trè tou senpleman, se quotes doub yo se strings. Se konsa, si ou double quote anyen, sa a, se yon fisèl. Se konsa, tankou, si mwen te gen sa a 0 sou isit la, ak mwen te fè sa a, ki nan yon fisèl. Sa a pa gen okenn ankò yon karaktè. Se konsa, mwen pa ka jwenn sa a valè sou ASCII mwen tablo, paske li nan yon fisèl, yeah. [01:20:57] OK, nenpòt lòt kesyon? Wi? [01:21:00] ELÈV: Se konsa, ou te deja reponn sa a, men tankou, lè nou ap aktyèlman ekri sa a sou egzamen an, ou ta vle nou ekri avèk bar zero [fèbl]? Davin: No Kesyon an te ou ta dwe mete yon koupe atravè zewo yo pou montre pou si yo ap zewo? Non, nou pral figi li soti. Yeah, gras, yo ap bon. OK, nenpòt lòt bagay? okenn moun vle to-- se konsa mwen panse nou te kouri yon ti jan sou tan. ou vle wè yon lòt yon sèl, oswa? ELÈV: RandomInt. [01:21:29] Davin: RandomInt, OK, egzakteman. Se konsa, kite a fè RandomInt. Mwen pral fè l 'sou isit la. Se konsa, RandomInt se aktyèlman pi senpl. Mwen panse ke atwa se pwobableman youn nan pi di ke nou te mande nan ane anvan yo. ELÈV: [fèbl]. [01:21:46] Davin: Ki sa? ROB: Mwen wè si li nan kalite nan tout moun gade soti nan plis pase isit la. Davin li: Eske se? ROB: Mwen pa panse ke li nan going-- Mwen panse ke li a pral kouri yo ale nan bò dwat la. Davin: OK, se konsa mwen pral fè yon sèl sa a. Lè sa a, ou jis mete l 'sou ekran an. [01:21:56] ROB: Tout dwa. [01:21:57] Davin: Ou vle yo dwe sekretè mwen an? [01:21:58] ROB: Yeah. [01:21:58] Davin: Nice. OK, mwen ka efase sa a? [01:22:02] ELÈV: Yeah. [01:22:04] Davin: Sa a se konsa difisil. (Chante) Ou ap fè sa w ap fè. Epi fè sa ou pa fè sa. Tout dwa. [01:22:19] OK, si mwen sonje kòrèkteman, sou egzamen an RandomInt la te tankou, OK, mwen pral ba ou de nimewo, tankou yon yon ak yon b. Apre sa, mwen vle ou ban m 'yon RandomInt ant moun ki nimewo. Se konsa, ki pral RandomInt yo pran de numéros se konsa RandomInt-- ak li nan pral retounen yon int. [01:22:41] Se konsa, sa ki nan valè a retounen? Mwen te jis di ou. Int, dwa? Tankou sa a, ak Lè sa a li nan pral pran de antye. Se konsa, li nan pral pran Int yon ak int b, tankou sa. Se konsa, sa a se RandomInt pral fè se li pral retounen kèk valè o aza nan ant de valè sa yo. Se konsa, li k ap pase yo dwe pi plis pase yon, mwens pase b. Se konsa, mwen panse ke ou ka pwobableman asime ke yon se pi piti a nan de valè yo. Se konsa, si nou ap fè fas ak randonès, sa ki fonksyon yo te nou wè ke ba nou bagay sa yo o aza? ELÈV: Drand. Davin: Drand, egzakteman. Se konsa, w ap ale nan pwobableman vle sèvi ak drand ou yo. Se konsa, ou ka di Int o aza, ak nou pral jis di li egal 0 kounye a. Apre sa, yo ap nou ap ale nan di, OK, egal o aza drand 48. Ak sa ki sa a retounen? Ki sa ki fonksyon sa a ba ou? [01:23:43] ELÈV: ant 0 ak 1. [01:23:45] Davin: Yeah, ant 0 ak 1. Se konsa, li k ap pase yo be-- [01:23:48] ROB: Lè sa a is-- Mwen panse ke nou ta di ou sa a. Tankou, ou ka itilize drand 48. Ou ka verifye sa a nan egzamen an sot pase yo. Men, nou ta pwobableman di ou ka sèvi ak drand 48, ki retounen yon flote ant 0 ak 1. [01:23:58] Davin: Wi, repons lan se wi, mwen se trè asire w nan egzamen an li di pwobableman ou vle sèvi ak drand, yeah. Se konsa, li nan ale nan retounen kèk valè ant 0 ak 1. Lè sa a, ki sa yo ou ale nan vle fè? Oke, ou vle anpil anpil pitit by-- rete tann, mwen panse ke li la tankou sa a, regrèt. Mwen pral jis fè sa. Mwen pa konnen. [01:24:19] Se konsa, b mwens yon. Se konsa, poukisa b mwens yon? Se konsa nou di drand ba ou tounen yon OK Int, mwen pral jis fè tout rès la, se konsa plis yon. Se konsa, sa does-- y se b mwens yon. Se konsa, kite a di ke drand ba ou tounen valè maksimòm nan li te kapab pètèt ba ou. Ki sa ki nan ki pral fè? ELÈV: 1. [01:24:43] Davin: 1, dwa? Se konsa, si sa a se 1, epi w ap miltipliye li pa b mwens yon, byen, sa se sèlman nan diferans ki genyen ant mwens A. Men, si ou Lè sa a, ajoute ke tounen sou yon, ki se ki sa? Li nan fondamantalman b. ki fè sans? [01:24:57] ELÈV: Wi. [01:24:59] Davin: Se konsa, si sa a se maksimòm la apresye li ka posib, li nan pral fè 1. Lè sa a, sa a se jis nan diferans ki genyen ant de la. Ajoute sou yon, se konsa sa a se pral retounen o aza. Ak nan ka a kwen ki drand ba ou tounen 1, o aza pral jis dwe efektivman dwe b. Men, sa a maksimòm la li kapab. Se konsa, si li la pral li dwe mwens pase ki, kidonk kite a di ke li yo tankou 0.9, se konsa Lè sa a, 0.9 fwa b mwens yon ki pral li dwe mwens pase diferans ki genyen ant b mwens yon. [01:25:33] Lè sa a, si ou ajoute ke sou nan yon, lè sa a ki valè pral fè pi gran pase yon, paske w ap ajoute yon bagay sou li, men li k ap pase yo dwe mwens pase b. Se konsa, w ap ale nan jwenn yon o aza nimewo, paske ou ap rele drand. Epi sa rand, ki nimewo o aza se pral fè yon kote nan ant yon ak b. ki fè sans? [01:25:50] ROB: Jis mete l 'nan nimewo konkrè, se konsa kite a di nou vle chwazi yon nimewo o aza ant 7 ak 10. Se konsa, b mwens yon se ranje nou an. Se konsa, gen yon seri de twa nimewo nou vle yo chwazi nan. Lè sa a, miltipliye ki ant 0 ak 1 1, si ki Lè sa a, ban nou some-- kite a di ke ba nou 1.5. [01:26:07] Lè sa a, 1.5, nou vle ale soti nan 7 a 10. Se konsa, 1.5 plis 7 pote nou tounen nan nou an 7 a 10 pòte. Lè sa a, nou ap estoke li andedan nan yon nonb antye relatif, se konsa li twonke desann nan 8. Lè sa a, nou jis retounen sa. Se konsa, b mwens yon se ranje nou an. yon orè li moute nan nimewo yo ke nou vle nan ki pòte. Se konsa, ant 7 ak 10, ak lè sa a nou ka retounen sa nou fini ak. [01:26:30] Davin: Yeah, bèl. [01:26:32] ROB: Mèsi poutèt ou. [01:26:34] Davin: Yeah, sa ki nan moute? [01:26:35] ELÈV: Èske nou kouri li nan nenpòt kalite Erè ASCII lè we're-- si drand se retounen yon flote [fèbl]. [01:26:42] ROB: Se konsa jis tankou Rob te di, paske o aza se pa yon int, se konsa drand pral gen yon flote. Se konsa, ak lè sa a li miltipliye soti. Epi ou ta ka jwenn kèk kalite nimewo flote. Lè sa a, li la pral tronke. [01:26:51] ELÈV: OK. Davin: Yeah. ROB: Men, si du a te avèti ou sou, tankou pèt nan presizyon,, jis jete yon int nan la, ak Lè sa a li nan bon. Davin: Wi? [01:27:02] ELÈV: Li ta gen nan pwobabilite pou trape menm, tankou, b oswa yon [fèbl]? [01:27:08] ROB: Se konsa is-- mwen se aktyèlman wondering-- se RandomInt sipoze yo dwe yon nimewo ki soti nan yon nan mwens pase b? Tankou, si li nan ant 7 ak 10, ki sa yo posiblite yo? 7, 8, ak 9, oswa 7, 8, 9, 10? Davin: Mwen bliye. Sou pwoblèm nan set-- [01:27:19] ROB: Mwen panse ke li 7, 8, 9. [01:27:20] Davin: Li espesyalman di youn nan enklizif ak yon sèl la san konte. [01:27:22] ROB: Yeah. [01:27:23] Davin: Men, mwen don't-- mwen se not-- [01:27:23] ROB: Se konsa, mwen panse ke sa yo se pa enkli, nan ka sa, gen nan yon egal pwobablite nan 7, 8, ak 9. Gen nan pa gen pwobabilite nan 10. Davin: Wi? ELÈV: Mwen gen yon kesyon. Nou vle defini yon fonksyon retounen pa gen yon sèl valè, men yon etalaj. Lè sa a, sa ki ta nan sentaks apre retounen? [01:27:41] Davin: OK, se konsa lè sa a ou would-- apre yo fin retounen? Se konsa, kite pou nou di ou te deklare yon etalaj yon kote moute a. Lè sa a, ou ta jis retounen non an nan etalaj la. [01:27:49] ELÈV: OK, di ou mèsi. Lè sa a, jis retounen ak a-- Davin: O rete tann, se konsa regrèt. Kesyon an te ki jan ou retounen yon etalaj. [01:27:54] ROB: Menm si li pa t 'kapab dwe yon etalaj deklare sou chemine a oswa yon bagay tankou sa. Li ta dwe fè yon bagay malloced, paske malok ki jan pou ou jwenn alantou otomatik alokasyon memwa. [01:28:01] Davin: Wi. ROB: Ki jan ou fè jwenn alantou sijè ki abòde lokal yo. [01:28:09] Davin: Men, ou ta jis retounen name-- li yo [01:28:11] ELÈV: [fèbl] li nan pa gen yon sèl valè, pou egzanp, de nonb, se konsa [Fèbl]. [01:28:18] Davin: Ou pa ka retounen nimewo miltip. Ou pa kapab, tankou, return-- [01:28:20] ELÈV: Mwen te pale osijè de retounen yon etalaj oswa yon bagay tankou sa. [01:28:23] Davin: Yeah, se konsa kesyon an se Mwen ka retounen valè miltip. Ou pa ka retounen valè miltip. Ou pa ka, tankou, retounen yon Lè sa a, retounen b oswa yon bagay tankou sa. Paske apre ou retounen, ou retounen soti nan fonksyon an. Lè sa a, se fonksyon an fè, ak tankou Rob te di, se sou pil la. [01:28:35] Se konsa, tout sa ki memwa jis vin retounen nan òdinatè a. Tout vin bliye, fondamantalman. Se konsa, si ou vle retounen miltip valè, ou gen retounen yon etalaj, Ak wout la ou fè sa se mallocing. Lè sa a, ou ta retounen x tankou sa. Fondamantalman, ou jis retounen non an. Men, lè ou retounen yon bagay tankou sa, w ap pa aktyèlman retounen valè a. [01:28:53] Se konsa, kite pou nou di ou ki estoke valè yo nan yon etalaj. Ou se pa aktyèlman retounen valè sa yo. Tankou, si mwen tounen tounen yon int, mwen se reyèlman retounen kopi valè yo. Men, si mwen te retounen yon bagay tankou sa a, Mwen retounen yon referans valè sa yo. Se konsa, mwen retounen, fondamantalman, yon adrès memwa nan valè yo. ki fè sans? ELÈV: Wi. Davin: Nice. Wi? [01:29:13] ELÈV: Lè w ap lè l sèvi avèk drand sou isit la, ou gen yo mete srand anvan sa? [01:29:17] Davin: Non, non, mwen pa panse sa. [01:29:20] ROB: Yeah, se konsa èske ou gen yo di anyen sou srand? Default la nan ou pa janm di srand nan tout se jis fè srand nan nil. Se konsa, drand sou pwòp travay volonte li yo. Epi li pral otomatikman pitit pitit ak tan an kounye a, se sa ki li itilize. Davin: Wi? ELÈV: Èske ou [fèbl] ak nonb yo? Davin: Wi, ou kapab. ELÈV: Se konsa, ou te kapab di, tankou, 4 fwa 2. Bagay la se, ou pa ka asime Lè sa a, yon int se kat bytes. Only-- nan [01:29:51] Davin: Mwen vle di, pou egzamen an ou kapab. [Ri] [01:29:54] ROB: Milimèt, pa gen. Davin: Wi, repons lan se wi ou kapab. Si yo mande w ki jan gwo yon int se, ou pa kapab, tankou, kat oswa uit. ROB: Oh, Se konsa, si nan kesyon se espesyalman, tankou, si li se yon pwoblèm kodaj, ou ta dwe di gwosè nan Int. Si li se yon tab, oswa li di ki jan anpil bytes, ou pa ta dwe ranpli nan gwosè nan antye. [01:30:08] ELÈV: [ri] [01:30:18] Davin: Dwa, Se konsa, poukisa se gwosè nan int enpòtan isit la? Se konsa, tankou, si nou ap ale nan 32-ti jan processeur oswa yon bagay tankou sa yo, lè sa a li nan pral fè kat bytes. Men, sou kèk nan plus a bagay, li te kapab fè ki sa? Li ta ka uit, dwa? Se konsa, si ou jis this-- Kòd difisil kat, Lè sa a, sou kèk machin, li pral travay. Gen kèk machin alave yo, li pa pral travay. Men, si sou egzamen an nou ap tankou ki jan gwo se yon int? Mete kat. ROB: Dwa. Davin: Yeah? ELÈV: Se konsa, paske nou ap deklare [Fèbl] andedan yon fonksyon, nou ta dwe mete 3 andedan ke fonksyon? Oswa nou ka sèvi ak li deyò a konsa? Davin: Ou ka sèvi ak li deyò ki fonksyon. Se konsa, li te mande pou gratis. [01:30:49] ELÈV: Pèdi tras nan kote [fèbl]. [01:30:51] ROB: Oh, gratis nan pa happen-- sa a, se yon pati nan majik la nan malok se ke ou pa ap restriksyon nan sijè ki abòde lokal yo. Ou gen kontwòl konplè sou konbyen tan varyab ou ap viv la. Se konsa, nou rele malok isit la, li ta ka gen yon fonksyon konplètman separe. Li ta ka 10 èdtan pita ke nou finalman rele gratis. [01:31:08] Davin: Se konsa, pou egzanp, tankou, yon koup semèn nan kounye a lè ou finalman fè diksyonè ortograf ou psets, w ap ale gen kèk fonksyon ki kreye tòn nœuds. Se konsa, w ap mallocing tòn nan nœuds nan fonksyon sa a. Lè sa a, pita nan yon fonksyon ki apa a, w ap ale nan vle libere tout moun sa yo nœuds. Se konsa, ou ka literalman jis pase libere yon konsèy, se konsa yon adrès memwa nan sa ou malloced. Epi sa pral vin amann. Ou pa bezwen libere, tankou, nan fonksyon an menm. Wi? [01:31:30] ELÈV: Se konsa, yon malok varyab [fèbl] deyò a konsa? Eske se sa ke sa w ap di a? Davin: Rete tann, di sa? Padon. [01:31:38] ELÈV: Si yon varyab malok ka gratis nenpòt kote nan kòd la, Lè sa a, èske yo ka jwenn aksè nenpòt kote nan kòd la? Èske ou ka kenbe yo lokal yo? [01:31:45] Davin: Oh, li te mande, tankou, varyab la, like-- [01:31:51] ROB: Se konsa, ou toujou bezwen gen kèk sòt de referans nan blòk malok la nan memwa. Se konsa, isit la, nou ap retounen x. ELÈV: Oh. ROB: Si nou pa t 'tounen x isit la, ak sa a te jis anile, lè sa a nou pa ta gen okenn aksè nan konsèy la ki te malloced, ak li a fwit memwa. [01:32:05] ELÈV: OK. [01:32:06] Davin: Se konsa, tankou, kite a di ou gen sa a, tankou, dwa isit la. ROB: No Davin: Nan fonksyon prensipal m 'yo, mwen pa kapab jis rele sa a x yo epi yo dwe, tankou, OK, nan fonksyon sa a, mwen te fè sa a. [01:32:14] ROB: Dwa. [01:32:14] Davin: Se konsa, mwen pral rele x nan, tankou, prensipal la oswa yon bagay tankou sa. Ou pa ka fè sa. W ap ale nan retounen yon bagay. Men, sa ki ou menm ki pral retounen? W ap ale nan retounen yon adrès memwa. Epi paske ou retounen yon memwa adrès, ki ou kapab jwenn aksè yon lòt kote. Nenpòt ki plis kesyon? Wi? [01:32:28] ELÈV: Èske fonksyon an pi wo a ke yo te chèk pou [fèbl]? [01:32:33] Davin: Poukisa mwen pa bezwen fè sa? ELÈV: [fèbl]. Davin: Paske w ap pa mallocing anyen. Se konsa, li not-- yeah, li nan pa renmen yon a fisèl. Li nan yon konsèy yon kote. Sa yo se sèlman valè. ELÈV: OK. Davin: Yeah. Nenpòt lòt bagay? ROB: Oui? ELÈV: Men, lè ou [fèbl]? [01:32:55] ROB: Se konsa, nan lòd yo libere nan memwa, nou ta ka di isit la. Se konsa, x se konsèy nou yo blòk la nan memwa. Nou libere ki konsèy. Epi nou pa ta nesesèman fè li isit la. Nou ka fè li nenpòt kote. Men, ou sèlman rele gratis sou yon bagay ki malok retounen. Se konsa, malok, isit la, tounen tounen sa k ap estoke nan x. Se konsa, nou ka rele gratis sou x. Nenpòt kesyon sot pase a? [01:33:20] Davin: Nenpòt kesyon sot pase a? Yeah? [01:33:22] ELÈV: Padon, ou ka re-eksplike poukisa ou ta libere nan la? Poukisa [fèbl]? [01:33:26] Davin: Pou isit la? [01:33:27] ELÈV: Yeah, tankou dwa apre. Davin: Ou pwobableman pa vle yon gratis isit la. ROB: Ou pwobableman ta pa. Davin: Yeah, ke sa a ta fè anyen. Sa a ta, tankou, kreye memwa, fè bagay nan li, ak Lè sa a imedyatman bliye sou li, yeah. [01:33:37] ROB: Men, nou ta ka fè, tankou, nan isit la pou kèk rezon. Nou ta ka di Int zetwal y egal retounen etalaj. Fè kèk bagay ak y, petèt enprime sa ki. Epi lè sa a, finalman, nou ap fè. Nou ka gratis y. ELÈV: [fèbl]. Davin: Èske mwen ta dwe desann? Mèsi. ROB: Nice. [01:34:02] Davin: OK, sa a, se li. ROB: Tout dwa, bon. Bon chans. [01:34:05] Davin: Si w gen kesyon, voye yon imèl ba nou. Bon chans.