[MIZIK jwe] CAMILLE REKHSON: Hi, tout moun. Byenveni nan egzamen an CS50 zewo sesyon revizyon. Mwen se Camille. Apre sa, mwen pral yo dwe ale sou kèk sijè avèk ou mesye jounen jodi a pral ede w prepare yo pou egzamen an. Se konsa, isit la nan nou an ki pa konplè lis sijè ou ta dwe abitye avèk pou egzamen an. Sa yo te pran dirèkteman soti nan progranm la. Mwen konnen li sanble tankou yon anpil. Men, kwè m ', ou te aprann tout nan bagay sa yo nan semèn ki sot pase kèk. Se konsa, nou pral definitivman dwe ale sou yon anpil nan sa yo jodi a. Men, tou pran kèk tan sou ou pwòp yo revize bagay sa yo. Men, si ou pa t 'abitye ak sa ki gen kèk nan bagay sa yo ye a, asire w ke ou mande youn nan nou. Epitou, pou pawòl Bondye a ofisyèl sou egzamen an, ale nan lyen sa a. Sa a pral gen tout enfòmasyon ki ak ki chanm ou bezwen ale nan, fann moute par, ak tou kèk konsèy sou sa ki materyèl ou ta dwe etidye, ak sa ki sòt nan kesyon egzamen ou ka atann. Se konsa, asire w ke ou tcheke ki soti. Epitou, kèk konsèy pou lè ou ap prepare pou egzamen an. Pratike kodaj sou papye. Mwen konnen ou te vinn itilize yo gen chèk la IDE pou erè ou pou ou, ak it's-- lè w ap tape l 'kanpe, li nan yon ti kras diferan pase gen yo ekri bagay sa yo soti. Se konsa, pratike fè kèk kodaj. Gen kèk fonksyon bon pratike fè yo strlèn ak atwa, wè si ou te ka ekri moun soti sou pwòp ou yo. Dwe abitye avèk pwoblèm ansanm sa yo,. Pifò ane gen kesyon ki gen rapò nan kèk nan materyèl la pwoblèm mete. Se konsa, asire w ke ou konprann ki jan fè tout pwoblèm ansanm sa yo,. Eseye fè kèk nan ti tès yo fin vye granmoun anba tan contrainte nan 75 minit. Yon anpil nan ti tès yo kapab kalite long. Se konsa, li yon bon fason yo bay tèt ou kèk pratik, epi depi konbyen tan li pral pran ou, ak fason ou ta dwe divize tan ou a asire w ou fini tout bagay nan fen an. Epi tou, ou jwenn yon paj yon sèl, de fèy referans sided ke ou ka ekri tou sa ou vle sou yo sèvi ak pandan egzamen an. Se konsa, lè w ap kreye sa, sa a, se tou reyèlman bon fason yo etidye paske ou pral kalite dwe revize bagay sa yo jan ou ap ekri li. Se konsa, nenpòt kesyon jeneral sou egzamen an, oswa ki jan li fonksyone? Yeah. ODYANS: Èske ke lis nan sijè ke ou jis te montre ap disponib yo ban nou sou entènèt? CAMILLE REKHSON: Sa a tout antye glise pral montre ap afiche sou sit entènèt la. Epitou, videyo a nan revizyon jodi a sesyon yo pral sou sit entènèt la. Se konsa, pa enkyete twòp sou ekri bagay sa yo desann nan tout. Li pral tout dwe la. Nenpòt lòt kesyon? OK, se konsa kite a jwenn te kòmanse. Se konsa, yon sèl bagay yo dwe abitye avèk se kalite yo done diferan ak gwosè nan yo ke yo pran sou. Sa a pouvwa tou pou yon gwo bagay yo ekri sou fèy referans ou, jis asire w ke ou sonje tout moun sa yo. But-- konsa charaktèr yo se 1 multiple. Antye se 4 bytes. Yon long, long, ki se fondamantalman plis espas pou yon nonb antye relatif, se 8 bytes. Yon flote se 4 bytes. Yon doub, ki fondamantalman ba ou plis espas nan magazen yon flote, se 8 bytes. Lè sa a, yon konsèy tou se 8 bytes. Nenpòt kesyon sou sa yo? Se konsa, binè se yon lòt sijè nou te kouvri yon ti jan semès sa a. Se konsa nou fè kèk pratike ak konvèti ant binè a ak desimal. Se konsa, nenpòt moun ki gen nenpòt lide ki sa ke yon moun premye ta dwe? Nenpòt moun ki? Yeah, li nan 42. Se konsa, si ou sonje, chak nan kote ki nan binè se fondamantalman tankou 2 sou pouvwa kote sa a la. Se konsa, ki premye plas se 2 a pouvwa a 0. Epi nou gen 0 a, konsa pa gen anyen la. Kote ki pwochen se 2 sou pouvwa a an premye. Apre sa, nou fè gen yon 1 a, se konsa sa a, se fondamantalman yon 2. Kote ki pwochen se 2 a dezyèm lan, ki se 4. Nou pa gen anyen la. Kote ki pwochen sou se 2 a twazyèm lan, ki ta dwe 8. Apre sa, nou gen yon sèl la. Apre sa, nou kenbe prale. Sa last-- pi lwen nan la yon sèl kite se kote nou gen 32. Se konsa,, nou fondamantalman gen 32 plis 8 plis 2 yo ka resevwa 42. Nenpòt kesyon? ODYANS: Ki sa ki nan endis nan pou? CAMILLE REKHSON: endis nan fondamantalman di nou li nan binè. Se konsa, gen nan yon 2 a. Si te gen like-- nan pwochen an yon sèl, oswa lè nou ap konvèti desimal nan binè, gen nan yon 10 ki montre nou ke Nimewo sa a se orijinal an desimal. ODYANS: Mèsi poutèt ou. CAMILLE REKHSON: Yeah. Nenpòt lòt kesyon sou sa youn? OK, se konsa kite a eseye pwochen an youn lè sa a, desimal binè. Se konsa, pran 50 epi mete ke nan binè. Kouman ou ta fè sa? Yeah. ODYANS: 110010. CAMILLE REKHSON: Wi. Se konsa, yonn-yon fason fasil yo reflechi sou konvèti soti nan desimal nan binè se to-- li souvan ede yo ekri soti sa pouvwa yo diferan nan 2 ye. Lè sa a, ale nan li, epi wè tou sa yon sèl ki pi wo a nan tout sa yo se ke ou ka mete nan nan nan Nimewo desimal san yo pa ale sou li. Se konsa, nan ka sa a, youn nan Pouvwa yo ki nan 2 a se 32. Se konsa, 32 ale nan 50. Men, pouvwa pwochen moute a ta dwe 64, ki evidamman pa anfòm nan 50. Se konsa, pi wo a nou gen se 32 an. Youn nan pwochen desann nan 16. Ak 32 plis 16 se sèlman 48. Se konsa, ki toujou adapte nan 50. Se konsa, nou gen 1 an nan tou de nan sa yo. Lè sa a, si nou kenbe pral desann, bagay la sèlman nou bezwen kite se 2 plis yo ka resevwa soti nan 48 a 50. Se sak fè nou gen yon 1 nan ki pozisyon, ak yon 0 nan yon pozisyon ki sot pase a. Paske gen nan pa gen anyen nan 2 la nan plas la 0-th. Kesyon sou konvèti desimal nan binè? Se konsa, kounye a kite a eseye fè kèk de sa binè. Ki jan lè ou ajoute sa yo de a? Yeah. ODYANS: 11100. CAMILLE REKHSON: Wi. Li ap fè travay de sa nan binè se trè anpil menm bagay la kòm fè l 'nan desimal. Eksepte si ou gen de ke yo te 1 a te ajoute ansanm, 1 plis 1 se 2, men 2 nan binè se 1 0. Se konsa, ou gen yo pote 1 a, epi kenbe pote li pou moun kolòn koup. Men, yon lòt pase sa, jis ajoute nòmalman. Nenpòt kesyon sou sa? Yeah. ODYANS: Padon, ki sa ki kote ki sot pase? Genyen sis chif yo. Se konsa, kolòn nan leftmost, sa valè li? CAMILLE REKHSON: Sou yon anba sa a? ODYANS: Sou yon nan tèt, pou 50. CAMILLE REKHSON: Pou 50? Oh, se konsa yon sèl nan leftmost se 32. ODYANS: 32? CAMILLE REKHSON: Yeah, se konsa li ta gen 32, 16, Lè sa a, 8, 4, 2, 0-- oswa 1. Oke, li nan 2 zeroth a, ki se 1. Yeah. Nenpòt lòt kesyon sou sa a? OK, se konsa Lè sa a, nou ap ale nan fè yon ti jan ti kras ak ekzadesimal. Se konsa, sa ta kapab yon ti jan ti kras mwens yo konnen yo, paske mwen konnen nou te fè yon anpil plis ak binè. Men, yon reyèlman bon fason yo panse osijè de ekzadesimal se kraze moute yon binè Nimewo nan 4 fragman ti jan. Paske chak 4 Bits nan yon Nimewo binè se fondamantalman youn nan nimewo yo ekzadesimal. Se konsa, si nou gen yon sèl sa a an premye, nou gen fondamantalman uit 1 an. Se konsa, moun kapab divize leve- ODYANS: 255. CAMILLE REKHSON: Di sa ankò. ODYANS: 255 nan desimal, oswa 0xff nan ekzadesimal. CAMILLE REKHSON: Yeah, li ye. Se konsa, si ou fann ki moute nan de fragman 4-ti jan, nou fondamantalman gen kat kouche nan 1. Ki se maximum-- nan fondamantalman maksimòm la nou ka jwenn ak 4-Bits nan binè. Ak kantite maksimòm la nou te ka jwenn pou ke nan ekzadesimal ta pwal genyen yon F. Se konsa, nou ta gen de F nan. Nenpòt kesyon sou sa? Yeah? ODYANS: Èske ou ka repete sa. CAMILLE REKHSON: Asire w. Se konsa, chak, fondamantalman, kote nan ekzadesimal se ekivalan a 4-Bits yo nan yon binè. Se konsa, fason ki pi fasil fè sa a se kraze l 'kanpe nan 4-ti jan fragman. Se konsa, nan ka sa a, nou gen uit 1 an. Se konsa, si nou fann moun nan de fragman 4-ti jan, nou ta gen de kouche nan kat 1 an. Epitou, chak youn nan moun ki ki ekivalan a F. Si ou panse sou- Mwen konnen sèvo nou yo kalite branche yo panse plis nan desimal, paske se sa ki nou ap itilize yo. Se konsa, yon fason, ou te kapab panse a li kòm kat 1 an yo ki egal a 15 nan desimal. Ak 15 nan ekzadesimal se F. Se konsa, sa a, se yon lòt fason ou ka panse atravè li. Yeah. ODYANS: Ki sa ki nan 0x la pou? CAMILLE REKHSON: 0x la ki vle di li nan ekzadesimal. Se konsa, nou jis mete sa prefiks la, nòmalman. Lòt kesyon sou sa. OK, se konsa kite a eseye ale nan lòt fason lè sa a. Nan ka sa a nou en-regrèt? ODYANS: [fèbl]. CAMILLE REKHSON: Nou ap ale nan binè. Se konsa, ale nan lòt fason. Men, nan ka sa a, nou gen 5 ak A. Se konsa, si nou panse osijè de sa a, si chak nan those-- 5 an ak yon la yo se tou de ale nan reprezante yon moso 4-ti jan, ki jan ou ta ka di 5 nan binè? ODYANS: 0101. CAMILLE REKHSON: Yeah, se konsa sa a, se pati nan 0101. Lè sa a, ki jan ou ta ka di Yon in-- ODYANS: 10. CAMILLE REKHSON: Di l-- regrèt? ODYANS: 10. CAMILLE REKHSON: Yeah, se konsa sa a, se dezyèm pati a nan li. Lè sa a,, si ou mete sa yo de ansanm, sa a, se ki jan ou jwenn plen nan binè pou ekzadesimal la. Yeah? ODYANS: Pou konnen ki A se 1010, ou gen memorize li? Oswa ou ka like-- CAMILLE REKHSON: Se konsa, si you-- differe-- a pou lè w ap ale atravè tout binè, binè fondamantalman gen 0 jiska 9 ak Lè sa a Yon a F kòm 16 bagay li yo. Se konsa, si tout wout la 0 a 9-- si you-- 9 ak Lè sa a A, fondamantalman si nou konvèti li nan desimal, yon ta dwe tankou 10, B ta dwe tankou 11. Men, si ou panse osijè de a binè 1010 se 8 ak 2, paske moun yo se de a kote ki ajoute jiska 10, ki se egzakteman sa A se ekivalan a. Se konsa, sa a, se kalite yon fasil fason yo reflechi sou sa. Lòt kesyon sou ekzadesimal. OK, se konsa kounye a nou ap ale nan pran yon gade nan operatè lojik. Se konsa, sa yo kapab definitivman vini sou egzamen an. Mwen konnen nou pa gen te travay ak yo yon anpil. Men, nou ap jis pral fè yon ti kras revize nan sa yo. Se konsa, èspere ke sa yo ap gen yon ti jan ti kras pi plis abitye nan ou. Se konsa, sis operatè yo lojik ke nou te yo ki nan lis isit la. Apre sa, yo fè nou manipile Bits endividyèl elèv yo. Se konsa, nan AK operatè se yon comercial sèl. Pa konfonn ke ak comercial a doub, ki se ki lojik la e ke pèmèt nou konpare de bagay sa yo. Sèl la ak ki jan nou kapab manipile bagay lojik. Se konsa, sa ban nou rezilta a nan 1 si toude nan agiman yo ke nou ap konpare se same-- an oswa yo se 1. Ak bar nan vètikal, OSWA, pral ba nou 1 si omwen youn nan yo se 1. Se konsa, fondamantalman egzakteman sa mo sa yo vle di. Epi, si de Bits yo se 1, 1 ak 1 ban nou 1. Men, avèk OSWA a, si li nan 0 oswa 1, oswa 1 oswa 1, nan nenpòt ka, nou gen 1 tankou se te youn nan yo. Se konsa, lè sa a nou ta jwenn yon 1. ODYANS: Ki sa ou vle di ke li di li bay 1? CAMILLE REKHSON: nan rezilta. Kalite, tankou ou would-- si ou te fè 0 a ak 1, rezilta nan ki ta ka 1-- oswa 0 ak 1 ak rezilta a nan ki ta ka 0, regrèt. Yeah, li te kalite a rezilta nan ekspresyon an. Lè sa a,, senbòl sa a Lambda se or a, oswa san konte OSWA. Se konsa, sa vle di sèlman youn oubyen egzakteman youn nan de agiman yo ki egal a 1. Lè sa a, li ta ba ou 1. Ti kras nan squiggly liy se operatè a PA. Se konsa, kontrèman ak rès la nan yo, ki opere sou yon pè nan Bits, operatè a PA sèlman pran yon sèl ti jan, epi yo pral baskile li. Se konsa, si ou give-- si ou fè PA 0, li ta ba ou 1. Men, si ou pa fè sa 1, li ta ba ou 0. Yeah? ODYANS: Ki sa ki nan diferans ki genyen ant OSWA a ak yon sèl liy ak OSWA a ak de? CAMILLE REKHSON: Se konsa, OSWA a ak de liy se ki lojik OSWA la. Se konsa, sa a, se pou konpare de nonm antye relatif plen, oswa two-- yo wè si bagay sa yo yo egal-ego. Oswa tankou fè sa ki egal a sa a, Oswa sa a ki egal a bagay sa a kalite. Lè nou konsidere ke ba a yon selibatè oubyen, se pou fè bagay lojik. Yeah. ODYANS: Ki sa ou vle di pa lojik? CAMILLE REKHSON: Se konsa, lojik ap travay dirèkteman ak Bits yo nan binè. ODYANS: Oh, mwen wè. CAMILLE REKHSON: Yeah, se konsa k ap travay ak 0 a ak 1 a. Nou pral fè yon egzanp koup la sa a apre, jis pou li a pa twò konfizyon. Lè sa a, de dènye a yo se nan chanjman kite la ak chanjman a dwat. Ki se fondamantalman de mwens pase siy oswa de pi gran pase siy. Apre sa, yo deplase nan ti jan nimewo a nan kote yo bay ke ou bay li nan yon direksyon ki. Se konsa, li ta swa chanjman li sou bò goch la, oswa a dwat la. Yeah? ODYANS: Ki sa ki nan sentaks la pou kouri? CAMILLE REKHSON: Nou ap ale nan ale nan yon egzanp nan yon dezyèm fwa. Se konsa, èspere ke, ki pral ede. Nenpòt kesyon sou jis sa ki nan moute isit la, devan l OK. Se konsa, ale atravè tout kèk egzanp. Ann kòmanse ak nan yo menm ak. Ki sa nou ta jwenn si nou te fè 0 ak 1? ODYANS: 0. CAMILLE REKHSON: OK, epi si nou te fè 1 AK 1? ODYANS: 1. CAMILLE REKHSON: Yeah, sa ki si nou te fè 0 oswa yon sèl? ODYANS: 1. CAMILLE REKHSON: Ki jan sou 1 OSWA 1? ODYANS: 1. CAMILLE REKHSON: OK, ki jan sou 0 or 1? ODYANS: 1. CAMILLE REKHSON: Ak 1 or 1? ODYANS: 0. CAMILLE REKHSON: Ou nèg yo se bon. Kouman sou PA 0? ODYANS: 1. CAMILLE REKHSON: epi yo pa 1? ODYANS: 0. CAMILLE REKHSON: OK, ak Lè sa a sa a dènye youn nan yon yon sèl ti kras ak déplacement nan. Se konsa, si nou okòmansman mete x yo dwe 8, ak Lè sa a, y se x deplase sou bò goch la 3, sa ki ta ki bay nou? ODYANS: [fèbl]. CAMILLE REKHSON: Di sa ankò. ODYANS: [fèbl]. CAMILLE REKHSON: Se konsa,, sa a aktyèlman ba nou 64. ODYANS: [fèbl]. CAMILLE REKHSON: Se konsa, mwen jis ale nan ekri sa a moute isit la, kidonk sa a fè yon ti kras nan sans. Si nou gen 2 a 0 a, 2 a 1 la, 2 nan 2 a, 2 a 3 a pwal 8. Men, si nou vle chanjman li 3 plis Bits sou bò goch la, ki ta ka 2 a 4 an, 2 a 5 an, ak 2 a nan 6, ak 2 a 6 an se 64. Èske ki fè sans? Wi. ODYANS: Èske sa chanjman tout la a 1 ak 0 a ki gen nimewo a binè the-- CAMILLE REKHSON: Wi. Epi ou pa pral gen enkyete sou mòn lan egzamen sou sa yo ke yo te negatif. Nou pa pral fè ou fè fas avèk orè negatif nan okenn fason. Nenpòt lòt kesyon sou sa a? Wi. ODYANS: Si li nan déplacement a dwat la, se nenpòt ki bagay ki wasn't-- nenpòt ki bagay ki pa t 'orijinal yon pati nan bagay la 0? CAMILLE REKHSON: Yeah, ou ta jis ajoute 0 a sou nan orijinal la. Yeah. ODYANS: Se konsa, sa ki nan ke 100 deplase a dwat a twa fwa? CAMILLE REKHSON: 100 deplase nan bò dwat la, se konsa ki ta pran tout nan 1 an ak 0 a ak jis chanjman yo a dwat a kòm anpil fwa tankou ou li chanjman a dwat la. ODYANS: [fèbl]? CAMILLE REKHSON: Bon, 100-- yo ou ap pale de 100 nan binè, oswa 100 nan desimal? ODYANS: Mwen regrèt, 100 nan binè. CAMILLE REKHSON: 100 nan binè, si ou chanjman l 'bay regleman an si ou chanjman a dwat a yon fwa, li ta vin 10. Si ou chanjman li a dwat a de fwa, li ta vin 001. Lè sa a, si ou chanjman l 'ankò, ou kalite pèdi ti jan nan. Yeah, sa se sèlman 0. Nenpòt lòt kesyon sou sa a? Wi. ODYANS: Se konsa, Lè sa a, li vin 000. CAMILLE REKHSON: Wi. OK, se konsa kite a ale nan yon ti kras nan ASCII matematik. Se konsa, karaktè kapab esansyèlman dwe trete kòm nonm antye relatif ki baze sou valè ASCII yo. Se konsa, si nou te chita int Yon egal 65, int B egal Yon plis 1, int Char C egal D mwens 1, ak Char D egal 68, sa ki ta enprime soti nan pati anba a? Se konsa, nou ap enprime these-- beni you-- nou ap enprime sa yo tout soti kòm charaktèr ki baze sou C. nan pousan Se konsa, nou ap fondamantalman enprime soti valè a karaktè nan tout kat nan varyab sa yo. Kòm yon allusion, 65 se valè a ASCII nan kapital A. Petèt sa te ede. Kisa? ODYANS: ABCD. CAMILLE REKHSON: Yeah, se konsa sa a ta enprime soti egzakteman ABCD paske nou mete int Yon egal a valè a ASCII nan A. Se konsa, si nou enprime ki soti kòm yon karaktè, nou jis jwenn kapital A, Yon plis 1 ta dwe yon kapital B nan ASCII. D mwens 1 ta dwe yon kapital C nan ASCII. Ak 68 se valè a ASCII nan D. Kesyon sou ASCII? Wi. ODYANS: Se konsa, sitasyon pi ba la make alantou A, fè ke chanjman A jiska ASCII a? CAMILLE REKHSON: Li uses-- li count-- quotes sèl alantou A fè li yon karaktè. Men, si ou ap fè fas ak l 'nan nimewo a form-- Se konsa, lè, tankou nan ka sa a, li nan ke yo te te fè fas ak kòm yon int-- lè sa a li ta fè fas ak li a valè ASCII. Wi. ODYANS: Èske ou rekòmande pou nou gen yon tab referans ASCII? CAMILLE REKHSON: Mwen pa Monchè ODYANS: Ou ta li sèlman fè fas ak sa yo? CAMILLE REKHSON: Mwen panse ke nou ta fè l 'ak bagay sa yo fasil. Mwen pa panse li ta fè mal yo ekri petèt sa kapital A ak miniskil Yon ye, jis sa ki sa yo chenn yo kòmanse avèk yo. Men, mwen pa panse ke ou bezwen pran tout espas ki la yo mete yon tab ASCII antye. Yeah. ODYANS: Ki sa ki nan diferans ki genyen ant li di Int A ak Char C, tankou ou fè nan tèt la? CAMILLE REKHSON: Se konsa, li nan jis ki jan ki nan ki estoke nan memwa. Men, ou ka trete li swa fason. Fè tankou nou wè isit la, nou fè ekri an lèt detache soti Yon lan kòm yon karaktè. ODYANS: Se konsa, sa a, se menm bagay la kòm A? CAMILLE REKHSON: Yeah. Nenpòt lòt kesyon? ODYANS: Se konsa, pousan C ap di enprime yon Char? CAMILLE REKHSON: Wi. ODYANS: Se konsa, menm si yon gen sèlman te defini kòm yon nonb antye relatif, si nou eseye enprime yon Char kòm yon 65, li would-- CAMILLE REKHSON: Li ta ale nan fondamantalman ale nan tablo ASCII epi vin tou sa karaktè nan tablo a ASCII pou sa 65. ODYANS: Mèsi poutèt ou. CAMILLE REKHSON: Yeah. Wi? ODYANS: Se konsa, si ou te fè% mwen,% Se mwen menm, % Se mwen menm,% Se mwen menm, ta li jis print-- CAMILLE REKHSON: Yeah, si ou te fè tout 4% mwen a, li ta enprime soti nan ASCII valè nan tout kat nan sa yo. Nenpòt lòt kesyon? OK, se konsa sijè ki abòde, fondamantalman sa a ede nou detèmine kote yon varyab egziste nan pwogram ou an. Se konsa, nou te pale sou de diferan kalite sijè ki abòde, mondyal ak lokal yo. Si yo yon varyab globalman scoped, sa vle di pwogram ou tout antye gen aksè a ki varyab. Men, si ou globalman sijè ki abòde yon varyab, ou deklare l 'devan fonksyon prensipal ou an. Se konsa, li fè dwa koupe baton an. Lè sa a, antye ou pwogram kapab jwenn aksè li. Si li la sèlman lokalman scoped, ki varyab nan prizon nan yon rejyon espesifik. Se konsa, si ou deklare ki nan yon pou riban, sèlman ki pou riban kapab jwenn aksè li. Oswa si ou deklare nan yon fonksyon espesifik, sèlman ki fonksyon kapab jwenn aksè li. Kesyon sou sijè ki abòde. OK, se konsa Prototype fonksyon. Fondamantalman paske C, lè li compiles, li tèt anba. Si ou deklare yon fonksyon byen ta nan kòd ou a, du a pa konnen ki ki fonksyon egziste. Se konsa, sa nou itilize yo se prototip, ki fondamantalman di du a, fonksyon sa a egziste, ale gade pou li pita nan kòd la. Se konsa, wout la ke ou fè yon pwototip fonksyon se egzakteman ki jan ou kòmanse koupe ekri yon fonksyon. Ou ba kalite a retounen, non an nan fonksyon an, ak Lè sa a nenpòt ki agiman ki ki fonksyon pran. Se konsa, fè yon gade nan yon egzanp rapid, nan ka sa Ka fonksyon nou ke nou ap sèvi ak isit la se fondamantalman yon fonksyon kib. Se konsa, pran nan yon nonb antye relatif ak retounen kib la nan ki nonb antye ki pè. Se konsa, paske nou te ekri ki fonksyon anba a fonksyon prensipal la, epi nou vle sèvi ak nan pwodiksyon nan that-- oswa nou vle ke fonksyon nan fonksyon prensipal nou an, nou mete fason pwototip li yo nan tèt yo nan pwogram nou an. Lè sa a, lè nou rele li nan fonksyon prensipal nou an, du a konnen ke ki fonksyon se ekri apre sa, epi yo pral ale gade pou li, epi yo pral sèvi ak li byen. Kesyon sou Prototype? Wi. ODYANS: Se konsa, sa ki nan pwen an? Mwen pa jwenn pwen nan Prototype. Poukisa nou pa jis gen li desann la? CAMILLE REKHSON: Bon si li a desann isit la, lè sa a lè ou jwenn nan liy kib nan x nan fonksyon prensipal ou an, du a pral pa gen okenn lide ki fonksyon an kib aktyèlman egziste. ODYANS: pa t 'kapab ou jis mete l 'la devan? CAMILLE REKHSON: Se pi bon pratik kodaj yo mete l 'anba fonksyon prensipal ou an. Se konsa, Se poutèt sa nou ta fè Prototype nan. Jis paske, si ou te gen yon anpil nan fonksyon, li ta dwe reyèlman sal li nan tout moun sa yo fonksyon ou anvan ou jwenn nan vyann nan pwogram ou an. Yeah, epi ou te gen yon q ODYANS: Se konsa, se deklare varyab ou moute nan tèt la se konsa ou kapab jwenn aksè nan li, fè l 'yon varyab mondyal? Eske se sa ke menm jan ak sa a kote li deklare li 'kanpe, se konsa ke li konnen ke li pral jwenn aksè nan li pita epi ou ka sèvi ak li? CAMILLE REKHSON: Yeah. Wi. ODYANS: Yo ta dwe nenpòt ki plis the-- fonksyon ou kreye kle deyò a bagay sa a, or-- CAMILLE REKHSON: Yeah, si w ap kreye lòt prensipal functions-- tèt li se fonksyon-la Se konsa, si w ap kreye lòt fonksyon, yo ta dwe deyò. Wi? ODYANS: Ki sa ki nan pousan D? CAMILLE REKHSON: Pousantaj D se menm bagay la kòm pousan I. Li refere a yon nonb antye relatif. Wi. ODYANS: Se konsa, ki sa ki int fezon prensipal yo? Ki sa sa anile te ye? CAMILLE REKHSON: Anile di li pran nan okenn agiman. ODYANS: [fèbl]. CAMILLE REKHSON: Èske ou ka pale yon ti kras pi fò, regrèt? ODYANS: Yeah, regrèt, poukisa te fè ou mete anile pou yon nan premye, ak Lè sa a int opinyon pou yon sèl nan dezyèm? CAMILLE REKHSON: Oh, pou de nan different-- pou fonksyon prensipal la kont fonksyon an kib? Se konsa, nan fonksyon prensipal la, nou itilize anile paske se la gen okenn paramèt ke yo te pran nan. Lè nou konsidere ke nan kib la fonksyon, nou gen yon opinyon. Se poutèt sa li di int, D ', paske gen agiman ke nou ap pran nan nan kouri fonksyon nou an. Yeah. Èske gen yo se kesyon? OK, Lè sa a, byen vit ak k ap flote-pwen enpresizyon. Se konsa, nou gen enfiniman anpil nimewo reyèl. Men, gen sèlman yon Nimewo fini nan Bits ke nou ka itilize yo montre moun nimewo, epi yo reprezante yo. Se konsa, Lè sa a, nou fini ak kèk enpresizyon. Ak nimewo ou pa pral toujou dwe byen egzakteman sa ou panse yo ye lè w ap fè fas ak k ap flote-pwen. Sa a se jis yon bon bagay yo konnen. Kesyon sou sa a? Wi. ODYANS: Èske sa se refere li ak ide a nan ti jan debòde sa ki te nan konferans lan? Te ke yon bagay separe? CAMILLE REKHSON: Yo ap konplètman separe, yeah. OK, gwo. PULAK Goyal: Hi, tout moun. Non mwen se Pulak, ak mwen pral gen ale sou pwent. OK, se konsa kite a premye panse sou sa ki memwa sanble. Se konsa, jan ou ka wè isit la, nou pran memwa ak nou divize l 'kanpe nan yon pakèt moun sou blòk. Apre sa, nou referans chak bloke pa yon adrès, dwa? Ak nenpòt moun ki sonje sa di ki kalite notasyon nou itilize fè yon don yon adrès? ODYANS: ekzadesimal, 0x. PULAK Goyal: Ekzadesimal, dwa? Se konsa, 0x a vle di nou ap ap pale de ekzadesimal. OK, se konsa ki jan nou kreye endikasyon? Se konsa, nou pran kalite a, nou mete l-- ajoute yon etwal nan li, ak Lè sa a nou ajoute non an varyab. Se konsa, egzanp yo nou te wè yo int etwal x, zetwal Char y, ak flote kòmanse z. Se konsa, lè m 'di Int zetwal x, ka yon moun di m ' sa m ap kalite ap pale de la? ODYANS: Kote a nan ki gen kapasite a. PULAK Goyal: Padon, ki sa? Èske ou ka repete sa? ODYANS: Kote a nan ki gen kapasite. PULAK Goyal: Se konsa, aktyèlman Se konsa, sa Mwen vle di, se lè nou gen int zetwal x, nou ap di ap kreye yon konsèy, epi li ka magazen adrès la nan yon varyab sa a, se yon int, dwa? Se konsa, ak zetwal Char y, nou ap kreye yon konsèy ki ka magazen adrès la nan yon varyab ki nan yon Char. Se konsa, ki fè sans a tout moun? OK, fre OK, se konsa ak endikasyon, gen de operasyon enpòtan nou ka fè. Genyen indican, ak gen nan dereferencing. Yeah? ODYANS: Èske ou ta kapab ale yon ti jan ti kras pi dousman? PULAK Goyal: Asire w. Yeah, so-- Yeah, poze kesyon jan mwen ale ansanm si you-- si gen yon bagay se klè. Se konsa, nou te indican ak dereferencing. Se konsa, lè ou vle jwenn adrès la nan yon varyab, lè sa a sèvi ak comercial a. Se konsa nou di mwen te deklare int x yon kote. Apre sa, mwen vle jwenn adrès ki nan ki epi yo pase l 'nan, mwen ta fè comercial x. Men, lè ou vle jwenn nan valè ki asosye avèk yon konsèy, ou itilize dèreferans a operatè, ki se yon etwal. Se konsa, pèmèt di mwen te gen int zetwal x, ak Mwen te gen li lonje dwèt nan yon bagay. Si m 'vle jwenn valè a nan sa ki la montre nan, mwen ta jis fè zetwal x. Eske se sa ke klè? Nenpòt kesyon sou sa? Yeah. ODYANS: Se konsa, jeneralman, ou pa yo pral kapab fè nan x ak zetwal x ak menm x la. Eske se sa ke kòrèk? Paske si x se yon varyab, lè sa a ou gen fè nan x yo ka resevwa ke li nan yon konsèy. Men, si x se yon konsèy, lè sa a ou bezwen fè zetwal x yo ka resevwa varyab la. PULAK Goyal: Wi, se konsa nan kesyon te sou lè èske nou sèvi ak yon star-- lè ou ta itilize zetwal la, ak ki lè nou itilize nan comercial, e yo ka nou sèvi ak li ak kalite la menm nan varyab? Se konsa, anjeneral si ou genyen, pou egzanp, yon x int, ou ta sitou lè l sèvi avèk la comercial yo ka resevwa adrès la nan sa. Paske li pa fè sans nan deferans nan x. Lè nou konsidere ke, si nou te gen zetwal int x, ou ta dwe lè l sèvi avèk operasyon dèreferans paske li ta fè okenn sans yo sèvi ak nan x nan ka sa a. Èske ki fè sans? ODYANS: Se konsa, ou pa kapab epi, ak Lè sa a yon konsèy? PULAK Goyal: Se konsa, ou teknikman, aktyèlman kapab fè comercial a nan yon konsèy. Men, sa a soti nan la sijè ki abòde nan klas sa a. Pou purpose-- nan pou mesye ou a rezon, chak fwa ou gen endikasyon, ou vle sèvi ak operatè a dèreferans yo ka resevwa valè a ki asosye ak sa. Men, lè ou gen regilye varyab, tankou yon x int, ou vle sèvi ak comercial a operatè yo ka resevwa adrès la nan sa. OK? OK, se konsa kite a gade nan endikasyon ak sa k ap pase anba kapo a. Se konsa, premye bagay la mwen te fè isit la se int x deklare nan ki egal a 5. Postal la nan varyab sa a se 0x04, ak valè a se 5. Se konsa nou wè sa ki rive ak liy kap vini an. Se konsa, kounye a nou deklare yon konsèy. Adrès li se 0x08, ak li yo valè adrès ki nan x. Ki fè sans a tout moun? Nenpòt kesyon sou sa? OK, e kounye a, se pou yo wè sa ki k ap pase ak liy kap vini an. Se konsa, avèk liy sa a kap vini an, nou gen adrès ki nan kopi yo te 0x10, ak valè li yo se 5. Se konsa, rezon ki fè yo nou te resevwa senk se nou te di, nou dèreferans konsèy, nou te deklare yon etwal Int. Se konsa, li lè nou went-- dèreferans li, li te di, OK, ki sa ki nan 0x04 nan plas. Epi, se te ale nan sa. Ak sa ki x se yon x0-- 0x04, ak valè a se 5. Ki fè sans? Yeah? ODYANS: Poukisa se adrès kopi nan jis 4 bytes pi wo a x konsèy la? PULAK Goyal: Wi, sa a se yon erè on-- CAMILLE REKHSON: Se konsa, repons lan se wi, sonje sa a ki ekri nan ekzadesimal. PULAK Goyal: Oh, yeah. CAMILLE REKHSON: Se konsa, sa a se aktyèlman 8 Lè sa a, 16 ak paske nou te di ke, konsèy la, sonje, nan IDE nou an a pwal 8 bytes lontan. PULAK Goyal: Yeah. Se konsa, jis yo dwe klè, endikasyon yo se 8 bytes lontan. Yon int se 4 bytes. Se konsa, rezon an pou kisa sa vole soti nan 0x04 0x08 se paske nou te fè yon so nan 8 bytes. Lè sa a, pou- depi kopi se jis yon int, li nan 4 bytes, ki se mwatye nan 8 bytes. Se konsa, nou jis Ale nan 0x10, ki se de lwen 0x08. Nenpòt lòt kesyon? OK, let's-- yeah? ODYANS: Poukisa se pa valè a nan kopi int jis the-- poukisa li olye pou yo 5 0x04? PULAK Goyal: OK, poukisa li 5? OK, Se konsa, lè the-- konsa nan kite premye panse osijè de sa a an tèm de kalite. Se konsa, mwen ap di kopi int ki egal a zetwal konsèy. Se konsa, sa se ki kalite konsèy? Li se yon zetwal int. Lè m 'dèreferans sa, kalite a vin tounen yon int. Se konsa, sa nou espere nan magazen isit la se aktyèlman yon int. Ki fè sans? ODYANS: Asire w, ti kras. PULAK Goyal: Se konsa, anjeneral lè ou panse an tèm de kalite, li te ede ou konprann ki sa ki nan di ki kalite valè nan ki ta dwe ale la. Se konsa, ou ka anjeneral règ soti yon anpil nan erè komen sa yo pa panse an tèm de kalite. Kite m 'ale nan yon ti kras pi plis glisad. Apre sa, nou ka jwenn kesyon nan nan fen seksyon an konsèy. OK, se konsa nou gen yon pwogram buggy isit la. Se konsa, fè sa ki anyone-- ka yon moun di m 'sa ki mal ak pwogram sa a? Dwa, Se konsa, sa nou ap panse ou pral pral fè isit la is-- sa nou vle fè se pran int nan varyab x epi y'a vire l-- fè li egal 5 olye pou yo 3 Lè sa a, enprime ak sa. Men, sa pa k ap pase. Èske gen yon moun di m 'poukisa? Wi? ODYANS: Lè fonksyon an to_five pran x kòm li nan agiman, li pa pran x tèt li, men olye pou kreye yon kopi, yon, nan li. Apre sa, li fòme operasyon sou sa. Men, paske se nan sa, ou pa fè sa chanje valè aktyèl la nan x. Depi w ap [fèbl]. PULAK Goyal: Dwa, dwa, Se konsa, lè nou rele to_five nan fonksyon, ki sa n ap fè se panse, ban m 'yon kopi nan valè ak sa yo ki fonksyon. Sa fonksyon, lè sa a, ki pral ak ap fè kèk manipilasyon. Men, yon fwa li retounen, li la kounye a soti nan sijè ki abòde nan fonksyon prensipal la isit la. Se konsa, x se toujou, an reyalite, egal a 3, epi nou enprime 3. OK, se konsa kite a wè ki jan sa a k ap pase. OK, se konsa pa gen anyen te deklare. Lè sa a, isit la, x ki egal a 3. Epi kounyeya, se is-- nan pozisyon de, yon se toujou pa nan sijè ki abòde. Epi, koulye a nou ale nan pozisyon twa, kote yon kounye a pansé ké valè a nan 3. Nan kat, kounye a nou chanje yon a 5. Men koulye a,, lè nou sote tounen nan senk, ki se deklarasyon an ekri an lèt detache, yon se kounye a soti nan sijè ki abòde. Ak X se toujou egal a 3. Sa a fè sans a tout moun? OK, se konsa kounye a kite a pale sou fason nou ka sèvi ak endikasyon yo ranje sa a. Nenpòt moun ki gen nenpòt ide ki jan nou te kapab ranje sa a lè l sèvi avèk endikasyon? ODYANS: Ou pran nan yon etwal Int olye pou yo yon int pou to_five. PULAK Goyal: Padon, ou ta ka pale moute? ODYANS: Ou pran nan yon etwal Int olye pou yo yon int pou to_five. PULAK Goyal: OK, wi. Se konsa nou pass-- olye pou yo pase jis valè a, se pou yo pase l pa referans. Fonksyon sa a nouvo, dwa? Se konsa, si yo pase adrès la nan, nou kapab fè manipilasyon sou adrès la. Se konsa, nou ap aktyèlman, an reyalite, chanje x. Se konsa, kite a wè ki jan ki travay. OK, se konsa nan egzanp sa a nou fiks li. Nou te chanje siyati nou an a to_five yo pran nan yon int zetwal olye pou yo jis yon int isit la. Apre sa, nou dèreferans sa a yon epi bay 5 a li. Epi, koulye a sa a volonte, an reyalite, enprime 5. Se konsa, kite a wè ki jan etap sa yo travay isit la. Se konsa, avèk premye etap la, pa gen anyen te deklare ankò. Se konsa, isit la, ak dezyèm etap la, nou te di x egal a 3, men yon se toujou soti nan sijè ki abòde. Koulye a, pa liy nan twazyèm, nou gen x se toujou egal a twa. Epi, koulye a, nou te pase in-- sa ki nan estoke nan yon se kounye a adrès ki nan x. Ki fè sans nan tout moun, ki jan nou te resevwa sa? Dwa, nou gen amper-- nan sa a jan nou te pase yon x comercial nan fonksyon an to_five. Lè sa a, nan liy kap vini an, ki sa nou fè sa, se nou dèreferans a. Ak nan dereferencing yon, nou yo kapab chanje valè a nan x soti nan 3 a 5. Paske x ap viv nan moman sa adrès 0x12. Lè sa a,, finalman, lè nou retounen tounen nan prensipal yo, byenke sa a yon se kounye a soti nan sijè ki abòde, nou te, an reyalite, chanje x. Epi li se 5. Nenpòt kesyon sou sa a? Yeah? ODYANS: Èske ou ka di m ' sa comercial x la te? Mwen te panse comercial te tankou AK. PULAK Goyal: Wi, se konsa nou itilize menm bagay la tou senbòl pou anpil bagay diferan. Se konsa, isit, lè ou en-an ka sa a, lè ou gen, Mwen guess-- se konsa nan ka sa a, lè w ap fè fas ak endikasyon, lè ou mete comercial a nan devan nan yon int, se yon int varyab, oswa yon Char, oswa yon koule, sa w di a se, ban m 'adrès ki nan sa a. Men, sa ki ou te panse a, lè lòt moun ou ta itilize comercial se, se pou yo di, nan yon si deklarasyon. Ou gen yon vre, ak kèk varyab ki evalye a kèk Boolean, ak kèk lòt varyab ki valide kèk Boolean , epi ou vle jwenn ak nan sa. Lè sa a, ou ta itilize comercial a. Oratè 1: Yeah, Se konsa, jis jodi a, nou te te pale osijè de twa itilizasyon diferan a comercial. Nou gen de ampersands, ki se sa Pulak te jis dekri yo. Nou gen yon sèl comercial, ki se sa ki Camille dekri pi bonè, ki se youn comercial. Epi sa a, pou lojik AK. Apre sa, remake ke nan tou de kondisyonèl AND-- oswa, regrèt, lojik nan AK ak lojik nan AK, sa yo ki gen de nonb, dwa? Li te yon bagay comercial comercial yon bagay, yon bagay comercial yon bagay. Isit la, lè nou jis gen comercial yon bagay, ki nan dereferencing. PULAK Goyal: Yeah, gwo kesyon an. Yeah. ODYANS: Poukisa nan liy 5a ak zetwal yon N / A vin? Poukisa nou pa yo jis kalite kenbe nan valè menm soti nan liy la anvan yo? PULAK Goyal: Paske nou te quitté fonksyon an. Se konsa, ki sa happens-- se konsa kounye a nou ap what-- soti nan sijè ki abòde nan ki fonksyon, sa k ap pase aktyèlman se moun yo retire nan memwa. Yeah. ODYANS: Ant 3 oswa 4 zetwal yon egal 5. PULAK Goyal: Wi. ODYANS: Ki sa sa egzakteman don? PULAK Goyal: Ki sa sa vle di? ODYANS: Yeah. PULAK Goyal: Se konsa, nan kesyon te, ki sa ki that-- ki sa ou ap fè sou entènèt lè nou di, zetwal ki egal a 5? Se konsa, sonje zetwal la nan dèreferans operatè. Se konsa, lè yon, nan ka sa a, se yon konsèy. Se yon etwal Int. Se konsa, lè nou dèreferans yon pa lè l sèvi avèk zetwal la, ki sa nou ap di se, ale nan tou sa se ki estoke nan la adrès, estoke nan a-- se konsa take-- se konsa yon, kounye a, gen kèk adrès estoke nan li. Ale nan kote ki adrès pwen yo, ak kounye a chanje tou sa se sa ki senk. Yeah. ODYANS: Èske ou ka di li an tèm ki pi senp? Chanje adrès la nan yon a 5. PULAK Goyal: Nou pa ap chanje adrès ki nan yon a 5. Yon gen kèk adrès nan li, ki se nan adrès nan varyab la nan enterè yo. Se konsa, sa nou ap di lè nou dèreferans se, kounye a nou vle change-- nou ap kounye a indican enterè varyab la nan dirèkteman. Èske ki fè sans? Oratè 1: Yon lòt fason yo reflechi nan li se go-- se konsa yon se yon adrès. Etwal la di ale nan ki adrese ak gade nan valè li yo. Epi, koulye a mete valè li yo nan 5. Se konsa, li di, ale nan la adrès nan x, ki a pwal sa k ap estoke nan yon, ak chanje li nan 5. PULAK Goyal: Yeah? ODYANS: Se konsa, pozisyon an se kote konsèy la ki pral, adrès la. Men, se valè a yon asiyen valè ki baze sou adrès la. PULAK Goyal: Yeah. Nenpòt lòt kesyon sou sa a? ODYANS: Mwen gen yon kesyon. PULAK Goyal: Yeah, regrèt. ODYANS: Se konsa, lè ou se konsa store-- si w ap di [fèbl] a. PULAK Goyal: Wi. ODYANS: ou gen magazen x la ak yon comercial? Poukisa nou pa ou ka jis di x anvan int ou [fèbl]? PULAK Goyal: So-- ODYANS: [fèbl]. PULAK Goyal: Se konsa, se question-- ou oh. Se konsa, kesyon nou an, ap, poukisa pa ka we-- to_five nan fonksyon, poukisa yo pa kapab nou jis pase yon x, dwa? ODYANS: Dwa. PULAK Goyal: OK, yeah, se konsa sa a ankò ale tounen nan diskisyon nou an sou kalite. Se konsa, to_five nan fonksyon se kounye a tann yon di ki kalite zetwal int. Se konsa, sa se ki kalite x? X se jis yon int. Men, sa ki sa a fonksyon espere se yon zetwal int. Se konsa, li espere yon varyab ki gen yon adrès ki estoke nan li. Se konsa, lè sa a jan you-- mete nan comercial, e konsa sa a, se ki jan nou pase nan la adrès, ki se now-- e ke entèprete ki kòm yon etwal Int, yeah. Great kesyon. Nenpòt lòt kesyon sou sa a? OK, fre. OK, se konsa kounye a kite a pale sou konsèy aritmetik. Se konsa, isit, pandan l ajoute ak soustraksyon mwen ajiste konsèy la pa mwen fwa gwosè a nan ki kalite bytes konsèy. Se konsa, kite pou yo gade nan ki jan ki sanble. Se konsa, isit, nou te deklare int x egal yon 5. Epi, koulye a nou ap ale nan deklare yon konsèy y, epi yo pase nan adrès ki nan x la. Se konsa, nou gen sa. Se konsa, x se ki estoke nan 0x04. Se konsa, kounye y egal a sa. Epi yo ka yon moun di m 'sa yo panse pral rive lè nou fè y plis egal 1? Yeah? ODYANS: Èske l chanje nan 0 fwa 0 8? PULAK Goyal: Kantite moun ki, ak type-- ODYANS: Ou ap deplase adrès la. PULAK Goyal: Yeah li was-- wi. So-- dwat. Se konsa, li pral chanje nan 0x08. Apre sa, se konsa ou ta because-- sèvi ak sa a fòmil, 1 fwa gwosè a nan konsèy la ak endikasyon yo se nan size-- [ELÈV bougonnen] PULAK Goyal: Dwa. [ELÈV bougonnen] Oratè 1: Se konsa, kalite a ki pwen yo konsèy to-- PULAK Goyal: Èske, yeah, yeah, sa a, se 4 bytes. Oratè 1: Se konsa, antye se 4 bytes. PULAK Goyal: Se konsa, si nou te a-- se pou yo di nou deklare, mwen devine, yon Char. Ki sa ki ta that-- kidonk kite a di nou gen x Char egal a yon oswa yon bagay. Epi nou te gen adrès ki nan ke nan 0x04, sa ki ta y plis egal 1 fè kounye a? Padon, ki sa? ODYANS: 0x05. PULAK Goyal: 0x05, dwa. Tout moun wè sa? OK, e kounye a, se pou yo di li nan yon flote. Ki sa ki ta rive? Nenpòt moun ki? Se konsa, flote yo se konbyen bytes? ODYANS: 4 bytes. PULAK Goyal: Dwa. Se konsa, li ta dwe menm bagay la kòm sa a. Fre. OK, e kounye a, kite nan pale sou pwent ak ranje. Se konsa, ou te wè sa a sou la anvan de kouche p, kote nou ka treat-- ranje se konsa ak endikasyon yo pa menm bagay la. Men, nou ka trete ranje kòm endikasyon. Se konsa, isit, nou gen sa a etalaj isit la, ki te gen twa fant. Nan premye nou an slot-- gen yon sèl, de, ak twa. Se konsa, si we-- pou nou ka bay ki lè li di, nou gen etalaj, dèreferans sa. Lè sa a, lè nou dèreferans sa, ki sa nou ap aktyèlman fè se refere li a menm plas la. Se konsa, zetwal etalaj egal 1. Nou could- ki jan t 'kapab nou ekri that-- sa ki nan yon fason altènatif nou te ka ekri sa? ODYANS: Array 0 egal 1. PULAK Goyal: Egzakteman, tout moun wè sa? Se konsa, menm bagay ak isit la. Se konsa, lè nou gen etalaj plis 1, nou do-- konsa even-- sonje ak aritmetik ke nou jis te pale osijè de, lè nou fè plis 1 oswa deplase li sou pa 4 bytes, dwat. Tout moun wè sa? Epi sa bò, lè nou dèreferans sa, nou ka mete ke yo 2. Epi sa a, ki jan nou mete blòk la pwochen nan 2. Se konsa, yon fason altènatif yo ekri ki ta kapab tou etalaj bracket 0 bracket egal 1. ODYANS: ou bezwen parantèz yo? PULAK Goyal: Wi, paske ou se dereferencing kantite a tout antye etalaj plis 1. OK, ak menm bagay pou etalaj plis 2. Nenpòt kesyon sou sa a? Yeah. ODYANS: Se konsa, etalaj se otomatikman mete nan 0? PULAK Goyal: Array is-- regrèt, ki sa? ODYANS: Array se 0. Postal la nan etalaj se jis 0. PULAK Goyal: Se konsa, kesyon an te ye a, se adrès la nan etalaj jis 0? Se konsa, pa gen okenn, etalaj gen kèk adrès. Se konsa, lè nou dèreferans li, that's-- kidonk, ou ka panse sou- literalman tankou yon pwente konsèy nan konmansman an nan yon etalaj. Se konsa, ki gen kèk adrès. Nou pa konnen sa li ye. Men, lè nou dèreferans li, nou konnen sa a, se nan konmansman an nan etalaj la. Se konsa, lè nou deplase pa 1, nou ap jis k ap deplase relatif nan kote adrès ki te ye a. Nenpòt lòt kesyon? Yeah? ODYANS: Se konsa, si ou fè etalaj bracket plis 1-- PULAK Goyal: Padon, I-- te kapab ou pale a? ODYANS: Yeah, si ou fè etalaj bracket [Fèbl]. Se sak fè si ou mete pointer-- nan PULAK Goyal: Padon, mwen pa ka tande ou. Èske ou ka di li yon lòt fwa ankò? ODYANS: Ou se OK. PULAK Goyal: OK, regrèt. OK, fre. Any-- yeah. Se konsa, lè ou ale nan etalaj bracket 3-- PULAK Goyal: Yeah. ODYANS: --isn't there-- pa ta li ka kat tach tankou 0, 1, 2, ak 3? Poukisa li pa int etalaj 2? PULAK Goyal: Non, Se konsa, jis konvansyon an nan C is-- lè nou deklare etalaj la, we-- Nimewo nan nou mete ladan l ' se ki jan anpil fant nou vle. Men, endis yo nan etalaj la yo se aktyèlman etalaj 0, etalaj 1, ak etalaj 2. Se konsa, li nan jis konvansyon an sou ki jan nou deklare ranje. Yeah, nenpòt lòt kesyon? Yeah. ODYANS: Se konsa, nou ap toujou ap pale de endikasyon, dwa? PULAK Goyal: Yeah. ODYANS: Èske ou ta kapab toujou fè zetwal pou etalaj 0 egal 1? PULAK Goyal: Non, pa gen okenn, so-- OK, se konsa kesyon an te kapab ou jis fè zetwal etalaj bracket zewo, ak Lè sa a di ke egal a 1. Se konsa, pa gen okenn, sa nou ap di isit la se ke nou ka Monchè nou ka trete ranje kòm endikasyon. Se konsa, nou en-sa nou ap pawòl se nou gen de fason kounye a referans nan blòk la menm. Se konsa, si ou gen doing-- etalaj zewo, ki kalite ki se kounye a yon int. Men, si ou pran zetwal la sa, ou jwenn yon bagay valab. Se konsa, sa nou ap di isit la, se gen de fason altènatif , al gade nan blòk la menm. Ou ka swa fè etalaj bracket 0 egal 1. Ou, ou kapab fè dèreferans etalaj, epi yo gen ki egal a 0. Se konsa, jis de fason pou fè menm bagay la. Yeah. ODYANS: Poukisa se pa li gwosè nan int 1 yo ajoute to-- PULAK Goyal: Kantite moun ki nan int 1. ODYANS: Paske sa a, se k ap deplase yon sèl la. PULAK Goyal: Paske sa a, se jis fason an C fonksyone. Se jis konsèy nan fason se aritmetik defini. Li pral pran konsèy la. Lè sa a, tou sa ou ajoute nan li, li pral anpil anpil pitit ki pa gwosè a nan tou sa magazen an konsèy se, yeah. Yeah. ODYANS: Se konsa, ou di nou ka trete endikasyon ak ranje menm bagay la, men sa yo ap diferan. Se konsa, sa ki fè yo diferan? Ki sa ki ka nou pa fè ak gen yon sèl men pa lòt la? PULAK Goyal: Pou bi pou yo sa a klas, Mwen panse ke sa ki fè you-- it's-- Oratè 1: Se konsa, we-- OK, se konsa, pou egzanp, si ou asiyen memwa epi ou gen yon konsèy nan yon nonb antye relatif, pou egzanp. Si ou te eseye kòmanse fè konsèy aritmetik ak ale pi lwen pase kantite lajan an nan memwa ki ou resevwa lajan, ou ta kouri antre nan erè. Nou konnen ak ranje, nou di devan yo nan tan, OK, mwen vle allocate-- sa a esansyèlman di, mwen vle asiyen ase espas pou twa nonm antye relatif. Se konsa, kounye a nou ka trete memwa tankou si nou gen tout twa nan sa yo nonm antye relatif. Èske ki kalite fè sans? PULAK Goyal: Yeah. Yeah. ODYANS: Se konsa, yon etwal etalaj, se ke plase 1 nan endèks la 0 nan etalaj la? PULAK Goyal: Wi. ODYANS: Se konsa, sa se apre a pwochen de liy nan tèm de the-- mwen konprann ke w ap eseye yo sèvi ak konsèy aritmetik isit la, men ankò, mwen pa konprann sa konsèy aritmetik se. Se konsa, etalaj la plis 1, w ap ki di ke w ap kounye a ale nan vle pale sou endèks la premye nan etalaj la. PULAK Goyal: Dwa, e konsa nan Rezon ki fè ki travay se etalaj, isit la, nou ka panse a kòm yon etwal Int. Se konsa, lè nou konsèy aritmetik sou li, sonje fòmil la kote nou pran the-- Mwen devine tou sa adrès la kounye a se, ak Lè sa a lè nou ajoute 1 nan li, nou aktyèlman anpil anpil pitit 1 pa gwosè a nan bagay la nou ap manipile. Se konsa, nan ka sa a, gwosè a nan yon int. Lè sa a, nou deplase li voye pa ke anpil. Oratè 1: Se konsa, pretann ou gen zetwal b etalaj. PULAK Goyal: OK, yeah. Oratè 1: Avèk men ou. Ale isit la. PULAK Goyal: Ou mwen kapab just-- yeah. Se konsa, isit lan-- OK, se konsa etalaj nan la kòmansman, se jis dwa isit la. Se konsa, lè nou dèreferans etalaj, nou te jis refere li a blòk la premye isit la. Men koulye a, lè m 'fè etalaj plis 1, ki is-- ke flèch se kounye a isit la menm. Èske ki fè sans? Dwa, paske sa a se blòk nan gwosè int, ki se 4 bytes. Se konsa, sa n ap fè se nou ap k ap deplase ki konsèy pa 4 bytes sou. Chak fwa nou fè aritmetik sou li, li ap toujou avanse pou li pa ogmantasyon nan 4 bytes. Paske sa a se tankou yon etwal Int. Ki fè sans? OK. ODYANS: Se konsa, bagay sa yo nan etalaj la te 5 bytes, nou ta deplase li 5 bytes-- PULAK Goyal: Dwa, Se konsa, si nou te gen yon Char etwal, nou ta deplase li pa 1 multiple sèlman. Se konsa, nan ka a nan zetwal Char, li ta jis pou avanse pou li sou pa 1. ODYANS: Pou jwenn nan pwochen ou bezwen yon etwal. PULAK Goyal: Yeah, yeah, fè ki fè sans? Oratè 1: Nou ka chat sou li plis pita. PULAK Goyal: Yeah, yeah, pou asire w. OK, fre. Se pou yo deplase sou li nan seksyon kap vini an. Oratè 1: Oh, OK fre. Yeah, sa a, se mwen. Tout dwa, pè. OK, fre, se konsa kounye a nou ap sou yon ti jan plis enfòmasyon jeneral sou memwa. Epitou, Mwen apresye lefèt ke yo te ale trè byen vit. Li se yon anpil nan materyèl yo ka resevwa nan nan yon èdtan ak mwatye nan yon. Men, si gen nenpòt ki sijè ou vle ale plis an pwofondè nan, nou ap ale nan gen lè biwo semèn sa a kote ou ka chat ak nou youn sou yon sèl. Oswa ou ta ka jis vini nan la fini epi n ap chat sou bagay sa yo. E kòm toujou, santi yo lib yo poze kesyon. Pè. Se konsa, isit la nan foto nou an nan memwa ki nou te wè nan konferans yon milya dola fwa. E nou konnen ke sa a chemine grandi anba nan fon an ak pil wòch la ap grandi desann. Ak sa ki nan diferans ki genyen ant bagay ke nou kenbe sou pil wòch la ak bagay sa yo ke nou kenbe sou chemine a? Yon moun voye jete yon bagay yo deyò. Yeah. ODYANS: Èske li pile pou bagay sa yo ki yo se jis varyab Tranzitwa ke nou ap jis deklare lè l sèvi avèk sèten fonksyon? Oratè 1: Bèl, yeah. Se konsa, nenpòt ki lè ki kote, se pou yo di nou ap nan yon fonksyon, epi nou jis gen kèk varyab lokal yo. Moun sa yo ki yo ale nan fini sou pil la. Si, olye de sa, nou rele malok ak aktyèlman asiyen memwa, ki toujou soti nan pil wòch la. Se konsa, yeah Cool? Se konsa, sonje ke nenpòt memwa ke ou asiyen lè l sèvi avèk malok, ki k ap pase nan fen moute sou pil wòch la. Men, si ou bliye fè gratis li, nan nan òdinatè pa ale nan konnen ke w ap fè ak li. Se konsa, li nan jis ale nan pann soti gen nan memwa. Epi w ap esansyèlman koule ki memwa. W ap pèdi li. Paske ou pa janm te di òdinatè a, hey mwen fè lè l sèvi avèk li, santi yo lib yo sèvi ak, mete lòt bagay la. Fre. Nenpòt kesyon genyen? Wi. ODYANS: Se konsa, ki kalite nan memwa se chemine? Ki pa Peye dinamik manje, delege? Ki sa ou ta rele li? Oratè 1: Asire w, se konsa ou te kapab panse a li kòm varyab lokal yo. Apèl nan fonksyon aktyèl yo ale nan pile yo. Nenpòt bagay lòt bagay? Yeah? ODYANS: Ki jan ou gratis memwa a ou ajoute nan the-- Oratè 1: Asire w, Se konsa, lè ou asiyen memwa sou pil wòch la, ou rele malok. Se konsa, Lè sa a, ki ba ou tounen yon konsèy nan kèk adrès nan memwa. Se konsa, di ou rele ki konsèy, dwa? Lè sa a, ou jis di gratis konsèy. Epi sa libere memwa a. Fre. Lòt kesyon? Wi. ODYANS: Ki sa dynamique resevwa lajan vle di? Oratè 1: Dynamique resevwa lajan vle di, nan kou a nan pwogram ou an. Se konsa, lè ou rele malok nan mitan an nan pwogram ou an, nan kòmansman an nan pwogram nan, gen nan pa gen memwa resevwa lajan. Ak jan òdinatè a etap nan ki kòd, li pral asiyen memwa a. Se konsa, se sa ki nou vle di pa dynamique. Bon kesyon. Yeah? ODYANS: Lè ou defini yon etalaj ak parantèz yo kare, fè ki toujou [fèbl]? Oratè 1: Sa se yon kesyon bon. Mwen panse ke lè ou asiyen yon etalaj, li aktyèlman mete l 'sou pil la. Mwen pa pozitif sou sa, Se konsa, pa site m '. Oratè 2: Mwen panse ke l-- yeah li mete l 'sou pil la. Oratè 1: Mete l 'sou pil la. OK, fre, konfime. Lòt kesyon? Yeah? ODYANS: Lè ou delege malok, pa fè sa òdinatè a otomatikman asiyen memwa pou varyab ou a? Oratè 1: Yeah, pou varyab lokal ou a, li otomatikman mete memwa sou pil la. ODYANS: Se konsa, sa ki nan la pwen nan lè l sèvi avèk malok? Oratè 1: Ki sa ki nan nan pwen nan lè l sèvi avèk malok? Se konsa, nou te wè yon pakèt moun sou egzanp, tankou, pou egzanp, lè l sèvi avèk swap, kote nou vle sijè ki abòde lan varyab la yo dwe yon bagay pi lwen pase jis rele fonksyon li yo. Epi nou vle yon bagay ke nou ka pase alantou e ke nou ka gen aksè soti nan diferan kote. Sa a kote nou ta vle mete memwa sou pil wòch la. Se konsa, ki tout bagay sa yo diferan fonksyon kapab jwenn aksè li. ODYANS: Èske ou ka jis eksplike sa? Oratè 1: Se konsa, yon sèl opsyon is-- konsa nan kesyon te, nou ka jis allocate-- regrèt sa, nou ka deklare yon plase varyab, esansyèlman. Sa se yon sèl opsyon. Men, avèk yon anpil nan moun ki, sa yo ki yo gen tandans jwenn vrèman sal. Apre sa, nou jeneralman panse nan ki konsepsyon tankou move. Yeah. Cool, nenpòt lòt kesyon? Pè. OK, k ap deplase sou. Se konsa, sa a se aktyèlman ki jan nou asiyen memwa. Nou te pale de sa a yon ti kras. Nou itilize sa a fonksyon rele malok. Epi ou di li konbyen bytes nan memwa, se konsa ki jan anpil bytes sou pil wòch la, ou vle. Epi, se k ap pase yo retounen adrès la, se konsa yon konsèy nan, yon moso nan memwa ke li nan resevwa lajan pou ou. Se konsa, kalite nan a pwal anile zetwal. Li k ap pase yo dwe yon konsèy nan tou sa ou deside mete nan la. Nenpòt ki lè ou rele malok, nou deja di ou gen libere li pou nou pa gen fwit memwa. Ki sa ki nan bagay la lòt ke ou absoliman ou dwe fè chak yon sèl fwa ou rele malok? OK, ou gen libere li. Ki sa ki nan bagay la lòt? Tcheke pou nil, bèl. Se konsa, yeah, li nan dwa gen moute sou tablo a. Si ou ta eseye asiyen memwa ak ou te pa gen okenn memwa kite, òdinatè a ki pral di, Mwen pa gen anyen l 'ban nou. Apre sa, li ba ou tounen nil. Kesyon sou sa? Yeah. ODYANS: Poukisa ta ou te janm vle deklare yon konsèy ak yon kalite espesifik lè anile zetwal ka okipe tout kalite konsèy aniwe? Oratè 1: Bon kesyon. Poukisa nou ta ka di zetwal int kòm opoze a anile zetwal lè zetwal anile ka okipe tout bagay? Se konsa, nou pa vle tout tan tout tan klèman jete endikasyon. Se jis move pratik. Men, nou pral pale sou zetwal int jis kòm yon konpreyansyon yo genyen sou, sa a se yon konsèy nan yon nonb antye relatif. ODYANS: OK. Oratè 1: Yeah, epi li pèmèt ou manipile valè yo nan li kòm nonm antye relatif. ODYANS: Oh, OK. Apre sa, anile zetwal pa t 'kite ou fè sa? Oratè 1: Sa depann de nan kontèks Yeah, Se konsa, pa enkyete pa enkyete twòp sou kalite a la. Jis konnen ke, an jeneral, malok retounen yon konsèy nan yon bagay. Bon kesyon. ODYANS: Poukisa ou anpil anpil pitit li fwa 10? [Fèbl]. Oratè 1: Asire w, Se konsa, mwen te jis fè egzanp o aza isit la kote Mwen te vle asiyen ase chanm nan magazen 10 nonm antye relatif. Jis yon chwa o aza. Yeah. Yeah, sa ki nan ale? ODYANS: Ki sa ki fè ou vle di pa tcheke pou nil? Ou vle tcheke nan konsèy pou nil oswa malok a? Oratè 1: Wi, egzakteman. Se konsa, kesyon an te, ki sa nou vle di pa chèk pa nil? Nou vle to-- nenpòt lè nou rele malok epi nou ap tounen yon konsèy, nou vle di, se konsèy egal a nil? Se konsa, literalman ptr. Èske ptr egal a nil. Wi. ODYANS: Se konsa, mwen te kalite a mande, si ou inisyalize konsèy la nan malok, èske li lonje dwèt sou nan konmansman an nan malok? Paske si li nan yon array-- Oratè 1: Sa se yon kesyon gwo. Yeah, si ou rele malok, nan konsèy ki l-- kite a di, se konsa isit la nou asiyen 10 bytes nan memwa. Se konsa, mwen regrèt, ase plas pou 10 nonm antye relatif, nou ap ale nan jwenn adrès ki nan ki moso premye nan memwa a. Sa se yon kesyon bon. Yeah. ODYANS: Lè allocation 10 nonm antye relatif gaye toupatou, te kapab ou aktyèlman sèvi ak sa konsèy kòm like-- prèske tankou yon etalaj de nonm antye relatif? Oratè 1: Yeah, se konsa ou kapab sèvi ak li kòm yon etalaj de nonm antye relatif? Yeah, egzakteman, sa a se sa Pulak jis te montre ou on-- yon koup glisad de sa, kote nou di, OK, sa a se vrèman jis kalite de- nou ka panse a li kòm yon etalaj de 10 nonm antye relatif. Li jis k ap pase yo dwe sou pil wòch la. ODYANS: Men, ou pa t 'kapab aksè l 'ak notasyon bracket kare? Oratè 1: Ou aktyèlman te kapab jwenn aksè nan l 'ak notasyon bracket kare, yeah. Ou ka trete yo menm bagay la. Wi. ODYANS: Poukisa ta konsèy janm nil? Oratè 1: Poukisa ta konsèy janm nil? Si ou ap itilize moute tout nan memwa a sou pil wòch ou yo. Si pwogram ou a ap manje moute, manje moute, manje moute memwa, ak pa gen anyen gòch, lè sa a malok k ap pase yo say-- si ou di, Mwen vle 100 plis bytes, li pral vle di, mwen pa gen 100 bytes. Isit la nan nil. Sa vle di, mwen echwe. Wi. ODYANS: Nan ka sa a, nil gen anyen, dwa? Oratè 1: Wi, nan ki ka, nil se pa gen anyen. Ou pa gen okenn adrès. Pa gen okenn memwa. Tout dwa, k ap deplase sou. OK, se pou yo pale vrèman byen vit sou tanpon debòde. Lè nou ta ka rankontre pezib debòde? Se pou nou di nou gen a-- nou asiyen yon ti moso nan memwa, epi nou ap ale nan ekri fisèl la nan. Epi nou ap ale nan di, OK, mwen pral asiyen ase espas pou sis karaktè. Apre sa, mwen pral mande kap itilize li an pou kèk opinyon. Apre sa, entrain yo itilizatè, pou egzanp, hello. Epi sa adapte parfe amann paske nou gen plas pou tout karaktè yo nan hello, ak karaktè a tèmine nil. Plenty nan chanm, pa gen pwoblèm. Men, sa ki si nou bay opòtinite pou pou yon itilizatè sa ki mal yo sèvi ak pwogram nou an, epi yo tape nan pa sis karaktè, oswa ou pa senk karaktè, men yon milyon dola. Yo kenbe sezisman, ak sezisman, ak sezisman, ki sa ki pwal pase? Oke nou sèlman bay an enough-- òdinatè oswa regrèt sa, nou sèlman te bay fisèl sa a ase espas pou 5 karaktè. Se konsa, nou ap ale nan jwenn yon bagay tankou sa a, kote moun nan sa ki mal ki moun ki nan tape nan opinyon ka recouvrir gwosè a nan zòn de defans la, epi yo ka ale aktyèlman sot pase kantite lajan an ke li nan orijinal resevwa lajan. Lè sa a, sa ou kapab fè, bagay reyèlman sa ki mal ou ka fè, se recouvrir adrès la retou. Ki fondamantalman vle di ou ka kalite pran kontwòl sou konpòtman an nan pwogram nan. Se konsa, nan yon nivo trè wo tanpon debòde se lè ou asiyen kèk kantite lajan nan memwa. Lè sa a, you-- sa a paske w ap pran opinyon itilizatè oswa yon bagay tankou that-- ou ale sou limit yo nan sa ki ou te resevwa lajan orijinal epi yo kòmanse pitye moute pwogram ou an. Wi? ODYANS: Poukisa pa t 'vle ki jis retounen yon fay segmentation? Oratè 1: Poukisa ta pa sa ki retounen yon fay segmentation? Li t 'kapab. Pafwa du a oswa pandan youn nan ègzekutabl ou se aktyèlman ale nan tcheke sa. Si bagay sa yo rive sèten, ak sa a se kalite pi ba nivo, Lè sa a, ou bezwen konnen. Men, si ou pa konsepsyon sistèm sa yo byen, Lè sa a, ou gen chans lan nan pa pwan li ak jis sa ki pèmèt òdinatè a nan take-- sa ki mal moun nan kontwole òdinatè w lan. Yeah. ODYANS: [fèbl]? Oratè 1: Asire w. Oh, lè m 'di tanpon, mwen jis vle di nan kantite lajan nan memwa ke ou te resevwa lajan. Se konsa, isit mwen te di, oh, nou te resevwa lajan sis char-- ase espas pou sis karaktè. Apre sa, mwen jis rele ki zòn de defans mwen kote mwen ta ka ekri enfòmasyon. Yeah. Nenpòt lòt kesyon sou sa a? Yeah. ODYANS: Ki jan ou sispann li? Ki jan ou sispann li? Oratè 1: Awesome kesyon. Ki jan ou sispann li? Ki jan ou fè anpeche tanpon debòde? Oke yon fason fè li se yon bagay tankou GetString, kote nou toujou ap ogmante kantite lajan an nan memwa ke nou asiyen si itilizatè a antre nan yon anpil nan tèks. Yon lòt bagay la se, si ou sèlman vle sis karaktè, fè yon chèk rapid. Di sèlman opinyon sis karaktè. Yeah. Se konsa nou di ou te k ap travay on-- nou ap ale pou yo ale nan bagay sou sit yon ti jan pita nan course-- a, men kite a di w ap travay sou yon fòm, ou ta jis limite ki kantite te kapab lage nan. Yeah. ODYANS: GetString rale memwa soti nan pil, dwa? Jis klarifye? Oratè 1: Youn nan pi plis tan? ODYANS: Èske GetString pran memwa soti nan chemine a? Oratè 1: Mwen kwè Getm-- jwenn int pran memwa soti nan pil wòch la paske li rele alok. ODYANS: Oh. OK. Oratè 1: Yeah, malok ak realloc. Lòt kesyon? Yeah. ODYANS: Se konsa, pa defini gwosè a nan tampon la, ou anpeche yon moun nan ke yo te kapab pou bay piki pou Kòd ki ka glise sot pase [fèbl] a. Oratè 1: Se konsa, pa defini gwosè a nan zòn de defans la, ou te di, OK, isit la nan ki jan pi memwa nou ka itilize. Si ou pèmèt itilizatè a yo ekri sou li, Lè sa a, w ap ale nan kouri antre nan pwoblèm. Fè sans. Pè. Se pou yo avanse pou pi ansanm. Tout dwa. Pale de erè, isit la yo se kèk mesaj erè komen ki ta ka yo te montre moute pandan y ap ou te kodaj, ap travay sou aparèy televisyon HD pwoblèm ou. Bon chans ke youn nan sa yo montre moute sou egzamen an si ane ki sot pase gen okenn endikasyon. Se konsa, repons yo se kalite moute isit la sou tablo a. Men, santi yo lib yo rele soti kèk plis. Poukisa ta ka yon fay segmentation rive? Poukisa ou ta ka jwenn yon fay segmentation lè w ap kouri pwogram ou an? ODYANS: [fèbl]. Oratè 1: Bon. Yeah, si nou eseye aksè memwa ki pa nan bay yo ban nou. Si nou dèreferans yon konsèy nil. Pou egzanp, si nou rele malok, ak bliye yo tcheke si li nan nil, epi nou jis eseye lè l sèvi avèk li, òdinatè a nan pral bay nou yon fòt segmentation. Bon. Ki sa ki sou enplisit deklarasyon nan fonksyon? Kisa sa vle di? ODYANS: Ou ap eseye sèvi ak yon fonksyon ke ou pa te defini. Oratè 1: Bon. W ap eseye sèvi ak yon fonksyon ke ou pa te defini. Se konsa, ki ta ka youn nan de bagay sa yo. Petèt li te tankou egzanp lan Camille te montre ou pi bonè. Epi ou gen yon fonksyon prensipal ki mande yon bagay yo rele kib. Li kite yo di ou bliye yo ekri pwototip sa a. Ou bliye yo di, hey òdinatè, Mwen gen sa a fonksyon rele kib. Ou pral wè li pita. Se pou nou di ou bliye yo ekri nan pwototip, ou ta ka jwenn erè sa a. Yon lòt bagay se, kite a di ou te eseye sèvi ak printf, Yo bliye genyen ladan yo bibliyotèk la estanda, Lè sa a, li la pral di enplisit deklarasyon fonksyon. Ak dènye, men pa pi piti, sekrè idantifyan. Yeah. ODYANS: Ou te gen yon sijè ki abòde pwoblèm. Fè tankou petèt w ap eseye rele yon varyab lokal sa a, se nan yon sòt diferan nan zòn nan. Oratè 1: Great, se konsa si ou gen yon varyab sa a, se pa nan sijè ki abòde, epi ou ap eseye sèvi ak li, w ap ale nan jwenn nan pwoblèm. Epi jis plis jeneralman, kite a di ou eseye sèvi ak x, ak tout tan li di Int x egal 5, Lè sa a, w ap ale nan kouri nan pwoblèm. Eskize m ', kesyon sou sa a? Awesome, chugging dwa ansanm. OK, rkursyon, poukisa might-- kite nan see-- mwen pèdi m 'sch-- oh isit la nou ale, jis asire w ke nou ap apeprè sou orè. Tout dwa, fre. OK, rkursyon, lide la an jeneral a rkursyon, yon fonksyon repetitif se yon fonksyon ki mande tèt li. OK, se konsa sa a, se sa m ' vle di pa yon konsèp pwogram kijan yon fonksyon rele tèt li. Ki sa ki ta dwe some-- sa ki nan yon bon rezon yo sèvi ak rkursyon? Lè li ta kapab itil? Ou sak yon pwogram ki vrèman prèt tèt li rkursyon? ODYANS: binè rechèch. Oratè 1: binè rechèch prèt tèt li rkursyon, paske ou gen pwoblèm sa a ke ou ka kraze nan pi piti moso, ak kontinyèlman fè algorithm a menm sou li. Sa a kondwi a, nan anpil ka, plis Kòd elegant ki an plis presi. Nou jis yo egzanp lan nan binè rechèch. Yon lòt egzanp se rantre sòt. Pafwa, lè ou panse a yon algorithm, tankou faktoryèl, li jis santi l repetitif, dwa? Paske nou konnen ke faktoryèl a nan 5 se yon faktoryèl 4 fwa 5. Se konsa, lè ou mete kanpe yon pwoblèm fason sa a, li jis santi l repetitif. Se konsa, ki ta ka yon bon fason yo ekri li. Kesyon? Wi. ODYANS: Ki sa ki nan yon ka baz? Oratè 1: Oh sa ki nan yon ka baz? M 'te di, pa bliye genyen ladan yo yon ka baz. Se pou nou di nou te ekri yon fonksyon faktoryèl, epi nou t ap fè faktoryèl a 5. E nou konnen yon faktoryèl nan 5 se 5 fwa nan yon faktoryèl nan 4, bla, bla, bla, bla. Ki jan nou konnen ki lè yo sispann? Ki jan nou konnen ke nou aktyèlman gen yon nimewo? Paske si nou kenbe w rele faktoryèl, lè sa a nou pa janm ta jwenn yon repons, dwa? Se konsa, lè nou konnen ki jan yo sispann nan faktoryèl a egzanp. Nenpòt moun ki, yeah. ODYANS: Lè faktoryèl a 1 se 1. Oratè 1: Bon. Se konsa, nou konnen. Nou ka pran pou yo akòde ki 1 faktoryèl ki egal a 1. Se konsa, si nou jwenn nan pwen kote nou ap rele faktoryèl sou 1, jis ale pi devan epi retounen 1. Epi sa a, ka baz ou a. Paske nou konnen yon fwa nou frape sa, ak nou toujou pral frape ki, n ap never-- nou pa pral jis kenbe prale pou tout tan. Nenpòt lòt kesyon sou rkursyon? Wi. ODYANS: Se konsa, lè ou retounen 1, li jis otomatikman yo ap sispann pwogram nan, dwa? Oratè 1: Yeah se konsa lè ou rele retounen 1, if-- kite a di, kite a di faktoryèl nan 2 apèl faktoryèl nan 1, nan 1 faktoryèl pral jis men tounen 1. Epi, koulye a faktoryèl nan 2 pral di OK, 2 fwa 1 se 2, epi retounen ke repons. Wi. ODYANS: Èske nou gen enkyete sou sijè ki abòde nan rkursyon lè ou ale nan yon algorithm? Oratè 1: Ah, repons lan se wi. Wi, ou gen enkyete sou sijè ki abòde nan yon kontèks rkursyon. Se konsa, sèlman varyab yo defini nan ki kouri nan fonksyon an yo pral yo dwe itil. Yeah bon kesyon. Tout dwa, se pou yo kenbe deplase ansanm. Paske nou gen yon anpil nan materyèl yo ka resevwa nan. Men, jan mwen te di, santi yo lib frape moute lè biwo, oswa nou apre reyalite an. Sa a se jis yon glise reyèlman rapid. Nou te aprann anpil bagay sou rechèch ak kalite. Tanpri, tanpri, tanpri, seksyon sa yo, se sou entènèt, Mwen kwè nan cs50.net/quizzes. Se konsa, ale pran tablo sa a epi mete l 'sou fèy revizyon ou, paske pral gen yon kesyon sou sa a. Tanpri, pa jwenn li sa ki mal. Jis trè byen vit, sa tablo sa a vle di, se li chita pale sou gwo o, ki nou konnen yo dwe anwo a mare nan yon algoritm kouri tan. Epi nou gen Omega, ki se pral fè mare ki pi ba nan yon ègzekutabl algoritm. OK? ODYANS: [fèbl]. Oratè 1: Yeah, sa ki nan bagay la pase? Ki sa ki nan Theta? Li se si we-- nou ap sèlman pral pran swen sou nan klas sa a nan ka a kote anwo nou an mare ak pi ba mare nou yo menm bagay la. Yeah, sa a, se tan a sèlman li a ale nan vini nan klas sa a. OK, mwen pral kenbe prale. Si ou pa yo te pran foto ou, Mwen te pwomèt sa yo pral sou entènèt. OK, pè, strukt. Poukisa nou ta ka vle strukt? Ki sa ki nan yon rezon ki fè itil nou ta ka vle strukt. Yon moun rele yon bagay soti. Oke kite pou yo gade nan la egzanp sou tablo a. Se pou nou di nou ap fè fas ak tout moun sa yo elèv yo. Si nou ap fè yon pwogram pou CS50, gen tankou 800 moun. Nou bezwen write-- nou ap ale nan bezwen okipe yon anpil nan enfòmasyon sou elèv yo. Li ta dwe nice si nou te kapab kalite gwoup sa a men tout enfòmasyon an ki te fè ak yon elèv patikilye nan yon sèl kalite done. Men, nou konnen gen nan pa gen done tape rele, elèv, dwa? Nou gen yon nonb antye relatif, nou gen yon flote, nou gen yon fisèl, oswa yon etwal Char, men nou pa jwenn, yon elèv. Se konsa, nou kapab fè se aktyèlman kalite defini estrikti pwòp nou an, rele l 'elèv, epi nou ka asosye kèk jaden diferan ak sa struct. Se konsa, nan ka sa a, se pou yo di nou gen yon elèv. Apre sa, bagay sa yo ke nou pran swen sou yo se yo nimewo a ID elèv ak non elèv la. Epi, koulye a nou ka asosye ID sa a ak non sa a ak yon elèv bay yo. Se konsa nou wè kèk egzanp. OK, se konsa isit la mwen di, OK, se pou yo di nou vle fè yon elèv. Mwen rele l 'elèv 1. Ak nimewo ID li, nan sa a, nou kapab jwenn aksè pa jis ap fè non an nan elèv la dot jaden an nou vle jwenn aksè nan. Se konsa, sa a ki pral jis pou elèv 1 dot ID, epi nou mete l 'egal a 1. Paske sonje, nou te di ke ID a pwal yon nonb antye relatif. Ak anpil Menm jan an tou, nou ka di, sa a Non elèv la a pwal Davin, pa egzanp. Se konsa, nou ka jis jwenn aksè nan jaden nan yon struct lè l sèvi avèk sa a dot. Kesyon sou sa? Yeah. ODYANS: Èske gen nenpòt fason pwoteje varyab ou a? Èske gen nenpòt fason yo pwoteje varyab nan men yo te deyò jwenn aksè? Oratè 1: Èske gen de tout fason pwoteje varyab ou nan men yo te deyò jwenn aksè? Pa nan sijè ki abòde lan CS50. Lòt kesyon? Yeah. ODYANS: Ki sa ki se tipedèf struct? Ki sa ki chak eleman vle di? Oratè 1: Ah, ki sa ki tipedèf struct? Ki sa chak eleman vle di nan nèg sa a? ODYANS: Yeah. Oratè 1: OK, fre. Se konsa, sa a di, hey òdinatè, mwen vle kreye yon estrikti nouvo. Apre sa, mwen pral defini yon definisyon pou li, sa yo ke mwen te ka sèvi ak li kòm si li te yon kalite nan tout pwogram m 'yo. OK, se konsa mwen vle defini yon estrikti. Apre sa, mwen kounye a pral fè kapab sèvi ak li kòm yon kalite. Ak non li yo se elèv yo. Ak isit la yo se jaden yo li yo. ODYANS: Se konsa, se ke tipedèf struct [fèbl]? Oratè 1: Si ou vle pou kapab itilize struct sa a nan tout pwogram ou an, ak nan pifò ka nan CS50 nou fè sa, nou te vle di di ki Def. Epi sa pèmèt li yo sèvi ak li menm bagay la tou fason ke nou itilize tankou int oswa flote. Òdinatè a pral toujou konnen sa li ye. Yeah. ODYANS: Èske nou ka ekri sa a nan dosye a header? Oratè 1: Oh, regrèt. Nou ekri sa a nan dosye a header? Ou te kapab ekri sa a nan tèt la nan ou pwogram, nan tèt la nan pwogram c ou yo. Yeah, ki ta ka pi plis nan plas ki rezonab pou li. Retounen a. ODYANS: Menm kesyon, se konsa anvan prensipal yo? Oratè 1: Dwa, ou bezwen sa a yo dwe yon kote ke tout moun kapab jwenn aksè li. Se konsa, anvan prensipal la nan ka w la, yeah. ODYANS: Èske gen yon diferans ki genyen ant mete elèv sou tèt ak sou anba? Oratè 1: Ah, ki gen la yon diferans ki genyen ant mete elèv sou tèt oswa sou anba? Let-- sove kesyon sa a, ak lè nou ale nan lis lye, nou pral wè sa, OK? Se konsa, kenbe fèm nan fè sa pou yon dezyèm fwa. Bagay la pase mwen vle mansyone isit la, se olye pou yo gen yon estrikti, nou gen yon konsèy nan yon estrikti, nou kapab chanje notasyon nou an yo dwe yon ti kras joli. Nou ka di, kite a di nou gen yon konsèy nan yon elèv olye ke sèlman yon elèv. Si nou vle aksè nan yon jaden, olye pou yo fè, byen ale dèreferans konsèy la, ak Lè sa a jwenn aksè nan non la jaden. Notasyon sa a parèt yon ti kras sal ak zetwal la nan sa a dot. Totalman kòrèk, men yon kalite a cleaner fason yo fè l ', se jis di non konsèy flèch. Epi sa aktyèlman konbine dereferencing ak aksè nan yon sèl senbòl bèl. Kesyon sou sa? ODYANS: Jis di ke yon lòt fwa ankò. Oratè 1: Di ke yon lòt fwa ankò. ODYANS: Egzakteman sa ou jis te di. Oratè 1: Asire w, egzakteman ki sa mwen jis te di. Si nou gen yon konsèy nan yon elèv olye ke elèv la li menm, nou can-- yon fason ke nou kapab jwenn aksè nan jaden se dèreferans li, ak Lè sa a aksè non. Yon lòt, joli fason nou ka fè l ', ki se jis yon ti kras nan Massachusetts Institute of Technology sik, se jis fè konsèy Non flèch. Epi sa ki pral konbine nan dereferencing ak aksè nan. Yeah, trè fre. Tout dwa. Se konsa, kite nan pale sou lòt kesyon an. Se pou nou Ale nan nœuds, nou ap ale nan sèvi ak nan lye lis nan jis yon dezyèm fwa. Se konsa, isit la, ou pral avi ke gen se pawòl Bondye ne nan tou de sou pati anba a, ak sou tèt la. Anvan, lè nou te defini elèv, nou jis te gen elèv sou anba a. Nou pa t 'gen elèv sou tèt la. Nenpòt moun ki konnen poukisa ke sa ta kapab? Ki sa ki diferans lan se? Yeah. ODYANS: Se konsa, ou sèvi ak ne se definisyon an nan ne, se konsa li a yon bagay repetitif? Oratè 1: Bon. Yeah, nou bezwen nœuds nou yo gen konsèy nan lòt nœuds. Se konsa, depi nou itilize sa a ki kalite anvan li la aktyèlman defini, nou bezwen mete l 'nan tèt la jis pou li konnen sa li ye. ODYANS: Se konsa, nou toujou bezwen li nan pati anba a? Oratè 1: Wi. ODYANS: Se konsa, toujou nan pati anba nan. Oratè 1: Toujou nan fon. Se konsa, tout nan ou pral genyen li nan pati anba nan. Nenpòt lòt kesyon? Tout dwa, se konsa pèmèt aktyèlman pale sou lye lis reyèlman byen vit. Se konsa, lis lye sont- nou sèvi ak yo olye pou yo ranje nan kèk ka, paske nou konnen ke ranje se yon fiks longè, Lè nou konsidere ke lis lye nou ka grandi ak retresi jan nou vle. Se konsa, sa a se yon egzanp nan sa ki yon lis lye ta ka sanble. Ki sa nou bezwen wè se tèt la nan lis la. Se konsa, kote lis la kòmanse. Lè sa a, li te ne, chak ki vin apre ne, se responsab pou konnen kote ne nan pwochen te ye. Se konsa, nan ka sa a, ne la ki estoke 1 ki responsab pou konnen ki kote 3 se. Moun nan ki estoke 3 se responsab pou konnen ki kote 9 se. Ak 9 pa gen okenn yon lòt nan pwen nan. Li nan nan fen lis la, se konsa li jis di nil. OK? ODYANS: Ki sa ki nan pwen an nan sa a? Oratè 1: Ki sa ki nan pwen an nan sa a? ODYANS: Yeah. Oratè 1: Paske, se pou yo di ke nou gen kèk done. Apre sa, nou pa konnen egzakteman ki jan done pi nou vle devan yo nan tan. Se konsa, avèk yon etalaj, se pou yo di kote nou vle konte konbe moun nan premye ranje a. Chans yo li pa pral chanje. Nou ka jis di, OK, mwen vle yon etalaj de gwosè sis. Men, si nou vle yon bagay ki k ap pase a chanje. Pou egzanp, kite a di mwen te ap nan kenbe tras nan elèv yo menm jan yo antre nan chanm nan pou sesyon an revizyon. Mwen pa gen okenn lide ki jan anpil nan nou moun yo ale nan montre moute. Se konsa, mwen ta ka vle yon estrikti done ke mwen ka elaji epi retresi. Paske yon moun ap petèt kite, petèt yon moun ap vini. Se konsa, nan nenpòt ki lè, nou kapab ajoute oswa retire nœuds. Cool, gwo kesyon an. Yeah. ODYANS: Si ou ka itilize yon bagay tankou GetString ki kenbe kite ou jwenn plis done kòm ou bezwen li, poukisa ou bezwen sa a tou? Oratè 1: Poukisa ta ou itilize lye lis lè ou ka itilize yon bagay tankou GetString? Sa se yon kesyon bon. Sonje ke Get-- youn nan downfalls yo nan GetString se ke nou pa t 'fè yon trè bon travay nan libere ki memwa, epi nou prezante yon pakèt moun sou memwa fwit nan pwogram ou an? Ou te kapab pran l 'yon statics gwosè etalaj epi kenbe k ap grandi li. Men, ou ta gen jwenn kote nouvo nan memwa. Li ta jis pou yon anpil nan tèt yo. Youn nan bagay ki bèl sou lye lis kòm opoze a ranje, se ranje yo tout nan menm kote a nan memwa. Li te gen yo dwe kontinyèl fragman nan memwa. Lè nou konsidere ke lis lye, 2 ak 3 ka ka totalman nan kote diferan. Fè tankou 2 se sou isit la, ak 3 se sou isit la. Apre sa, osi lontan ke yo gen yon konsèy nan youn ak lòt, li la amann. Nou konnen nou ka jwenn yo. Kesyon sou la? ODYANS: GetString se yon fonksyon nan bibliyotèk la CS50, dwa? Li pa egziste nan pwogram reyèl. Oratè 1: kòrèk. Dwa, sa a, se bagay la ak lòt. GetString pa egziste deyò nan kontèks la nan CS50. Yeah. ODYANS: Se konsa, fè sa ki lefèt ke de ta ka reyèlman lwen apa, fè sa enpak efikasite nan aksè eleman yo sou lis la? Oratè 1: Sa se yon kesyon gwo. Kesyon an te, fè li enpak efikasite nan aksè sa yo eleman diferan nan lis la. Aktyèlman, repons lan se wi. Paske nou konnen se pou yo if-- di nou vle jwenn aksè nan eleman an dezyèm nan etalaj la, nou konnen nou ka jis fè etalaj bracket 1, dwat. Li nan toujou ale nan gen kote a menm. Men, si nou vle jwenn ak sa yo ki 3, nou pa ka jis di, ale jwenn ki 3. Nou dwe di, OK, kòmanse nan nan konmansman an nan lis la, epi kounye a nou gen aktyèlman mache nan jiskaske nou jwenn kantite a nou ap enterese nan. Se konsa, nan ka sa a nou di, OK sa a se nimewo a an premye. Se konsa, esansyèlman, sa a, se endèks 0. Koulye a, nou te jwenn kantite, dezyèm lan. Sa a endèks 1. Se konsa, ki la aktyèlman ale to-- jis aksè, se pral pran N tan. Cool, gwo fin vye granmoun N. Yeah. ODYANS: Ki sa ki chak nan lis yo? Eske yo se moun chak ranje, oswa ki sa? Oratè 1: Sa se yon kesyon gwo. Ki sa ki chak nan la estrikti ke mwen te trase? Yo se nœuds. Se konsa, chak nan sa yo ti kras estrikti gen de pati. Li te gen yon nonb antye relatif ki kenbe. Sa a done yo reyèl ke li nan kenbe sou. Sa a ki kalite itil pati. Epi, sa a se sa fè li yon lis lye, li gen yon konsèy nan ne kap vini an. Awesome kesyon. Tout dwa, se konsa kite a gade trè byen vit gade nan kèk egzanp nan sa ki nou ta ka fè ak lis lye. Se konsa, yon egzanp trè rapid se, ta kwè nou vle fè yon rechèch. Ki kalite rechèch pa kapab nou fè sou lis lye? ODYANS: binè. Oratè 1: binè. Poukisa nou pa ka sèvi ak rechèch binè? ODYANS: [fèbl]. Oratè 1: Dwa, paske avèk binè rechèch, nou te gen fè konfyans sou lefèt ke nou te kapab jis Ale nan etalaj la nan nenpòt ki pwen. Nou te kapab jis di, ale eleman nan presegondè. Avèk isit la, jan nou te di yon ti kras pi bonè, nou pa ka jis Ale nan eleman nan presegondè. Yo nan lòd yo jwenn nenpòt eleman, nou aktyèlman gen mache nan lis tout nou an. Se konsa, si nou te vle fè yon rechèch, an pi bon nou ka fè se jis yon rechèch lineyè. Nou kòmanse nan plas tèt la, nou check-- kite a di nou ap kap chèche 9-- nou kòmanse nan tèt la. Nou di, se sa a 9? No Èske sa se 9? No Èske sa se 9? Wi, nou jwenn li. OK, ki nan tout sa. Isit la nan yon ti kras nan pseudo-kòd. Mwen pral kite sa a pou ou mesye désabonnement sou sou pwòp ou a, jis paske nou ap kouri yon ti kras kout sou tan. Pèmèt pale sou ensèsyon. Nou te wè yon Demo vrèman fre nan sa a nan konferans kote nou te di, OK, nou gen lis sa a lye kote tout moun nan montre nan youn ak lòt, ak yon moun vini leve sou sèn nan. Ki jan nou Insert ki moun nan lis lye nou an? Oke, yon fason mal fè, ki se mwen panse ke sa nou te wè an premye, se lè moun nan nan devan otomatikman pwente nan moun nan nouvo. Lè sa a, nou kalite abandone nan dezyèm mwatye nan lis la, dwa? Paske nou pa konnen ki kote li se nan memwa nan ankò. Se konsa, dwe pran anpil prekosyon sou la lòd nan ki nou Insert bagay sa yo. Se konsa, isit, kite a di nou vle mete 1 nan devan an nan lis nou an. Premyèman, nou gen 1 pwen nan la dezyèm element-- oswa eleman nan ki gen 1. Se konsa, nou fè sa, jis pou nou pa ale nan pèdi dezyèm mwatye a. Epi, koulye a, nou ka gen pwen tèt nan 1. Se konsa, ankò, sa a se jis tankou super wo nivo. Sa a se fason nou ta insert yon ne. Nou gen yon anpil nan pseudo-Kòd isit lan-- regrèt, Mwen pa konnen poukisa mwen se rele li pseudo-kòd. Li nan Kòd vrè. Ou ka ale tcheke li soti pita. Tout dwa, se pou yo trè quickly-- 'keksyon ankò sou lis lye mwen anvan m ' deplase sou yon koup lòt done estrikti nan dènye nou an 10 minit. ODYANS: Èske nou bezwen kounye a ki jan yo ekri l 'sou yon tès? Oratè 1: Èske nou bezwen konnen ki jan to-- ODYANS: Ekri l 'sou yon egzamen an. Oratè 1: Nou bezwen to-- ou ta dwe pou prepare w yo ekri, insert, retire, ak rechèch pou lye lis nan egzamen an. Sa se yon bagay ke nou te kapab espere ou fè. Jis ale sou li. Si w gen nenpòt kesyon sou la kòd, tire TF ou yon imel, vini nan lè biwo. Genyen toujou anpil tan yo etidye, nou pa enkyete. Tout dwa, nenpòt lòt la kesyon sou lis lye? Wi. ODYANS: Se konsa, si ou pa sèvi ak nan konsèy pou yo ale nan yon sèl la sou bò dwat la anvan ou sèvi ak konsèy la pou yon sèl la sou bò gòch la, ki nan ekivalan a nan efase tout bagay, dwa? Oratè 1: Yeah. ODYANS: [fèbl]. Oratè 1: Dwa, depi nou pa kapab jwenn li, li la aktyèlman menm vin pi mal. Paske pa sèlman nou pa konnen kote li se, nou ka sèvi ak li pa gen okenn pi long, men we've-- nou pa libere ke memwa ankò. Se konsa, li nan jis pandye alantou epi yo pa kapab itil paske nou pa kapab jwenn li ankò. Yeah, kesyon fre. Tout dwa, kite nan pale sou pil. Nou te wè pil trè vit. Yo se premye nan dènye done soti estrikti. Se konsa, nou panse a pil yo nan Annenberg a plato kote nou pile bagay sa yo sou tèt. Men, si w ap ale nan vini jwenn yon plato, w ap toujou ale nan pran yon sèl la sou mòn lan tèt, ki se pi recently-- nan ki se bagay ki ke nou pi dènyèman mete yo sou tèt pil la. Se konsa, ou ka kalite panse a sa a kalite vizyèl lè w ap panse a pil. Lè sa a,, nou te déja yon bagay koupe tèt la nan chemine a. Si nou sont- oh, ak mo sa yo ke nou itilize lè n ap pale done sa yo estrikti se nòmalman, si nou mete yon bagay sou chemine a, nou di nou ap pouse l 'sou pil la. Men, si nou pran yon bagay nan chemine a, nou di nou ap eklate nan pil la. Si w ap ale nan aplike yon stack-- ki mwen definitivman rekòmande pou ou eseye out-- w ap ale nan vle kenbe tras nan, kite a di w ap itilize yon etalaj. Mwen konnen nan konferans nou te pale sou lè l sèvi avèk tou de ranje yo oswa lye lis aplike yon pil. Si w ap lè l sèvi avèk yon etalaj, ou bezwen keep-- eskiz mele l nou bezwen kenbe tras nan gwosè a ak kapasite la. Se konsa, la pou maksimòm ki chemine nou an ka kenbe. Kesyon sou pil? ODYANS: Ki sa ki nan diferans ki genyen ant gwosè ak kapasite? Oratè 1: Diferans ki genyen ant gwosè ak kapasite, kesyon pè. Se konsa nou di nou ap lè l sèvi avèk yon etalaj, epi nou asiyen ase espas pou 10 nonm antye relatif. Epi nou kòmanse ranpli ki leve. Apre sa, nou pouse bagay sa yo sou, epi nou pòp bagay la. Nou vle kenbe tras nan kantite maksimòm la Nimewo nou ka kenbe, sa a, se kapasite. Apre sa, nou vle kenbe tras nan la Nimewo aktyèl nou genyen, sa a, se gwosè. Bon kesyon. Nenpòt bagay lòt bagay sou pil? Tout dwa, se pou yo pale sou sipriz, ke moun kap kriye. Kontrèman ak pil yo, ki se premye nan dènye soti, sa yo, se premye nan, premye deyò. Se konsa, sa a se like-- panse a yon liy. Panse a doubli nan Apple la Magazen yo ka resevwa tou sa pwodwi. Apre sa, premye moun ki nan liy yo ta dwe dwe premye moun nan ki moun ki nan te ede. Se konsa, premye bagay ki nan pouse se sa a premye bagay la ki nan déja. Cool? Trè similarly-- oh, tou sa mwen nou itilize olye pou yo pouse ak pop-- ki mwen jis itilize, Mwen se sorry-- se nou di, si nou ap mete yon bagay nan keu a, nou di enqueued li. Si nou ap pran yon bagay soti nan keu a, nou di nou dked. Li. M 'ka pwononse moun sa ki mal, men ou jwenn lide la. Lè sa a, ankò, jis tankou pil, si nou ap mete ann aplikasyon sa a kòm etalaj, nou bezwen kenbe tras nan la gwosè, kapasite a, ak tèt la. Sa mwen vle di nan tèt la? Poukisa nou bezwen kenbe tras nan tèt la? ODYANS: Paske se sa ki kote nan konmansman an nan lis ou a se. Oratè 1: Yeah, fondamantalman tèt la se kote nan konmansman an nan keu nou an, se. Paske nou konnen, kontrèman ak pil, which-- Mwen pral eseye fè fas a sa a way-- nou konnen ke li nan toujou ale nan retresi fason sa a ak grandi nan fason sa. Ke moun kap kriye, moun vini sou fen a epi kite depi nan konmansman an, konsa nou gen nan kenbe tras nan kote nan kòmansman an se. Sa a ki sa mwen vle di pa nou bezwen kenbe tras nan kote tèt la se. Cool? Tout dwa. Uit minit, koup plis sijè, nou ka fè li. Tout dwa, regle tab. Nou te pale yon ti tan trè sou tab regle. Pou egzamen an, ou jis bezwen konprann yo nan yon nivo segondè. Lide a debaz se ou gen done sa a. Apre sa, nou vle gen aksè a li nan tan sa a, se pi vit pase yon bagay tankou yon lye lis. Paske nou te di, si nou te chèche nan yon lis lye, ki ta ka pran N tan. Menm aksè ka pran N tan nan yon lis lye. Tab regle ban nou yon fason ki nou kapab pi vit aksè a bagay sa yo, ak plis ankò byen vit rechèch pou bagay sa yo, san yo pa gen restrictions yo nan yon etalaj kote nou te fiks gwosè. Se konsa, nou panse nan yon estrikti done kote, kote nou mete l 'nan estrikti a done se depann sou sa a majik fonksyon regle. Se konsa, nan ka sa a, regle la majik fonksyon se jis pran yon mo, tcheke sa lèt la premye se, ak Lè sa a, jis Fouye li par. Se konsa, nou esansyèlman mete yo nan bokit diferan. Lè nou wè fig, nou reponn: OK, se pou yo mete nan bokit la B. Lè nou wè Apple, se pou yo mete l 'nan Yon bokit la. Si nou te wè abiko, se pou yo mete nan yon bokit la. OK? Se konsa, ta kwè mwen te kap pou- mwen pa konnen, sa ki nan yon lòt fwi? Sipoze mwen te kap chèche zoranj. Ki kote mwen ta dwe gade? Nan bokit la O. Yeah, gen nan sèlman yon sèl kote ki zoranj ta kapab, OK? Se konsa, mwen te di byen bonè sa k ap pase if-- byen mwen te di anvan, kite a di nou mete in-- abiko men mwen reyèlman adrese lefèt ke, oh pa gen okenn, si m 'te mete Berry a, li a ale nan konfli ak bannann. Ki kote nou mete l 'si gen nan deja yon bagay nan tablo nou an? Oke, nou gen yon opsyon koup. Nimewo yon sèl opsyon se lineyè sonde, ki fondamantalman vle di, kite a di mwen vle pou yo eseye mete Berry, e mwen wè, oh pa gen okenn, bannann deja la, Mwen jis di OK, se pou m 'gade pou pwochen plas la ki disponib. Se konsa, mwen mache desann, m di, o, pa gen anyen nan bokit la D. Mwen pa ka vrèman panse a okenn lòt fwi ki kòmanse ak lèt ​​D a, se konsa mwen jis ale nan mete Berry nan la. Duryan. OK, se konsa depi gen nan pa gen anyen nan la ankò, Mwen ta ka kòm byen jis itilize ki plas. Ki sa ki nan dezavantaj nan sa? ODYANS: Li nan parèt nan lòd. Oratè 1: Padon? ODYANS: Li nan parèt nan lòd. Oratè 1: Li nan out-- dwa, nou ta ka fini ak bagay sa yo ki pa in-- ki estoke nan bokit nan chemen an ke nou atann yo yo dwe. Se konsa, si nou te chèche pou Berry, anvan nou te di, oh nou ka gade nan yon sèl bokit. Li ta ka sèlman nan yon sèl bokit. Men koulye a,, reyèlman, li te kapab fè nan tout bokit yo, dwa? OK, isit la nan yon lòt opsyon, chaining-- separe ki se lide ki fè konnen nou ap ale yo sèvi ak yon ti jan pita nan P mete 5. Olye ke jis gen yon sèl espas nan chak bokit, poukisa yo pa nou gen chak bokit gen yon konsèy nan yon lis lye? Ki kote nou di, OK, gen yon bokit pou tout bagay ki kòmanse ak A. Ak gen nan jis ale nan gen yon lye lis nan fwi ki kòmanse ak A. Se konsa, si nou jwenn yon nouvo fwi, se pou yo di nou get-- nou zaboka, nou gen pòm, kite a di nou jwenn abiko, ki jan nou ta ka mete nan lis la? Oke nou ta ale nan bokit 0, epi nou ta jis insert l nan lis te renmen nou an, senp tankou sa. Koulye a, mwen kenbe li di bokit. Nou te kapab aplike sa a nan yon nonb de fason. Youn nan fason tipik ke sa a kalite foto sijere, se petèt li te gen yon etalaj de endikasyon nan lis lye. Sa a yon fason nou kapab aplike yon tab regle. ODYANS: Èske ou ta bezwen yon lòt lis paske fig ak Berry yo soti nan lòd? Oratè 1: Èske ou ta need-- ah, ou ta bezwen yon lòt lis paske fig ak Berry yo soti nan lòd? Nan ka sa a, fonksyon regle nou an, ki di nou ki kote yo mete bagay sa yo pa pran swen sou dezyèm lèt la. Li pa pran swen sou alphabetizing, li sèlman gen sousi pou lèt la an premye. Kesyon? ODYANS: Ki sa ki se definisyon an nan ki fonksyon, epi ki sa li sanble? Oratè 1: Ah, bon. OK, se konsa nou pa bezwen enkyete twòp pou egzamen sa a. Se konsa, mwen pa t 'mete nan glisad yo. Nou pral dwe prezante fè l 'poutèt P mete 5. Men, fondamantalman, li di, yo bay yon nouvo eleman, kote mwen ta dwe mete li? Oswa, kite a di M 'ap chache yon eleman, kote ta ka li dwe ye? Yeah, gwo kesyon an. OK, trè byen vit, pye bwa ak ap eseye. Se konsa, yon pye bwa se jis nenpòt ki sòt a òganize estrikti done. Epi nou ap ale nan wè yon anpil nan foto ki pral fè sa a super klè. Ak yon trye, ki nou te wè nan klas, se yon kalite trè espesyal nan pye bwa ki esansyèlman travay tankou yon milti-nivo regle tab. Li nan super fre. Nou pral wè li nan jis yon sec. Tout dwa, se konsa kite a pale sou pye bwa an premye. Se konsa, sa a se reyèlman tipik egzanp sou yon pye bwa, kote nou gen kèk yerachi. Ou wè ke yon moun se nan tèt la anpil, dwa? Apre sa, mwen ka di tèt paske gen nan klèman yon kòmann-nan paske nou gen flèch sa yo pral desann. Se konsa, ki, bagay la nan tèt la, Mwen rele ki ne nan rasin. Se konsa, se yon sèl ne nan rasin. Apre sa, bagay sa yo nan pati anba a, ki te pa gen anyen vini sou yo, M 'ap di sa yo, se nœuds yo fèy. Se konsa, 8,9 5, 6, 7, OK. Apre sa, anjeneral nou an tèminoloji ka di se, 1 se paran 3 a. Se konsa, li nan bagay la ki vini yon nivo pi wo a li, ak pwen nan li. Apre sa, 3 se timoun 1 a. Li nan bagay la ke 1 pwen. Kesyon? ODYANS: Èske ou ka ale tounen nan glise anvan an, tanpri? Oratè 1: Èske mwen ka ale tounen glise a anvan? Asire w. Kesyon sou sa a? Ou, ou jis te fè yon gade nan li? ODYANS: Mwen jis pa t 'jwenn atravè li. Oratè 1: OK, fre, yeah. Sa yo pral tout ap sou entènèt pou pa fè sa enkyete sou kesyon pran tout pawòl. Ak nan enterè a nan tan, mwen pral ale. Eske se sa ke OK? Pè. OK, fre. Se konsa, kite nan pale sou yon kind-- trè espesifik konsa nou gen sa yo jeneral estrikti nan pye bwa, ki se jis nenpòt ki bagay ki pèmèt nou nan kalite nan ran bagay yerarchik. Pye bwa binè yo se bagay kote chak ne gen nan pifò de timoun yo. OK? Mwen reponn li: OK, se konsa ki sanble nan anfòm deskripsyon sa a. M 'te di ne, pa yon pye bwa rechèch binè. Ki sa ki nan yon pye bwa rechèch binè? Li nan Ranje. Se konsa, ou konnen ke nan yon pye bwa rechèch binè, tout bagay sa yo tout bagay nan tree-- nœuds yo gòch se pi piti, ak tout bagay sa yo nan nœuds dwa se pi gran. Se konsa, sa a se pa yon pye bwa rechèch binè. Sa a se jis yon pye bwa binè. Se konsa, nou gen gwo kategori nan pye bwa, ti kras pi piti kategori nan pye bwa binè, rechèch pa a-- pyebwa rechèch binè. Cool? Tout dwa. Epi, koulye a, ki pi plezi nan tout, nou gen ap eseye nou an. Ou nèg te wè foto sa a nan konferans? Yeah, li ta dwe gade super yo konnen yo. Se pou yo gade nan ki jan nou ta ka aktyèlman aplike sa a. Ou aktyèlman, se pou yo wè, ke menm vini? Nope. Tout dwa, nou pa menm gen enkyete sou sa ki bagay ki ba nivo. Nou pral gen anpil tan nan adrès Lè sa a, P mete 5. Men, pou kounye a, jis trè wo nivo, nou konnen ke sa a se sa li sanble. Nou dekri li kòm kalite yon milti-nivo tab regle where-- kisa ki magazen sa a? Sa a magazen non syantis ke nou kapab aktyèlman gade pou pa jis kalite nan bagay sa yo diferan tab regle desann, tout dwa? Apre sa, bi pou yo sa a se, nan teyori, yo bay tan konstan gade yo. Se konsa, si mwen vle tcheke sa, pou egzanp, ki moun ki nan someone-- ki Mandel se nan sa a trye, mwen te kapab trè byen vit nan lineyè Mwen regrèt, nan tan konstan, figi konnen si wi ou non li nan nan trye la. Men, yon kon, se gade nan ki jan gwo sa a se. Nou ap pa menm estoke ki done anpil, epi li se gwo. Se konsa, yon sèl gwo kon se ke li sèvi ak yon gwo kantite lajan nan memwa. Wi. ODYANS: Poukisa pou l 'bay tan konstan, egzakteman? Oratè 1: Youn nan pi plis tan? ODYANS: Ki sa ki nan entwisyon an pou poukisa li bay tan konstan? Oratè 1: Excellent kesyon. Poukisa pou l 'bay tan konstan? Se konsa, sa nou ka fè se, se pou yo di nou ap chèche pou Mandel. Nou konnen ke nou vle kòmanse nan nivo an premye nan M. Nou konnen nou vle swiv li nan Se konsa, E. sa a, se pran yon sèl etap, de etap, dwa? Nou swiv li nan N. Nou swiv li nan D. Nou swiv li nan E. Nou swiv li nan L. Lè sa a, bagay la pwochen nou tcheke says-- delta sa a di Wi, sa a, se nan tablo nou an. Sa se yon mo. Sa se yon antre valab nan trye nou an. Se konsa, ou ap di, OK, ki te pran sèt etap. Men, si nou te ajoute tankou yon ta plis syantis nan sa a estrikti done, nou pa ta gen yo tcheke yon ta plis bagay sa yo. Nou ap sèlman janm ale nan dwe pran sèt etap, longè a nan an la moun non. Se konsa, nou renmen panse a ègzekutabl kòm, ta kwè nou ogmante gwosè a nan nou an estrikti done, ki jan pi lontan ankò se li pral pran? Nan ka sa a, si nou ajoute yon pakèt moun plis syantis, li pa gen pwoblèm. Li nan toujou pral pran menm kantite lajan an nan tan. Li lè konstan. Wi. ODYANS: Ki jan ou fè pa konnen yo analysis sou nimewo yo ak lòt? Oratè 1: Ki jan mwen konnen ki jan to-- ODYANS: Tankou ki jan ou konnen ou ale dwat soti nan M nan E epi yo pa M A? Oratè 1: Oh, asire w. Paske mwen te konnen mwen te kap chèche pawòl Bondye a Mandel, ak mwen jis konnen li nan M-E. Se konsa, that-- yeah, ale pi devan. ODYANS: Pa t 'vle ou gen fè yon gade nan lòt lèt yo nan rès la nan [fèbl a]? Oratè 1: Ah, pa t 'vle mwen gen fè yon gade nan the-- OK, gwo. Sa a se yon kesyon gwo. Sa depann ki jan nou aplike li. Si nou aplike li kòm jis tankou yon seri de ranje kote nou konnen ke E se toujou nan pozisyon 0, Mwen pa konnen, kèlkeswa sa endèks nimewo se nan. Yeah, nou ka jis fè konstan tan,,,, fè. Fre. Kesyon sou la? ODYANS: Èske tan konstan menm bagay la kòm tan reyèl? Oratè 1: Èske tan konstan menm bagay la se tan reyèl? Mwen se pa reyèlman asire w tan reyèl se. ODYANS: Tankou tan ke literalman pwogrese dezyèm pa dezyèm kòm opoze a ke yo te yon varyab endepandan. Oratè 1: Oh, yeah, ou ka panse a li fason sa a. Nan lòt mo, li pa depann sou gwosè a nan estrikti a done. Sa se yon fason yo panse a li. Nenpòt lòt kesyon? Petèt nan premye fwa nan istwa, nou fini sou tan. Si w gen nenpòt kesyon, santi lib yo vini mande nou, ale nan seksyon, pale ak, biwo TFs ou èdtan yo 8:00 ak 8:30 11:00 nan Lendi ak Madi, se konsa li nan yon ti jan ti kras diferan tan, se konsa asire w ke ou sonje ke. Yeah. ODYANS: Èske nou bezwen konnen bagay tankou liy lòd agiman, ls priz, priz tou sa? Oratè 1: liy lòd agiman, ak Linux kòmandman, repons lan se wi, ou bezwen konnen sa yo. Very-- li a tankou ki kalite nivo bagay nou kouvri nan seksyon 0, osi lwen ke Linux kòmande ale. ODYANS: Èske èdtan yo nan Annenberg? Oratè 1: èdtan Biwo, mwen pa antyèman asire w kote yo ye. Men, ou ka tcheke nan sit entènèt, epi li pral di ou.