ALLISON BUCHHOLTZ-AU: Hey, kila mtu. Karibu sehemu. Leo ni kwenda tu kuwa jaribio wote mapitio kwa jaribio yako juu ya Jumatano. Natumaini kila mtu anakumbuka kwamba wana Jaribio juu ya Jumatano. Na kama hakuwa, vizuri, sasa tumekuwa aliwakumbusha. Hivyo Jumatano kuhakikisha show up kwa ajili ya darasa au makao mengine kama muhimu. You guys ni kwenda kuwa kutisha. Ni kwenda kuwa kubwa. Na mimi nina kwenda kufanya kila kitu naweza kusaidia kujiandaa leo kwa ajili ya jaribio lako sasa. Na pia katika kesi hamjui, kuna shaka pana mapitio kikao leo saa 7:00 katika Maabara kaskazini magharibi chumba B103. Unaweza kuona mimi tena kwa encore kama Mimi itasababisha sehemu ya kwamba mapitio kikao pia. Hivyo kama wewe hawawezi kupata kutosha ya mimi sasa, unaweza kuja tena usiku wa leo. Wote haki, mambo ya kwanza ya kwanza. Baadhi tu tips Jaribio kabla ya sisi kweli kupiga mbizi katika mapitio. Hivyo kama na mtihani wowote, mazoezi dhahiri kukusaidia nje. Kuna mitihani ya zamani miaka sita au saba juu ya huko, hivyo hiyo ni mengi ya mazoezi vifaa kwa ajili ya guys kuwa. Na kwa kweli, leo ni kweli tu kwenda kuwa kwenda juu ya mada yoyote kwamba wewe guys kuwa na maswali juu ya vile kama kazi kwa njia ya matatizo mazoezi Jaribio kutoka sifuri. Hivyo mimi itabidi kutupa juu ya jaribio sifuri kuanzia mwaka jana juu hapa, na tunaweza kufanya kazi kwa njia ya matatizo yoyote kwamba wewe guys ungependa. Hivyo kufanya mazoezi. Wewe ni kwenda kuanza kufanya kwamba leo. Kanuni juu ya karatasi. Hivyo yeah, kama kila mtu inaweza kweli kupata nje karatasi, kwamba utakuwa mkubwa, kwa sababu wewe si kwenda na kompyuta yako juu ya mtihani na kuandika nje kificho kwa mkono ni mara nyingi ngumu zaidi kuliko unaweza kutarajia. Wewe kutumika tu kuona ni na kuandika hayo, na una compiler yako kukusaidia nje wakati una makosa, lakini huwezi kupata kwamba mtihani. Hivyo ni kweli muhimu kwa kweli kuwa na uwezo wa kuandika code, na kwamba misuli kumbukumbu ya kufanya hivyo kwa mkono mapenzi ya kweli kukusaidia. Hivyo sisi ni kupata karibu kidogo. Ni siku ya Jumatatu. Mtihani wako ni juu ya Jumatano. Lakini kama una muda, dhahiri kuchukua moja ya mitihani kuanzia mwaka jana au mwaka kabla chini ya muda kikwazo ya saa moja na nusu. Tu kubisha nje saa na nusu ya muda, na kukaa mwenyewe chini, na tu kazi kwa njia ya matatizo kama wewe walikuwa kweli kuchukua ni kwa sababu moja ya mambo makubwa ambayo sisi kusikia kuhusu Quizzes ni kwamba wao ni muda mrefu sana. Ni mengi ya nyenzo. Kuna maswali mengi, na watu wengi wanaweza kumaliza. Najua kwamba mimi kabisa hawakuwa kumaliza Quizzes yangu wakati mimi alichukua darasa. On kukumbuka kwamba, kama chini starehe sehemu, kuelewa kwamba bila shaka hii ni maana kwa ajili ya kuhudumia watu wa ngazi zote. Sababu nzima tuna kupasuliwa chini ya starehe, mahali fulani kati ya, na vizuri zaidi ni aina ya kufanya hivyo haki zaidi. Na kama wewe ni chini ya starehe, ni si muhimu kwa se kupata kila kitu. Kama kama walikuwa kupata kila kitu, wewe ungekuwa pengine kuwa katika sehemu vizuri zaidi. Hivyo ni wazi si kuwapiga wenyewe up ngumu sana kama huwezi kumaliza mtihani. Kuchukua ni kutoka kwangu, mimi si kufanya hivyo. Mimi bado nina concentrator. Mimi bado kusaidia kufundisha kozi. Wewe utakuwa na faini. Wote haki. Na Mwisho, kupata usingizi. Wazi na mtihani yoyote sisi daima kusema hii. Cramming usiku kabla ya na si kupata usingizi yoyote anafanya not-- labda kama kwamba kazi kwa ajili yenu, kwenda kwa hilo. Lakini kwa idadi kubwa ya watu, kupata baadhi usingizi, kuruhusu ubongo wako mapumziko na kupona kabla ya kuja kwa ajili ya mtihani itakuwa kweli kukusaidia. Pia kuna itakuwa karibu hakika kuwa pipi katika mtihani, hivyo kuwa na kuangalia mbele. You guys ni kwenda kufanya kubwa. Ni kwenda kuwa faini. Na sasa katika saa ijayo na nusu mimi kujaribu na prep wewe kama bora kama naweza. Hivyo nina slides kutoka kimsingi sehemu zote hadi sasa. Mimi si kwenda na kwenda kwa njia wote kwa sababu hiyo siyo upembuzi yakinifu katika saa moja na nusu kama vizuri kama kazi kwa njia ya matatizo mazoezi. Hivyo badala Nina orodha ya mada. Haya ni mambo yote kwamba tunaweza kumhoji juu. Kama kuna kitu chochote kwamba kweli anaruka nje kwamba unataka kwenda juu, kwamba unataka mimi kwenda juu ya conceptually, Naweza kujaribu na kutoa maelezo ya jumla hapo. Au kama unataka kuruka haki katika kufanya matatizo mazoezi pamoja, tunaweza kufanya hivyo. Ni juu ya wewe guys. Kuna si kwamba wengi wenu. Hivyo ni chochote guys kama kufanya. Nataka kuwa wengi manufaa kwenu guys. Hivyo mimi itabidi basi tu kuangalia. Watazamaji: Jambo moja ni chati kwamba sisi kuendelea akisema kuhusu stack na lundo. Tu wazo zima nyuma kwamba na nini maana. ALLISON BUCHHOLTZ-AU: Yeah, Sawa. Hii ni njia yote katika mwisho, hivyo basi mimi kitabu kupitia. Watazamaji: Hatuna kwa kufanya hivyo sasa, lakini chochote. ALLISON BUCHHOLTZ-AU: Kulikuwa anything-- hii moja. Ni aina hii ya fuzzy kwa watu? Watazamaji: Yeah, mimi pili kwamba. Na tunaweza pia kufanya buffer kufurika? ALLISON BUCHHOLTZ-AU: Buffer kufurika? OK. Hivyo buffer kufurika ni pretty rahisi tu ya kuzungumzia. Ni kimsingi mipaka unafikiri kuhusu baadhi ya kumbukumbu safu kwamba una, haki? Sisi kawaida kuzungumzia buffer kufurika wakati wewe si kuangalia ni kiasi gani user ni kuweka katika, haki? Na wazo kuwa na kufurika buffer ni wao ni kuweka katika mbali data mno kwa nafasi kwamba umefanya kura kwa ajili yao, haki? Hivyo kama wewe kusema, kutoa mimi baadhi ya ujumbe, tuko kuchukua kwamba wao ni kwenda kutoa nasi busara ujumbe urefu. Labda mistari michache, whatnot. Hivyo hatuna kuangalia. Badala yake kulisha sisi katika nzima kitabu kwamba ujumbe, na kufurika kiasi cha nafasi kwamba tumekuwa zilizotengwa kwa ajili ya hii. Na kile kinachotokea ni hivyo ili overwrite maeneo ambayo siyo walidhani. Hivyo najua Profesa Malan alisema kitu kuhusu mashambulizi kufurika buffer. Hivyo hiyo ni ambapo mtumiaji mapenzi pembejeo baadhi ya kiasi kikubwa cha data katika matumaini kwamba yeye overwrites zamani mwisho wa buffer yako na nafasi something-- Nashangaa Mimi tuna slides wale katika hapa. Sidhani tuna slides wale katika hapa. Lakini kimsingi yeye overwrites baadhi ya sehemu ya kumbukumbu kwamba inaruhusu yake upatikanaji na sehemu ya kompyuta yako kwamba wewe ungekuwa si kawaida na upatikanaji wa. Kubwa jambo na kufurika buffer ni tu kuelewa kwamba kinachotokea wakati si kuangalia ni kiasi gani yako user ni kuweka katika. Wakati wewe ni aina ya kulinda dhidi ya kwamba. Na wakati rahisi yake Jambo, ni tu user yako inputting kiasi kikubwa ya data katika jaribio overwrite baadhi ya usalama sehemu ya kumbukumbu yako. Hayo ni yote ni. Hivyo hii hapa, stack na lundo. Kimsingi yote hii ni tu uwakilishi wa kumbukumbu na ambapo mambo ni kuhifadhiwa. Hiyo ni kweli aina ya wote unahitaji kujua. mambo makubwa ambayo unahitaji kujua ni that-- napenda kuona kama kuna better-- hapa. Hivyo hii ni stack hapa. Hivyo stack ina nini na yote ya kazi yako kwamba wewe ni wito wakati wowote. Na nini muhimu kukumbuka kwenda mbali ya wiki iliyopita na malloc ni kwamba si kweli kuwa muhimu udhibiti juu yake. Yote inategemea wakati fulani kazi ni utekelezaji. Na wakati wao ni utekelezaji, wao kuwa kile kinachojulikana muafaka stack kwamba kwenda juu hapa. Hivyo kila aina ya kinachotokea bila pembejeo yoyote halisi kutoka kwenu. Kuandika mpango wako, na wewe basi ni kukimbia, na stack aina ya inachukua huduma ya yenyewe kama inahitaji. Hivyo kama katika kuu wewe ni wito mchemraba, kwamba itakuwa kupita hapa. Utakuwa kujenga sura. Lakini kuna kitu unaweza kufanya waziwazi kujenga kwamba sura stack nyingine zaidi kuandika kazi kwa kuanzia, sawa? Kile ni aina ya chini yako udhibiti ni chungu na malloc. Hivyo wakati wowote malloc kitu, wewe ni kuchukua kumbukumbu kutoka lundo. Na kwamba ni kumbukumbu kwamba wewe kuwa, kwa ajili ya ukosefu wa neno bora, wazi udhibiti, kwa sababu kumbuka na malloc kimsingi kuna mpaka kusema vinginevyo. Kwa wale ambao watched sehemu ya wiki iliyopita, ni huko mpaka kuwaambia ni kwenda mbali. Itakuwa pale isipokuwa vinginevyo aliiambia si. Hivyo chungu ni tu kitu unaweza kufikiria kama kumbukumbu kwamba una mamlaka juu ya. Na wale ni tu mbili tofauti mambo makubwa. Nyingine zaidi ya kwamba, unapaswa kuwa na wasiwasi sana kuhusu stack na lundo maswali au kawaida tu zaidi kama una vigezo mitaa au kazi itakuwa ni juu ya stack au lundo. Ni wazi katika kesi hii itakuwa stack. Kama wewe ni mallocing kitu, ambapo ni kwamba kuja kutoka? lundo. Kama ukiangalia mazoezi Quizzes, wale ujumla aina ya maswali kwamba wana. Huna kuwa na wasiwasi sana kuhusu hilo. Kupata katika wazi zaidi kuhusu stack na lundo baadaye au katika madarasa mengine CS. Hivyo tu kuwa aina ya ujumla wazo la nini hii ni itakuwa nzuri, ambayo mimi tu aina ya alikwenda juu. Yoyote mada nyingine? Ndiyo? Watazamaji: Je, unaweza kwenda juu ya kuyatumia tena kweli haraka? ALLISON BUCHHOLTZ-AU: kuyatumia? Je, unataka dhana maelezo ya jumla ya kuyatumia au kufanya mazoezi na kuyatumia? Watazamaji: Aina ya kama syntax. ALLISON BUCHHOLTZ-AU: syntax? Yeah. OK, sisi ni kupata huko. Yeah, hivyo hii ni aina tu ya kitu wakati una kazi ya kujirudia, kila wakati kwamba kazi ya kujirudia ni kuitwa, inaongeza tu nyingine stack frame. Pretty sana mfano ya jinsi ya kufanya si kweli kuwa na udhibiti juu ya muafaka juu ya stack yako. OK, kuyatumia. Haki wote, hivyo kujenga kuyatumia. Kumbuka, ni aina tu ya nyota. Hivyo kila aina ya data kwamba wewe ni kwenda kuwa akizungumzia. Hivyo hii itakuwa pointer int. Hii itakuwa pointer Char. Hii itakuwa pointer kuelea. Hivyo ni kimsingi chochote unataka kuwa akizungumzia, nyota ni jinsi gani kutangaza pointer, sawa? Lakini basi ni wazi anapata kidogo gumu wakati una pointer au una nyota chochote. Hivyo tofauti kubwa ni wakati wewe ni declaring-- hivyo tuna some-- hivyo hii inachukua baadhi ya nyota int. Hivyo hii ni baadhi pointer wito x kwa int, haki? Hivyo kumbuka nini hii ni hii wito mfumo x. Na hii ni kwenda kuwa na baadhi ya mitaani, haki? Basi hebu tu kusema hii ni anwani wetu. Kuyatumia kushikilia anwani. Hivyo kile hii anasema ni kwamba wakati huu eneo, sisi ni hifadhi int. Hivyo njia nyingine tunaweza kufikiria hii ni kwamba hii ni baadhi int. Sisi si kweli kupewa kwa chochote bado, lakini ni tu int. Hivyo tunaweza kufanya ni kama hatuwezi nyota x sawa 5, hii inakuwa 5, sawa? Hii inasema kwenda chochote x ni akionyesha, hivyo kwenda kwa anwani hii na kufanya hivyo ni sawa na 5. Hivyo sisi hawawajui 5 kwa anwani hii, haki? Na kisha kama wewe kufanya hivyo, hii inatupa pepe ya. Hii ni anwani ya operator. Hivyo ni anwani ya x nini? Hatujui. Sisi si kupewa ni eneo. Tunaweza kusema ni some-- sasa sisi alitoa ni anwani, hivyo ni anwani 4. Na kwa kweli kama sisi kwenda kwa njia ya kitu kama hii, aina ya kile tulichofanya. Hivyo kufanya kazi kupitia here-- mimi kupata inasaidia kama wewe kuteka kuyatumia. Kama wewe ni juu ya mtihani wako, mimi sana kupendekeza kuchora masanduku. Hivyo moja hii ya kwanza, int x ni sawa na 5. Hii ina maana tu tuna baadhi ya mahali katika kumbukumbu kwamba ni 5, haki? Na meza yetu hapa anatueleza kwamba ni katika anwani 0x04. Na kisha sisi kujenga baadhi ya pointer. Basi hebu kuvunja hii chini moja kwa wakati mmoja. Hivyo hii inajenga baadhi sanduku kwa int, haki? Ni kwenda kushikilia baadhi anwani ya hiyo. Hivyo hii ni baadhi pointer. Na chaki hii ni kweli ndogo. Hivyo tuna baadhi pointer hapa. Na meza yetu inatuambia kwamba ni anwani ni 0x08. Baridi. Na sisi ni kumshirikisha kwa anwani ya x. Kumbuka, kuyatumia kushikilia anwani, sawa? Hivyo kama tunataka kushikilia x, tuna kutumia anwani operator, ambayo ni ampersand, kupata anwani ya x, ambayo katika kesi hii, 0x04. Na kisha kama tuna baadhi int nakala, hii tu inajenga baadhi sanduku mengine ambayo ana int aitwaye nakala. Na kama sisi hawawajui kwa this-- hivyo hii ni referencing yake. Hivyo anasema kwenda chochote anwani pointer ana. Pointer ana anwani hii, hivyo tunatarajia kwenda juu hapa, na sisi kusema, sawa, nini katika hilo? Ni 5. Hivyo nakala inakuwa 5. Mantiki? Nini kama mimi alijaribu hawawajui hii pointer tu. Nini pointer kweli sawa? Ingekuwa tu kuwa chochote pointer ina, haki? Na kisha nini kama mimi alifanya hivyo? Gani nakala kuwa sasa? Watazamaji: 0x08. ALLISON BUCHHOLTZ-AU: Yep, anwani ya pointer yetu. Sehemu yoyote ya kwamba mahitaji ya kuwa re-alielezea? Baridi. Kuna ni dhahiri sana furaha tatizo juu ya jaribio moja kwamba tunaweza juu ya kwamba inakupa mazoezi zaidi. guys kutoka wiki iliyopita unaweza kukuambia haikuwa mbaya. Sisi got kupitia nzima chati, na kila mtu alifanya kubwa. OK, hivyo hiyo ni maelezo ya syntax ya kuyatumia. Kubwa jambo ni kuelewa jinsi kujenga yao, kufanya referencing, na anwani ya, sawa? Baridi. Yoyote mada nyingine kabla ya sisi kupiga mbizi katika mazoezi. Pia kama sisi ni kwenda kupitia matatizo ya mazoezi na kuna kitu unataka rejea juu, tunaweza kufanya hivyo pia. Je, una kitu? Watazamaji: structs na orodha wanaohusishwa. ALLISON BUCHHOLTZ-AU: structs na wanaohusishwa orodha, OK. Hivyo structs. Sisi kwa kweli ni kwenda juu ya usiku wa leo hii pia. OK, hivyo structs. Structs kimsingi njia tu kwa ajili yenu kushikilia maadili mbalimbali ya aina mbalimbali. Hivyo, pamoja na safu sisi ni constricted kwa data ya aina moja. Safu yetu ama ina kuwa namba tu, au tu kuwa chars, au tu kuwa ikifungwa. Lakini labda unahitaji vyenye zaidi. Labda unahitaji hold-- kama wewe kuzungumza juu ya mwanafunzi, wewe ni kwenda kuwa na nyumba zao, wao ID posta, umri wao, ambapo wanaishi, haki? Na wale wote ni aina mbalimbali ya aina. Hivyo huwezi kuhifadhi wale wote katika safu. Hivyo nini unaweza kufanya ni wewe inaweza kujenga struct, ambayo unaweza kufikiria kama yako binafsi aina ya data. Hivyo badala ya tu baada ya ints na badala ya kuwa tu ikifungwa, unaweza kuwa na aina ya mwanafunzi kuwa ina wote wa mashamba hayo ndani yake. Hivyo njia sisi initialize structs yetu is-- kweli tangu maandishi yangu ni ya kutisha, sisi ni kwenda mpito kwa kuandika. Woo. OK, hivyo kama tunataka kujenga struct-- Mimi nina kwenda tu chini hapa. Kupuuza katika kuu chochote ambayo sisi kutumia baadaye. Hivyo njia unataka kufanya ni pamoja na typedef struct. Na hebu tu kuwaita mwanafunzi hii kwa sababu hiyo ndiyo nilikuwa kutumia. OK, hivyo typedef maana wewe ni kufafanua aina mpya, sawa? Kuna nuances katika wakati wa kufanya tu struct typedef struct dhidi. Kwa makusudi na madhumuni, nyie ni tu kwenda kudhani wao ni takriban sawa na tu kutumia typedef struct kwa sasa. Kutakuwa na kuwa njia ya wazi zaidi katika yako ijayo P kuweka nini tofauti hizo ni, lakini sidhani unahitaji wasiwasi kuhusu kwamba hivi sasa. Napenda sana badala yenu kujua jinsi ya kujenga moja, kupata hiyo, na hawawajui [? thamani. ?] aina mpya ya struct, na sisi ni wito ni mwanafunzi. Hivyo baada ya sisi ni kosa kujenga huu, kwa makusudi na madhumuni, utakuwa na aina iitwayo mwanafunzi. Na unaweza kufikiria ni kama aina kama int, au kuelea, au Char. Ni tu aina nyingine, sawa? Hivyo katika hii moja, je, tuna? Tuna labda jina. Hivyo labda tunataka jina kamba. Na tuna labda int kwamba ID. Na tuna mwingine katika hiyo ni idadi ya simu. Na sisi some-- hebu angalia. Nini kingine inaweza tuna? Tutaweza kuwa na baadhi ya kamba katika nyumba yake. Mambo yote mwanafunzi ana. Hivyo hii inajenga struct sasa. Hivyo ni jinsi inaweza sisi kujenga mwanafunzi? Kama tuna baadhi ya kutofautiana kwamba ni kwenda kuzungumza kuhusu Walker hapa, hivyo sisi have-- tuko tu kwenda kuwaita hii Walker. Yeye mahitaji ya aina. Nini aina yako? Watazamaji: Mwanafunzi. ALLISON BUCHHOLTZ-AU: Mwanafunzi. Hivyo hii inajenga tu kitu unaweza kufikiria kwamba ina mambo hayo yote. Wewe tu umba Walker mwanafunzi. Hivyo sasa tunahitaji kuwa na uwezo hawawajui yote haya, haki? Hivyo haina mtu yeyote kumbuka jinsi sisi kupata ndani ya struct? Watazamaji: Kipindi. ALLISON BUCHHOLTZ-AU: Kipindi Hasa. Hivyo kama sisi alitaka kuwapa naye jina, tunaweza kufanya hivyo. Ni wazi kuwa hili ingekuwa be-- sehemu hii hapa ingekuwa kuwa ndani ya kuu, hivyo kweli basi mimi kufanya hili. Kutangaza hili juu kuu hivyo kwamba tunaweza kuitumia ndani ya kuu. Hivyo sasa mimi nataka kufanya ID, na tutaweza tu kufanya baadhi ya huko, na kisha tutaweza kuwapa nyumba. Bam. Baridi. Hivyo sasa tunapaswa milele haja ya upatikanaji chochote baadaye on-- labda we-- kama sisi milele haja ya kupata kitu chochote, hebu tu kufanya int nakala ID. Na mimi nataka nakala ID katika hili Walker. Jinsi gani mimi kufanya hivyo? Unahitaji kupata ndani ya Walker struct kwa [? kwenda kuwa?] [? E?]. Na njia sawa kwamba sisi kupewa it up hapa, jinsi Tunaweza kupata hiyo wakati tunataka kutoa kwamba thamani ya kitu kingine? Watazamaji: Walker.id. ALLISON BUCHHOLTZ-AU: Yeah, kwa uhakika. Hivyo hiyo ni pretty much wote unahitaji kujua kwa structs. Wewe tu haja ya kufikiria yao kama mwingine kutofautiana. Kimsingi kuunda yako mwenyewe kutofautiana aina, sawa? Matumizi yake ya kutangaza vigezo kwa njia yoyote. Hapa Walker bado ni kutofautiana. Ni tu ina aina mwanafunzi sasa badala ya aina int, au kamba ya aina, au aina Char. Kama kulikuwa na njia rahisi kuzungumza kuhusu structs, ni literally tu kujenga data yako mwenyewe aina kwamba utapata kundi haya yote tofauti aina ya data pamoja. Je kwamba inafanya hisia? OK. Kwamba na kupata na dots. Pretty much wote unahitaji. OK, wapi PowerPoint yangu kwenda? Hapa ni. Naam hii ni weird. Aha. OK, baridi. Mambo mengine yoyote au kufanya sisi wanataka kichwa mazoezi? Mazoezi? OK. Kutisha. Mimi nina kwenda exit huu. Kama katika hatua yoyote wakati maswali ya mazoezi, Nina furaha kufufua na kwenda kwa njia ya mambo. Hivyo nina Jaribio sifuri hapa. Kama wewe guys wanataka kuvuta it up kwenye kompyuta yako, tu kama kuchukua tano dakika kuvinjari kupitia. Labda kuchagua baadhi ya juu maswali unataka kwenda juu. Kama wewe guys hawawezi kuamua, tutaweza tu polepole kuanza kufanya kazi kwa njia yao, lakini mimi nina uhakika kuna ni kwenda kuwa baadhi maswali kwamba wewe ni hasa hamu ya kuzungumza kuhusu na kuwa na mimi kazi kwa njia ya pamoja na wewe wote. Hivyo tu kwenda mbele na kuchukua muda wa dakika tano. Kitabu kupitia. Na hii ni jaribio kutoka 2013. Watazamaji: sifuri? ALLISON BUCHHOLTZ-AU: Yeah, jaribio sifuri. Sisi siyo kufanya jaribio mambo moja. Tutaweza kufanya kwamba katika wiki kadhaa. Pia kwa wale ambao alikuja katika marehemu, tuna pipi, hivyo kufanya wewe guys wanataka pipi? Watazamaji: Hakika. ALLISON BUCHHOLTZ-AU: Mimi tu kwenda kupita kote. Hey, kama wewe guys kupata hapa mapema, unaweza kupata pipi zaidi. Hiyo ni faini. Ben, unataka pipi? Unataka baadhi ya haya? Kuna pia Snickers kama mtu anataka Snickers. Mimi itabidi kuondoka nao hapa na hapa. Kujisikia huru. Je, unataka tena? Watazamaji: All kuweka. Asante. ALLISON BUCHHOLTZ-AU: Na mimi alikuwa nzuri rundo kidogo kuna mwanzoni. You guys kupata kuchukua jaribio na Mimi kupata na kuwa na jaribio grading chama. Ni machafuko. 900 mitihani. Ni kwenda kuwa na furaha sana. Itakuwa kubwa. Mimi nina uhakika pretty hiyo ni moja kubwa ya wafanyakazi bonding usiku wa mwaka. Je, kuna mtu amefanya jaribio sifuri kutoka mwaka jana bado nje ya udadisi? Watazamaji: Sehemu ya hiyo. ALLISON BUCHHOLTZ-AU: Sehemu ya hayo, sawa. Je, una maswali yoyote wao? Watazamaji: Mimi tayari akaenda masaa ya ofisi. Asante ingawa. ALLISON BUCHHOLTZ-AU: Naam, hopefully bado ni aina ya kusaidia. Lini kwenda masaa ya ofisi kwa kuwa? Watazamaji: TF yangu alikuwa nao mchana huu. ALLISON BUCHHOLTZ-AU: Oh. Nani TF yako? Watazamaji: Fred [? Wujaya?]. ALLISON BUCHHOLTZ-AU: Kuna TFS nyingi. Hivyo wengi. Wote haki. Mtu yeyote kuwa yoyote ya kuanza kwamba naweza nukta chini kwamba tunataka kazi juu ya? Mimi kudhani kuyatumia moja kwa meza. Kwenda kwa hayo. Watazamaji: Labda kubadili moja. ALLISON BUCHHOLTZ-AU: Hivyo namba 12? Mimi kudhani idadi ya 8 na 9 pengine watu wale unataka kwenda juu. Watazamaji: Na 10 na 11. ALLISON BUCHHOLTZ-AU: Na wewe guys kujua kupata moja ukurasa wa maelezo, haki? Watazamaji: Yeah, hivyo ni nini sisi kuruhusiwa kuweka juu ya kwamba. ALLISON BUCHHOLTZ-AU: Wewe ni kuruhusiwa kuweka chochote unataka. Na inaweza kuwa typed. Mbali kama mimi kukumbuka, sisi walikuwa typed. Watazamaji: Unaweza kufanya nyuma na pande zote mbili? ALLISON BUCHHOLTZ-AU: Yeah, pande zote mbili. Hivyo kitu kama chungu na [? nyuma mwisho?] lundo, mbio yako mara. Manufaa. Mambo labda kidogo kuhusu kuyatumia kwa kuwakumbusha. Syntax kwa ajili ya mambo. Kuwa tu kama mifupa mpango unaweza kuwa super manufaa. Najua kwamba mimi daima alisahau nini hasa Mimi ilitakiwa kuandika kwa int kuu, kwa sababu mimi daima nakala tu kuweka kutoka kuweka yangu P uliopita au ni tayari pale, hivyo Mimi kamwe kweli aliandika, hivyo kuwa na kwamba wanaweza kuwa super manufaa. OK, hivyo nini si sisi kuanza na idadi 8 basi? Wote haki. OK. Hivyo kufikiria mpango hapa chini. Hivyo ni wazi wakati sisi kuona kuyatumia, pengine wazo nzuri kuanza kuchora, haki? Nataka kujua ambapo wote yangu vipande kubwa ya chaki akaenda. Hii ni aina ya annoying. Hivyo tuna hapa baadhi ya kazi wabadilishane kwamba kwenda kuchukua katika kuyatumia mbili. Hivyo katika kesi hii, wao lazima kweli kuwa byte mambo dhidi ya kubadilishana yetu ya awali kazi ambayo alichukua tu katika nakala. Hivyo kile ni kwenda kufanya is-- hebu kuanza na kuu, kwa sababu hiyo ni 1 ni wapi. Hivyo tuna baadhi int x 1. Tuna baadhi y kwamba sawa na 2. Na kisha tuna baadhi wabadilishane kwamba kwenda kuchukua hizo. Na hebu angalia nini kufanya sisi hapa. Na katika table-- yetu oh mvulana. Jinsi mimi kwenda kufanya hili? Mimi nina kwenda kuteka meza yangu juu hapa. Vigumu kuifanya huko. Vigumu kufanya hivyo. 1, 2, 3, 4, 5, 6, 7. Na wao kutupatia kwamba 1 ni 1, na 1 2. Baridi. Kutisha. Hivyo 3. Na kuna [? a 1.?] Wote haki. Na kisha pepe ya x ni 0x123. Na y ni Ox127. Baridi. Wote haki. Nataka wewe guys kazi hii kwa ajili ya kazi tu like-- juu yake pamoja na watu karibu na wewe. Nilikuwa napenda alisema kuwa nilipokuwa kuanzisha. Kazi hiyo. Kujaribu na kazi hiyo na wenyewe kwa dakika kadhaa, kisha mimi kazi juu yake na wewe. Kwa sababu njia pekee wewe ni kweli kwenda kujifunza ni kwa kufanya hivyo mwenyewe. Hakuna wasiwasi. Bahati nzuri. OK, kwa nini sio sisi polepole kuanza kufanya kazi kwa njia hii. Hivyo kila mtu anapata baada ya line moja, x ni 1. Baada line mbili, x na y ni 1 na 2, haki? Baridi. Hivyo line tatu ni ambapo mambo kupata kuvutia bila shaka. Hivyo kile ambacho tumefanya hapa ni sisi sasa kuwa swapped. Sisi tunasema kwamba x na y kuwa na pointi hizo, au wana pepe ya x na y, haki? Hivyo katika kesi hii, tatu, nini thamani ya? a alikuwa kupita katika, amepewa thamani ya anwani ya x, haki? Watazamaji: 1? ALLISON BUCHHOLTZ-AU: Hivyo sisi kuongeza kwa x? Nini x ya anwani? Watazamaji: 0x123. ALLISON BUCHHOLTZ-AU: Hasa. Lakini nini ni kweli akizungumzia? Kama sisi dereference, nini thamani itakuwa ni kutupa. Watazamaji: 1. ALLISON BUCHHOLTZ-AU: Ni ingekuwa kutupatia 1, kwa sababu kile sisi ni kusema ni kwenda hii anwani, kutuambia nini thamani ya. Hivyo kile itakuwa b? Watazamaji: 0x127. ALLISON BUCHHOLTZ-AU: Hasa. Hivyo ni anwani ya y. Na kisha nini [? dereference? ?] Watazamaji: 2. ALLISON BUCHHOLTZ-AU: Sawa, hivyo sasa minne. Sisi alisema ni vizuri equal-- sasa tumekuwa amefanya int temp ni sawa na nyota wa. Hivyo kile mabadiliko? Kuna jambo moja tu ndiyo kwamba mabadiliko hapa. Ni nini? Watazamaji: Temp. ALLISON BUCHHOLTZ-AU: temp. Ili tuweze kuandika upya yote haya. mkakati mzuri kwa ajili ya haya ni kuhesabia tu nini mabadiliko, kwa sababu mara nyingi kuna jambo moja tu kwamba ni kwenda na mabadiliko katika hatua yoyote aliyopewa, sawa? Hivyo tumekuwa kupewa temp. Sasa hoja yetu ya pili, tano, sisi kuwa alifanya nyota sawa na nyota b. Hivyo kile mabadiliko sasa? Watazamaji: Star. ALLISON BUCHHOLTZ-AU: Star, hivyo kila kitu kingine anakaa sawa. Na je nyota sawa? Watazamaji: 2. ALLISON BUCHHOLTZ-AU: 2. Nzuri. Kutisha. OK, na kisha sasa tuna kuanza b ni sawa na temp. Hivyo kitu pekee kubadilisha ni nyota b. Kila kitu kingine anakaa sawa. Na nyota b ni nini sawa na sasa? Na umefanya kukamilika meza. Kwa sababu sasa mwishoni, kama sisi kusema x na y, tunajua kwamba katika point-- hii tunajua kwamba wakati sisi ilibadilishwa nyota 2, nini kwamba alifanya ni alisema OK, katika kushughulikia 0x123 hapa, mabadiliko hayo. Sasa hii ilikuwa 2. Na kisha katika hatua hii, sisi alisema OK, kwenda nyota b. Hivyo kwenda katika anwani 0x127 na kufanya hivyo 1. Hivyo sasa katika mwisho sana wakati sisi kweli kurudi kwa kuu, sisi kweli kuwa kwamba x ni sawa na 2 na y ni sawa na 1. Kila mtu mzuri na kwamba? OK, baridi. Namba 9. You guys kazi hii. Mimi nina kwenda kuanzisha bodi hivyo tunaweza kuteka njia hiyo. Utakuwa mlipuko. meza kubwa inaweza kuwa kweli inatisha, najua. Lakini kama wewe tu kuchukua yao mstari mmoja katika muda, wao kupata mengi chini inatisha. Wote haki. Hivyo, unajua kwamba hii itakuwa na wamekwenda kupitia kuu ya kwanza, haki? Initializes x na y na kisha anajaribu wabadilishane yao. Hivyo hata wabadilishane ni juu, njia halisi ni huenda ni kwamba sisi ni kwenda kupitia kuu, na kisha ni wito up wabadilishane, wote haki? Hivyo kila mtu anajua kwamba. Hivyo ambayo moja je guys unataka kuanza na? Ni mtu yeyote kweli na uhakika kuhusu mmoja wa haya? Au hata nusu uhakika? Mbona sisi kuanza na x? Nini tunafikiri x ni? Watazamaji: 1. ALLISON BUCHHOLTZ-AU: 1. Hivyo basi kwa nini ni 2. Na kwamba kwa sababu Tofauti kubwa hapa ni kwamba sisi ni tu kupita nakala katika, haki? Sisi siyo kupita kwa kumbukumbu. Hivyo hata mwishoni mwa hii x na y mpango walikaa huo, kwa sababu wao nakala tu katika wabadilishane kazi. Hawana kweli mabadiliko, haki? Basi nini kuhusu, b, na temp? Watazamaji: a ni b. ALLISON BUCHHOLTZ-AU: a ni b. Hivyo katika kesi hii, alikuwa x, ambayo ni 1, haki? Hivyo hapa, hebu kutembea kwa njia hiyo. Hivyo mwanzoni, a na b ni 1 na 2 na kisichojulikana. Hivyo awali temp anapata kwa ajili ya, hivyo temp ni 1. a ni sawa na b, kwa hiyo sisi kupata 2, na b ni sawa na temp. Sasa sisi kupata 1. Watazamaji: Katika uliopita ni moja swapped ampersand x na y ampersand. Nini hasa haina maana? ALLISON BUCHHOLTZ-AU: Hivyo hiyo ina maana kwamba wewe ni kupita kwa kumbukumbu. Hivyo kwamba maana wewe ni kweli kupita katika anwani ya ambapo x na y ni kuhifadhiwa. Watazamaji: Lakini wewe si swapping eneo. ALLISON BUCHHOLTZ-AU: Wewe si swapping anwani. Wewe ni swapping nini ndani yao. Kama nini katika anwani hiyo, na kwamba ni kwa nini ni kazi. Dhidi katika mpango huu hapa ni nini unafanya ni wewe ni kujenga nakala. Hivyo una x na y ambazo zipo kama vigezo yao wenyewe nje hapa. Lakini basi wakati wewe kupita yao katika wabadilishane, ni kama wewe ni kujenga hii nyingine nzima kuweka. Hivyo wewe ni kweli kamwe kugusa x na y. Watazamaji: Kama ampersand x ni nini katika anwani ya x, nini itakuwa nyota x kuwa? ALLISON BUCHHOLTZ-AU: Ampersand x ni nini katika anwani ya x, basi star-- vizuri, katika kesi hii, x si pointer. Watazamaji: Oh, Sawa. Hivyo tu kufanya hivyo sababu si pointer. ALLISON BUCHHOLTZ-AU: Haki. Unaweza tu kufanya nyota ya kitu ambacho ni pointer. Labda unaweza kufanya hivyo kwa mambo ambayo si, lakini kukusanya kwamba kufanya mambo mambo kitakachotokea. Na mimi nina si hasa uhakika nini kitatokea. Unaweza daima kuchukua anwani ya jambo fulani, lakini huwezi dereference kitu ambacho si pointer. Kama kwamba inafanya hisia, kwamba Tofauti nzuri kuwa. Hivyo si mbaya sana, haki? meza ni hopefully kupata kidogo kidogo inatisha. Wote haki. Ah, ndio furaha. Hivyo sasa, kuandika code yako mwenyewe. Hivyo nina kwenda kwa basi wewe guys kazi juu ya hii kwa dakika nne, na kisha tunaweza kuzungumza kuhusu njia na mbinu hiyo. Kujisikia huru kuzungumza na watu karibu na wewe. Pia hii ni ya kuvutia. Ni kama wasichana wote Sehemu hivi sasa. Pretty kusisimua. Isipokuwa kwa Chang. Lakini Chang ni kweli si sehemu ya kifungu. Kutisha. Kamilifu. Hivyo mimi nitakupa mwanga wanandoa. Katika kesi ambapo una tabia zaidi ya moja, ambapo una kitu kingine kama 123 au 1000 kitu, unahitaji kuwa na uwezo wa kitanzi kupitia na kubadilisha kila mmoja wa wale. Hivyo kuna wanandoa njia unaweza kufanya hivyo, lakini wewe ni dhahiri kwenda kuwa a kwa kitanzi mahali fulani huko kwa kitanzi njia yao, ambayo ni aina ya kama giveaway na hata kama wito strlen, ambayo ni aina ya kama oh labda unataka kutumia urefu ya kamba katika baadhi ya njia. Wote haki. Hivyo nini guys kufikiri inaweza kuwa moja ya mambo ya kwanza tunataka kufanya? Kuna kesi ya wanandoa katika hapa tunahitaji akaunti kwa ajili ya, haki? Aidha tuna kitu ambacho ni null. Tuna nini? Kesi. Null. Tuna kesi kwamba ina kitu kingine zaidi ya 09, haki? Basi hebu kusema ina barua. Au tuna kesi hiyo ni halali. Kesi tatu kufikiria. Hivyo ambayo moja unafikiri anaweza kuwa rahisi moja kuchukua huduma ya kwanza? Watazamaji: Batili. ALLISON BUCHHOLTZ-AU: kesi ni batili. Hivyo gani sisi kufanya huko? Watazamaji: [inaudible]. ALLISON BUCHHOLTZ-AU: Yeah. Na nini kufanya mimi nataka kufanya? Watazamaji: Rudisha 0. ALLISON BUCHHOLTZ-AU: Hasa. Kutisha. OK. Hivyo sasa kesi hiyo ina herufi na kesi hiyo ni halali. Sisi kwa kweli wanaweza kuchukua huduma ya hii ndani ya kitanzi moja, sawa? Hivyo njia moja ya kufanya it-- nini inaweza kuwa njia rahisi ya kuangalia kama ni halali. Tunataka kwenda kupitia kila barua na kufanya nini? Watazamaji: Angalia kama ni in-- ALLISON BUCHHOLTZ-AU: Haki, unaweza kuangalia kama ni kati ya 0 na 9, haki? Na kisha katika kesi kuwa ni halali, tuko kwenda kuishia iterating kupitia kamba yetu anyways, haki? Hivyo kwa nini sio sisi kujaribu na kuchanganya yao katika moja. Tunakwenda iterate kupitia kamba nje, na kama sisi kufanya hivyo, sisi ni kwenda kwanza kufanya kuangalia ili kuona kama barua hiyo au kama kwamba tabia ni halali. Kama ni, sisi ni kwenda kufanya operesheni kwamba tunahitaji kubadilisha. Vinginevyo itabidi kurudi 0, haki? Hivyo kabla ya sisi kufanya hivyo, sisi pengine wanataka baadhi ya kutofautiana kwamba tunaweza kurudi mwishoni kwamba kinaendelea kuwa thamani yetu halisi. Hivyo sisi ni kwenda initialize baadhi ya thamani kuwa 0. Na kwamba tu jinsi sisi kuanza. Hivyo nina kwenda kujikwamua hii. Hivyo ni jinsi gani sisi kwenda iterate kupitia kamba hii. Watazamaji: Kwa kitanzi. ALLISON BUCHHOLTZ-AU: A kwa kitanzi. Basi nini kwa ajili yetu? Watazamaji: i ni 0. ALLISON BUCHHOLTZ-AU: Mm-hm. Na nini ni sisi iterating mpaka? Watazamaji: str urefu wa s. ALLISON BUCHHOLTZ-AU: Sawa, sasa kumbuka kuna njia bora zaidi. [Inaudible]. Watazamaji: Yeah, tunaweza kufanya n sawa. ALLISON BUCHHOLTZ-AU: Hasa. Watazamaji: i ni chini ya n. ALLISON BUCHHOLTZ-AU: Na kwa nini ingekuwa tunataka kufanya hivyo? Unakumbuka sababu? Watazamaji: Tuna recalculate yake. ALLISON BUCHHOLTZ-AU: kwasababu njia hii tu kwa mahesabu ya strlen mara moja. Kama wewe kufanya i ni chini ya strlen s, kwamba maana yake ni recalculates urefu kila wakati kukimbia kwa kitanzi, ambayo si gharama kubwa ya nishati, lakini ni bora mazoezi kwa kujaribu na kufanya mambo kama kwamba mara. Isipokuwa labda una kamba mambo hiyo ni kubadilisha katika kila iteration. Lakini kama ni kukaa sawa, ila ni. Wote haki. Na kisha i pamoja pamoja. Kutisha. Sisi ni juu ya njia zetu. Watazamaji: Kweli haraka. Kwanza, hivyo hebu sema sisi tu alifanya i chini ya strlen ya s, ni wao grading yetu juu ya kubuni wakati wote au usahihi tu? Wao siyo. Sisi ni grading juu ya usahihi kwa Quizzes mbali kama mimi kujua. Siwezi kufanya juu ya kamili dhamana, lakini kwa sehemu kubwa, idadi kubwa ni usahihi, kwa sababu uko chini ya muda mwingi kikwazo. Kubuni kawaida ina maana una muda wa kufikiri kuhusu elegans ya hali yako. OK, hivyo sisi ni iterating kupitia. Hivyo tunahitaji ama kuangalia kwa kuona kama tabia hii ni halali au kama tunaweza kufanya wetu kawaida [? i?] kazi. Tunaweza wasiwasi kuhusu nini kwamba ni katika pili. Hivyo kwa nini sio sisi take-- kama mtu yeyote anaweza kufikiri kuhusu njia ya kuangalia kwa kuona kama hii ni halali. Tunajua ni kwenda kuwa baadhi kama hali, haki? Na kumbuka hii ni katika ASCII, hivyo ni jinsi nguvu tunaona kama si 0,1, 2, 3, 4, 5, 6, 7, 8, 9 au. Watazamaji: Kama alpha. ALLISON BUCHHOLTZ-AU: Hivyo kama alpha ingekuwa tu hebu kujua kama ni barua. Na kama wao kutupatia ishara, ni bado si kabisa kwenda kuangalia. Hivyo kama wewe kuvuta up ASCII yako meza, tunajua kwamba 0 kupitia 9 ni katika sehemu moja. Kuniambia namba kwamba wao yanahusiana na kama inawezekana. Watazamaji: 40. ALLISON BUCHHOLTZ-AU: Hivyo mbalimbali ni kama 40-- Watazamaji: Labda. 48-57. Mimi nina uhakika. ALLISON BUCHHOLTZ-AU: 40-57? Watazamaji: 48, nadhani. ALLISON BUCHHOLTZ-AU: 48-57. Hivyo tunajua kwamba wale ASCII symbols-- kama thamani ASCII ni si kati ya 48 na 57, si halali, haki? Hivyo tunaweza kutumia kwamba kwa faida yetu uwezekano? Je ni vipi tuna kwenda kupata barua hii, mbali ya kwanza? Jinsi sisi kupata hii tabia hii? Watazamaji: s mabano i. ALLISON BUCHHOLTZ-AU: Mm-hm. Kwa sababu tunaweza kufikiria masharti kama arrays, kumbuka. Hivyo nini tunataka kusema? Tunataka kusema kama hii is-- mimi nitakupa ladha. Ni chini ya. Nini unafikiri ni mahitaji ya kuwa chini ya? Watazamaji: 57? ALLISON BUCHHOLTZ-AU: 47, haki? Lakini pia inawakilisha kuwa kama wewe 0 katika moja [? spokes?], kwa sababu hiyo tabia 0. Unaweza pia kuweka 47. Kuwa meza ASCII, kama unaweza kuona, ni tu kitu unapaswa kuwa juu ya jaribio karatasi yako. Hivyo kama hii ni kesi, kama ni chini ya 0-- si lazima na. Ni tu kwenda aidha kwa kuwa chini ya au mkubwa kuliko 9. Hivyo unaweza kujaza hii ya mwisho kwa ajili yangu? Hivyo au s ya i ni nini, Rhea? Watazamaji: Kubwa kuliko 9. ALLISON BUCHHOLTZ-AU: Kuna. Je, hiyo mantiki kila mtu, jinsi sisi got huko? Matatizo haya, wao ni kama mara moja kuona ufumbuzi, ni kama oh, OK. Na hii ni kwa nini mazoezi itasaidia. OK, hivyo sisi kurudi 0. Nzuri. Wote haki. Vinginevyo nini tunataka kufanya? Hii ni sehemu ya kuvutia ambapo ni kidogo zaidi kama math dhidi CS kwa maoni yangu. Je, mtu yeyote kuwa na wazo ya jinsi sisi anaweza kufanya hili? Hivyo jambo muhimu kutambua ni tabia ya kwanza sisi ni kuchukua ni kwenda kuwa na juu ili tarakimu, haki? Hivyo kama sisi ni kuangalia kuwabadili 123, mara ya kwanza sisi iterate ni kwenda kuwa na 1, lakini tunahitaji kwamba kwa kuwa 100 na mwisho, haki? Hivyo jambo moja unaweza kufanya ni kwamba na kila tarakimu baadae wewe kuchukua, wewe kuzidisha thamani yako kwa 10, hivyo kwamba kwa muda kufikia mwisho, kila kitu imekuwa kubadilishwa zaidi, haki? Hivyo mara ya kwanza kukimbia hivyo, una 1 kama thamani yako. Mara ya pili wewe kukimbia, wewe kuzidisha thamani yako kwa 10. Ni mapenzi update hivyo kwamba sasa 10, na kuongeza juu ya thamani yako ijayo. Na kisha kuzidisha kwamba kwa 10 na kuongeza juu ya thamani yako ijayo. Na hii ni kwa nini wanasema hii ni zaidi kama kupima math algorithm dhidi CS, lakini mimi digress. Siandiki Quizzes. Hivyo jambo moja tunaweza kufanya ni sisi kusema mara thamani sawa 10. Hivyo hii ni kwenda na mabadiliko ya tarakimu wako mara moja kila wakati. Na kisha sisi tu unataka kuongeza. Tunataka kuongeza katika kile sisi tu got, haki? Hivyo ni jinsi gani sisi kweli kubadilisha yetu Tabia ASCII katika idadi kwamba inawakilisha? Hivyo tunajua kwamba 0 ni sawa na 47, haki? Hivyo kama ni 0 47, nini ingekuwa sisi kufanya na hayo kwa kweli kufanya hivyo kuwa int ya 0? Watazamaji: Ni 48. ALLISON BUCHHOLTZ-AU: 48? Pole. Tunataka Ondoa 48, haki? Kumbuka ASCII math? Tunaweza kutibu yao tu kama namba kawaida. Kama kutibu yao kama namba, wanakuwa namba ufanisi. Hivyo kama tuna s ya i, ambayo hebu kusema katika kesi hii ni sawa na 0. Hivyo s ya i katika kesi hii itakuwa ASCII-- Int ASCII kwa itakuwa 47. Hivyo tunaweza subtract-- au 48. Unaweza kufanya hivyo, ni njia moja. Je, mtu yeyote kujua bora njia tunaweza kufanya 48? Sisi tu alisema 0 is-- kwenda katika ASCII unaweza kufanya 0 kunukuu. Hivyo haina ni aina ya kufanya maana jinsi hii matendo? Watazamaji: Katika hatua hii, ni thamani 0 kwa sababu hata kama wewe kuzidisha ni kwa 10, wewe ni mapya nje na sifuri, hivyo lazima ni kuwa switched? ALLISON BUCHHOLTZ-AU: Hivyo katika kesi hii, wanataka kuzidisha ni kabla ya kuongeza, kwa sababu katika kesi hii, ndiyo, ingekuwa bado be-- pointer yangu ni kukosa. thamani katika kesi hii, kwanza wakati sisi kukimbia itakuwa sifuri. Hivyo wewe ni kuongeza tu juu ya kwamba tarakimu kwanza. Nini muhimu ni mara ya pili you iterate, unataka kuhama it up kabla ya kuongeza tarakimu ijayo yako juu. Je, hiyo kufafanua kwa ajili yenu? OK. Wakati mwingine wewe kwenda kupata weird zaidi mathy mambo. Kama alikuwa zaidi ya hii, bado ni kwenda kwa get-- wewe ni kwenda kufanya pretty vizuri. Baadhi ya mikopo ni sana Jambo kubwa juu ya CS50 Quizzes. Hivyo kuandika nini kujua. Kama got kila kitu isipokuwa kwa hapa, wewe ni bado kwenda kufanya vizuri tatizo. Kwa sababu wewe ni kuonyesha, OK, mimi karibu kujua. Najua kwamba mimi haja ya iterate kupitia. Mimi najua kile haja ya kuangalia kwa. Mimi si tu kabisa kupata jinsi ya kubadilisha. Wewe kwenda kuwa sawa. Ndiyo, wewe ni kwenda kupoteza pointi wanandoa, lakini bado uko kwenda kupata nzuri idadi ya pointi kwa ajili ya kitu kama kwamba kama wewe ni kukosa mistari hizi mbili. Mimi itakuwa kama OK, mtu huyu anajua nini re kufanya. Math ni ngumu. Hivyo napenda kusema wewe d kuwa faini. OK, hivyo guys tayari kujaribu strlen na kuyatumia sasa kwamba nyie ni mabwana pointer? Hivyo mimi itabidi basi guys kazi juu ya kwamba kwa kidogo. Kama mtu anahitaji rejea. Hivyo unataka kutumia pointer hesabu, na kisha kama s ni null, utekelezaji yako lazima kurudi 0. Mambo kama haya kwamba kufanya wewe kweli furaha tu kuwaita strlen mwisho wa siku. Nadhani hii moja inaweza kuwa ni kidogo rahisi zaidi kuliko moja iliyopita, ambayo ni nzuri. Mimi nitakupa guys dakika nyingine, na kisha tutaweza kufanya kazi kwa njia hiyo. Na kisha sisi kupata kwenda swichi. OK, guys tayari? Labda kidogo. Hivyo nimekuwa kupeni yako chaguzi mbili, haki? Aidha kuangalia kwa batili na kurudi 0 ikiwa ni, au kweli compute urefu. Hivyo ambaye anataka kuandika kuangalia for? Kwenda kwa hayo. Watazamaji: Kama mabano s sawa sawa null kurudi 0. ALLISON BUCHHOLTZ-AU: Lovely. I love wakati nusu tatizo lako ni kuangalia tu kwa ajili ya null. Najua na wewe guys mwisho wiki nilikuwa kama hundi for halisi kila wakati. OK, so-- Watazamaji: Kama kurudi 0 ni line moja tu, sisi bado wanahitaji mabano curly? ALLISON BUCHHOLTZ-AU: Unaweza kufanya si kitaalam haja yao kwa muda mrefu uko thabiti. Ni vizuri mazoezi tu kupata katika tabia ya kutumia braces curly, lakini kitaalam hakuna. Huna haja yao kwa mstari mmoja. Sisi tu huwa na kupendekeza kwa watu kuanza kwa mpango. Hivyo sasa nini kinaweza tunataka kufanya hapa? Hivyo sasa tunajua kwamba kamba yetu ni halali. Tunataka kuweka compute urefu. Nini pengine kwanza Jambo tunataka kufanya? Watazamaji: Kujenga int kwamba urefu. ALLISON BUCHHOLTZ-AU: Hasa. Watazamaji: Na tunataka kuweka kwa? ALLISON BUCHHOLTZ-AU: 0. Kamilifu. Wote haki. Sasa nini wanataka kufanya? Hii ni kweli wingi wa hayo. Kwenda kwa hayo. Watazamaji: Hivyo wewe pengine kufanya kwa kitanzi. Na kisha tangu wakati wewe piga s uko kupata anwani ya jambo la kwanza, ungependa kuanza na i sawa 0. Na kisha kwa muda mrefu kama x pamoja i ni nyuma si kufyeka 0. ALLISON BUCHHOLTZ-AU: null Terminator. Watazamaji: null Terminator. Basi kuongeza moja kwa urefu. ALLISON BUCHHOLTZ-AU: Yeah. OK, hivyo lets kurejea kwamba katika kanuni halisi sana. Lakini hiyo ni wazo kamili. Hiyo ni nini hasa sisi ni kufanya. Tunakwenda kuwa iterating kupitia kwa pointer. Hivyo kile tunataka kufanya ni badala ya int hapa, kwa sababu tuko si akimaanisha yake. Sisi ni akimaanisha mwanzo wa kamba, kwamba kuanza kuwa baadhi ya mitaani, haki? Hivyo tunataka pointer. Hivyo sisi ni kwenda kuwa na baadhi ya nyota Char, kwa sababu ni sambamba na s wetu, haki? Hivyo hii ni baadhi ya hatua sisi ni initializing na kuanza kamba, sawa? Basi hebu tu kuiita i. Kama ni mwanzo wa kamba, nini ni kwenda kuwa kwa ajili ya? Si 0. Tunataka kuwa kuanza ya kamba yetu. Nini inawakilisha mwanzo wa kamba yetu ambayo ilitolewa kwetu? Watazamaji: Tu s. ALLISON BUCHHOLTZ-AU: s. Hivyo hii inajenga baadhi pointer mpya inawakilisha mwanzo wa kamba yetu, sawa? Njia nyingine ya kufikiria ni ni kama hapa safu yetu. Hiyo ni kamba yetu, s. Basi hebu kusema hii ni doa kwanza, na hii ni 0x4. 04. Hii ni s yetu, ambayo inashikilia anwani hiyo. Na sisi tu kuundwa mwingine mmoja aitwaye i kwamba tu inahusu kitu kimoja. Hivyo wao ni wote akizungumzia tu na kuanza kamba yetu. Hii ni uwakilishi graphic. Hivyo sasa nini tunataka kufanya ni tunataka iterate hali yetu kwa iterating kupitia kamba yetu. Sasa ununuzi. Got duka, guys. Ni tunataka kuweka uppdatering mpaka sisi kufikia null Terminator, haki? Hivyo nini kinaweza ili kuangalia kama? Je, tunataka i, au kufanya tunataka nyota i ni swali? Ni null Terminator anwani au kitu iko katika anwani? Iko katika mitaani, haki? Hivyo tunahitaji dereference chochote ni hapa, kwa sababu hii ni baadhi tu ya eneo. Kwa kweli kupata kuanza tunahitaji dereference hii hivyo kwamba sisi kweli kupata nini katika nafasi hii kwanza. Hivyo kama sisi kufanya nyota i, nini sio sisi unataka kwa sawa? Watazamaji: Back kufyeka? ALLISON BUCHHOLTZ-AU: Kuna. Je, hiyo mantiki kwa kila mtu? Tunahitaji kwenda katika kamba yetu na kuhakikisha kwamba si mwisho. Na kisha tunaweza tu update kama hii. Kawaida kuboreshwa. Hivyo muda mrefu kama hizi ni MET, je, sisi haja ya kufanya? Watazamaji: Length pamoja pamoja. ALLISON BUCHHOLTZ-AU: Mm-hm. Na kisha baada ya kwa kitanzi vipoe, je tunataka kurudi? Watazamaji: Length? ALLISON BUCHHOLTZ-AU: Length. Kuna kwenda. Ni wazi nyama ya hii moja ni kuelewa hii kwa kitanzi. Je, kila mtu kupata jinsi kazi? Nina furaha ya kwenda juu yake tena. Watazamaji: wa pili sehemu, hivyo nyota i huko, hiyo ni anwani ya first-- ALLISON BUCHHOLTZ-AU: Ni si ya eneo. Ni nini katika. Watazamaji: Hiyo ni kweli huko. ALLISON BUCHHOLTZ-AU: Hiyo ni nini kweli huko. Hivyo hii ni saying-- basi mimi kufanya hili vizuri. Hivyo hii ni 0x04, na mimi nina kwenda tu kusema mimi nina kwenda kufanya hii kwa jina langu. OK. Ndiyo, Mimi najua kuwa jaribio mapitio usiku wa leo. Kura ya jaribio mapitio. Basi hebu kusema kamba hii ni jina langu, Allison. Kidogo messy, lakini ni huko. Na s inawakilisha eneo ya kamba ambapo kuanza, hivyo mimi nina kwenda kufanya hii real-- hii ni anwani ya, ambapo kamba kuanza, haki? Hivyo kile sisi kufanya hapa ni tunataka kutumia kuyatumia iterate kupitia. Hivyo sisi kujenga baadhi ya pointer, i, kwamba pia ni sawa na mwanzo wa kamba. Na katika kila hatua, tunataka kuendelea kwenda kwa njia ya safu hapa mpaka sisi hit null Terminator. Hivyo sisi daima wanataka kuangalia nini katika kila moja ya anwani hizi. Hivyo sisi dereference i, hivyo kwamba mara ya kwanza sisi kufanya hivyo sisi kusema, OK, nini katika anwani 0x04? Ni a. OK, sisi ni njema. Nyongeza urefu. Kuendelea na moja ijayo. Hivyo i-- kukumbuka kuyatumia kuongezeka kwa ukubwa wa chochote wao ni akizungumzia. Hivyo katika kesi hii, tangu ni Char, utakuwa kuboresha kwa moja. Hivyo sasa sisi ni kwenda kuangalia saa 5, ambayo ina maana ni kwenda zaidi ya hapa. Hivyo anasema sawa, kwenda 0x05. Nini katika huko? Ni l. Na kutakuwa na kuendelea kufanya kwamba mpaka hits hii moja. Na inasema OK, nini katika chochote anwani hii ni? null Terminator, OK. Toka. Na tu kurudi urefu. Sababu unahitaji nini hasa katika anwani kwamba, si anwani yenyewe. Kuna maeneo machache sana ambapo wewe kweli haja ya eneo. Zaidi ya muda wakati unatumia na ni wakati wewe ni wa kwanza kumshirikisha pointer au wakati wewe ni kupita katika kazi nyingine. OK, kila mtu nzuri huko? Aina ya? OK. Hivyo inaonekana kama tumekuwa got kuhusu 12 dakika kushoto, hivyo tutaweza kwenda juu ya labda tatizo letu mwisho, na kisha kuna yoyote dhana kwamba wamekuja katika huo huo tunaweza haraka kwenda juu ya kwamba. Hivyo byte gia ni ya mwisho tatizo hapa, kubadili kauli. Hivyo kazi yako ni kuandika upya hii ili kutenda sawa lakini haina matumizi swichi. Chalky mikono. Hivyo maswali yoyote kuhusu hili mbali bat? Hakuna? OK. Je, kila mtu kuelewa kwamba kama kesi haina kitu chochote baada ya hayo, maana yake ni kwamba ni lazima kufuata hatua ya pili? Hivyo kesi ya 1 na 2 katika kesi hii kufanya exact kitu. Wakati mwingine hatua ya machafuko. Wote haki. Mtu yeyote kuwa na mawazo yoyote? Yeah? Watazamaji: Hivyo unaweza tu kufanya kama kauli. ALLISON BUCHHOLTZ-AU: Mm-hm. Basi nini moja wetu wa kwanza? Watazamaji: Kama n ni sawa sawa na 1, na mistari 2 kwa au sawa n sawa 2, kisha magazeti ndogo. Na kisha unaweza kufanya mwingine kama? Au unaweza tu kufanya kama? ALLISON BUCHHOLTZ-AU: Unaweza kufanya mwingine kama? Watazamaji: Je, ni jambo kama wewe kufanya kama? ALLISON BUCHHOLTZ-AU: Hivyo ni gani. Je anyone-- hivyo, kupata pato sawa kama matumizi ikiwa tu dhidi ya kama wewe kutumia mwingine ikiwa. Unaweza guys kufikiri ya sababu nini unaweza kutaka kutumia mwingine kama dhidi ya mengi ya ikiwa? Ina kwa ufanisi. Yeah? Watazamaji: Ni bila kuangalia ikiwa wote kila wakati. ALLISON BUCHHOLTZ-AU: Hivyo hata kama hit moja hii ya kwanza, ingekuwa kwenda kwenye hundi ya kila mmoja mmoja. Hivyo unataka kutumia kama mwingine ikiwa katika kesi ambapo tu mmoja wao milele kuomba. Hivyo kutengwa kuheshimiana ni nini sisi huwa na kusema. Kama una rundo la ikiwa, ina maana kwamba moja labda zaidi ya wao mambo, na labda zaidi ya mmoja wao unaweza kuwa kweli. Na unataka wote wawili kutekeleza kama uko kweli. Kama wewe tu unataka moja ya kazi yao katika hizi kesi pande kipekee, unataka kutumia mwingine kama, kwa sababu yote ina nini na ufanisi. Kificho wako ni tu bora iliyoundwa kama adheres na tabia hii. Hivyo katika kesi hii tutaweza kuwa mwingine kama. Na hii itakuwa? Watazamaji: n sawa sawa 3. ALLISON BUCHHOLTZ-AU: Perfect. Magazeti ya kati. Na kisha katika mwisho wetu kesi, je tuna? Mwingine au mwingine kama? Watazamaji: Else. ALLISON BUCHHOLTZ-AU: Je sisi want-- Unataka mwingine kama sababu tuna mifano halisi. Si ni aina ya samaki wote. Kama alikuwa default katika switch-- kumbuka katika swichi unaweza kuwa kesi, na kisha una default. Kama alikuwa default, hiyo ni aina kauli yako ya mwingine kuna. Lakini kama ana kesi tu, hiyo ina maana unahitaji kwa kuangalia kuona kama ni ya kila ya wale. Hivyo katika kesi hii, ingekuwa 4 au 5. Tunataka magazeti mbali. Ni kubwa. Na kuna kwenda. Na kwamba itakuwa mpango wako. Hivyo katika kesi hii kama sisi alikuwa default kitu, tunataka kuwa mwingine katika chochote alitaka tufanye. Hivyo kwamba ni tofauti nzuri kujua, kuelewa. Je, hiyo itasaidia kwa swichi kwa ajili yenu? Kamilifu. Wote haki. Sisi kuhusu nane dakika kushoto. Je, guys kuwa yoyote ngazi ya juu dhana nyingine? Maswali kwa ujumla? Ndiyo? Watazamaji: Mimi nilikuwa swali kuhusu mmoja wao kwamba alikuwa karibu random idadi jenereta juu ya jaribio sifuri. ALLISON BUCHHOLTZ-AU: Oh, kwamba moja. Moja kwamba ni mwingine mmoja ambapo ni math zaidi than-- ndiyo. ufumbuzi wa that-- hata mimi wakati Mimi naona ni, mimi nina kama ni kitu gani. Watazamaji: Ilikuwa namba 7. ALLISON BUCHHOLTZ-AU: Ni ajabu kwa maoni yangu. Hivyo kimsingi unataka kutumia drand48, ambayo nitakupa baadhi ya idadi kati ya 0 na 1. Na unataka kutumia hivyo kwamba kwa namna fulani kupata a-- na ni mengi zaidi ya tatizo math kwangu kuliko Nadhani tatizo CS. njia kwamba kufanya it-- na wakati mwingine itakuwa tu kuwa kama hiyo. Tena, haya ni kesi ambapo ni aina ya kama kuandika nini unaweza na sehemu ya mikopo. Hivyo kama tunataka kurudi, Tunajua kwamba sisi ni itakuwa ni ya kutumia drand48 katika baadhi ya njia, haki? Hivyo kwa nini sio sisi tu hata nukta kwamba chini. Sisi ni kutumia katika baadhi ya njia. njia kwamba wana nyie kutumia ni kama hii, ambayo mimi kujaribu na kueleza. Hivyo kimsingi nini kinatokea hapa ni kwa sababu ni kati ya 0 na 1, nini wewe kufanya ni wewe kuzidisha by-- hii ni mengi sana swali math. Tu Kanusho kamili, hii ni kabisa math swali. Nini wewe kufanya ni kwa sababu ya 0 na 1 na wewe unataka kuwa ndani ya mbalimbali huu, wewe kweli kufikiri jinsi kubwa mbalimbali ni, na kisha wewe kimsingi wadogo it up, ambayo ni nini hii ni kufanya. b bala a inakupa kwamba mbalimbali, tofauti kati ya namba hizo. Unaweza kuzidisha kati ya 0 na 1, na kisha kuongeza tu ina maana kwamba wako kuongeza it up hivyo kwamba ni kati ya na b, ambayo mimi si kweli kama tatizo hili. Kama nilivyosema, hii chemsha bongo ni maana ya kuhusisha watu ambao ni chini ya starehe, mahali fulani katika kati, na vizuri zaidi. Hivyo kama wao alifanya hivyo kwamba ni kitu kwamba kila mtu katika chini nafasi ya starehe bila kupata, tunataka kuwa wengi mno watu bao yakamilisha, na vizuri zaidi bila kuchoka. Hivyo daima kuwa hawa aina ya ubongo teaser maswali kwamba ni maana ya kuwa ni kidogo vigumu kwamba kuchukua baadhi ya kufikiri ubunifu. Baada ya kuona yao, hawapati pia stumped. Mimi ingekuwa dhahiri kusema flip kupitia jaribio lako la kwanza. Kukabiliana na matatizo kwamba unajua unaweza, kwa sababu hakuna matumizi kupata kukwama juu ya tatizo wakati kuna tatu au nne au tano juu ya ukurasa baada ya kuwa unaweza kwa urahisi kufanya. Watazamaji: Kwa nini hasa kufanya wewe kuzidisha ni kwa mbalimbali? ALLISON BUCHHOLTZ-AU: Wewe kuzidisha mbalimbali kwamba you know-- ni kama kiasi gani baada ya unataka? Hivyo unaweza kufikiria, kwa sababu anarudi idadi kati ya 0 na 1, unaweza kufikiria ni kama asilimia. Hivyo ni kimsingi akisema kama tuna idadi line yetu hapa, ni hapa, na b ni hapa. Wewe ni kama ni kiasi gani zamani a ni? Ni wote sisi ni kufanya. Hivyo wewe ni kuuliza tu kwa asilimia ya mbalimbali huu, ambayo ni nini ni kutoa. Na kisha kimsingi tu wadogo ni juu na kuongeza. Ni math ubongo teaser. Kama kulikuwa na yoyote ya mwisho ya ushauri dakika, mimi kusema flip kupitia maswali, kufikiri ambayo ndio wewe kujua kwamba kama, oh I got hii. Karibu hakika wao wanaenda kuwa maswali ambayo huwezi kujua au kwamba wewe ni kwenda na wakati kwa hivyo kugonga uwezo wako, sawa? You guys ni kwenda kubwa. Kuna mengi ya maswali kwa sababu, hivyo kwamba una muda wa aina ya kuwa na nafasi kuonyesha nini wewe ni mzuri katika. Hivyo ni sawa kama wewe ni si nzuri wakati kila kitu. Kucheza kwa uwezo wako. Ndiyo? Watazamaji: Hivyo ni hii kwenda kurudi kitu ambacho truncated? Ndiyo, itakuwa, kwa sababu drand anarudi kati ya 0 na 1. Ni itabidi kurudi int, kwa sababu kutakuwa na butu wakati sisi kuongeza au kuzidisha kwa hilo. Baridi. Yoyote dakika ya mwisho maswali? You guys ni kwenda kufanya kubwa. Wewe ni kwenda kuwa Fabulous. Na hata kama si, kutakuwa na kuwa pipi hapa wiki ijayo. Na mimi itabidi love you. Mimi itabidi upendo guys bila kujali. Wote haki, kila mtu, bahati nzuri. Kuwa na muda kubwa. Wewe ni kwenda kuwa na faini. Na unajua nini? Katika siku mbili ni kwenda kuwa juu, ambapo mimi kuwa midterms mbili juu ya Alhamisi, hivyo angalau nyie itafanyika. Haki wote, mimi itabidi kuona guys wiki ijayo.