[Seinm ceoil] DAVID J. MALAN: Gach ceart é seo CS50 agus is é seo an tús na seachtaine cúig. Mar sin, lá atá inniu ann, faoi bhun do cúisíní suíochán, Ní bheidh tú rud ar bith a aimsiú. Ach thar aon rud, ba chóir duit teacht ar na, ar chomhartha beag de ár mbuíochas do gach ceann de na hoibre a chuir tú isteach an Cluiche na cúig cinn déag. Níl ort ach bain an ciorcal beag ar an bun chun tús a imirt le haghaidh an chuid eile den rang. Mar sin, chun cuimhne go bhfuil, nó a fhios go bhfuil fadhb atá leagtha ceithre, a chuaigh amach an deireadh seachtaine seo, Baineann scríobh cluiche eile. Ach an uair seo go mbaineann sé úsáid a bhaint as comhéadan úsáideora grafacha iarbhír, ní comhéadan théacsa cosúil le Cluiche na cúig cinn déag a bhí. Agus an cluiche go luíonn amach romhainn de leat, más rud é nach bhfuil tú le feiceáil go fóill seo chugainn, Breathnaíonn rud beag cosúil le seo. Tá mé ag dul chun dul isteach i mo teirminéal fuinneog anseo i GDB. Agus tá mé ag dul chun dul ar aghaidh agus a reáchtáil ar an réiteach foirne, ar féidir leat rochtain a fháil ar tar éis a reáchtáil cothrom le dáta 50 mar is gnách. Ach tá mé ag dul chun é a chur isteach i beag modh rúnda, beagán Cásca ubh, mar a thugtar modh Dia, ag a chur Dia i argv1. Agus caithfidh mé a leanúint mo treoracha féin, rith sé i mo chuid féin fhadhb a leagtar eolaire. Mar sin anois a fheiceann tú leagan iomlán an cluiche breakout. Go deimhin, is é seo aon-lámha mód. Mar sin, tá sé i ndáiríre - wowed cé go dtiocfadh leat a bheith - go leor fánach a chur i bhfeidhm mód Dia i Breakout, murab ionann agus Cluiche na cúig cinn déag, a d'fhéadfadh roinnt de tú a bheith i ngleic don eagrán hacker. I breakout suffices sé i nDia Modh a dhéanamh ach cad, intuitively leis an paddle? Just a dhéanamh cothrom é le cibé an Is é seasamh cothrománach an liathróid. Agus mar sin fada is a dhéanann tú é seo lockstep le toil an liathróid ag gluaiseacht an cluiche seo riamh, riamh, riamh a chailleann an liathróid agus beidh tú bua gach uair. Ach san eagrán hacker seachtaine seo níl níos mó ná modh Dia. Níl roinnt gnéithe eile. I measc iad, Léasair. Mar sin, go má tá tú a fháil i ndáiríre impatient tú Is féidir tús a lámhach síos na brící agus roinnt eile. Agus dóibh siúd de tú gur mhaith leo a chalabrú caighdeán versus hacker eagrán, is féidir liom a fheiceáil go bhfuil na seachtaine seo Tá eagrán hacker d'aon ghnó a beagán níos doable, a rá, ná Dia mód a bhí le Cluiche Cúig cinn déag. Mar sin, má tá tú ag lorg ar stráice agus bhfuil tú ag lorg roinnt spraoi breise a dhéanann gnéithe Léim i más spéise. Anois níos mó praiticiúil, lig dom pointe amach rud amháin chomh maith. GDB, nach féidir roinnt de tú a bheith fós i dteagmháil léi go pearsanta, a bhfuil fíneáil. Ach tá i ndáiríre an t-am anois a fháil a úsáidtear leis seo agus compordach leis an uirlis seo toisc go mbeidh sé a dhéanamh do shaol i bhfad níos éasca, go fírinneach. In aghaidh an léacht Rob ar GDB cúpla seachtain ó shin, chun cuimhne is é sin GDB dífhabhtóir. Tá sé ina uirlis a ligeann duit reáchtáil do clár ach rith sé céim ar chéim, ag teacht trí líne, ionas gur féidir leat breathnú thart, ionas go mbeidh tú a fheiceáil rudaí ag tarlú, mar sin gur féidir leat a phriontáil amach luachanna na n-athróg. I mbeagán focal, tugann sé leat an oiread sin níos mó dhéanann chumhacht ná printDef. Anois, admittedly, an comhéadan Tá go leor arcane. Dubh agus bán comhéadan théacsúil don chuid is mó. Is iad na orduithe beagán diana a mheabhrú ar dtús. Ach cé go bhféadfadh sé a ghlacadh tú leath uair an chloig, uair an chloig, a chur go upfront infheistíocht ama isteach ann, muinín dom. Cinnte faoi dheireadh seimeastar beidh sé a shábháil tú d'ord méadaíochta níos mó am ná sin. Mar sin, go luath sa Léim seachtaine isteach Agus i dtéarmaí Breakout, tá a fhios go bhfuil tú Is féidir é seo a dhéanamh chomh fada agus a bhfuil tú an chóid dáilte nó do chód féin ar siúl i do eolaire Pst4. Know gur féidir leat a reáchtáil gdb. / Breakout. Tá sé seo ag dul a oscailt suas fuinneog mar seo. Lig dom mé féin a thabhairt níos mó d'fhuinneog teirminéil. Agus ansin cad tá mé ag dul chun dul ar aghaidh agus a dhéanamh, nach bhfuil sé ar siúl ach é. Tá mé ag dul a shocrú ar dtús go pointe sos chun cuimhne, a ligeann duit a sos forghníomhú in áit áirithe. Just a choinneáil ar rudaí simplí Tá mé ag dul a bhriseadh ar líne amháin ach ag clóscríobh an uimhir amháin. Lig dom i ndáiríre ath-oscailt an fhuinneog seo mar tá sé ag fáil beag beag ann. Mar sin, cad mé ag dul anois a dhéanamh anseo é má tá mé ag oscailt suas mo fhuinneog críochfort. Come on, tá muid ag dul. Mar sin anois má théann mé ar ais go dtí dropbox, Pst4 agus a reáchtáil gdb. / breakout isteach, fógra Tá mé ag dul a bhriseadh amháin a chur ar bun pointe sos ag líne amháin. Agus anois tá mé ag dul chun dul romhainn agus cineál reáchtáil. Agus nuair a dhéanann mé, faoi deara aon rud is cosúil go dtarlóidh. Níl aon pop suas. Níl aon grafacha comhéadan úsáideora fós. Ach tá go intuigthe mar go bhfuil mé literally ar líne amháin i mo chlár. Agus faoi deara go bhfuil mé ar aghaidh go tapa, go sonrach anois go dtí 62, mar gheall ar gach Is é an stuif ag barr an gcomhad seo rudaí cosúil le tuairimí agus tairisigh agus uninteresting stuif le haghaidh anois. Mar sin, anois tá mé taobh istigh de phríomh, Dealraíonn sé, ar líne 62. Agus é seo ach an dáileadh Cód, chun cuimhne. Má mé a oscailt suas seo ag dul, mar an gcéanna, isteach i mo eolaire bhosca titim isteach Pst4, i breakout.c. Agus má scrollú mé síos agus síos agus síos, agus lig dom dul ar aghaidh agus cas ar mo uimhreacha líne. Cad Feicfidh mé a fheiceáil, má scrollú mé síos go dtí líne 62 Is é, go díreach ar an líne go tá muid ar shos ar. Mar sin anseo, tá 62 líne seo, áit a bhfuil muid ar tí é a bheith. Mar sin, anois i GDB, má théann mé amach romhainn agus cineál anois chugainn, cuir isteach é ag dul ar a fhorghníomhú an líne sin. Agus voila, ní mór dúinn an mar a thugtar fhuinneog g. Má tá cur amach acu ar cad a GWindow Is é, gan a bheith buartha. Beidh an spec tú a thabhairt isteach chun é, mar maith le roinnt de na físeáin walkthrough leabaithe sa spec. Ach anois a ligean ar a dhéanamh ar an beagán níos suimiúla. Lig dom bogadh an fhuinneog os cionn go dtí an taobh le beagán. Lig dom a dhéanamh ar an fhuinneog beag níos mó mar sin is féidir liom a fheiceáil níos mó. Agus anois lig dom dul ar aghaidh agus a dhéanamh amach romhainn arís. Agus tá mo brící. Má chlóscríobhann mé seo chugainn arís anois mé a fheiceáil ar an liathróid. Agus má mé cineál seo chugainn arís anois mé a fheiceáil ar an paddle. Agus fortunately nach bhfuil sé seo gedit i ndáiríre comhoibriú ag taispeáint liom gach rud ba mhaith liom. Ach anois má dhéanann mé seo chugainn arís, seo chugainn arís, tá mé díreach tar dhearbhú roinnt athróg. Agus is féidir liom a phriontáil amháin bith de na guys amach. Brící Priontáil, saol priontaí. Agus anois má leanann mé a dhéanamh eile, faoi deara go mbainfidh mé a bheith taobh istigh den lúb. Ach tá an cód ag dul a fhorghníomhú díreach mar atá mé ag súil leis. Mar sin, nuair a bhuail mé an fheidhm seo, Fan le haghaidh Cliceáil, tá sé ag dul a dhéanamh sé literally sin. Mar sin, an chuma liom a bheith caillte rialú thar an gclár. Ní GDB a thabhairt dom eile go pras. Ach ní a bheith buartha. Téigh go dtí mo cluiche, cliceáil ar áit éigin. Agus voila, anois sé ag dul chun líne 86. Mar sin, arís, tá sé thar a bheith luachmhar, ar deireadh thiar, le haghaidh fadhbanna debugging. Toisc gur féidir leat céim literally trí do chód, rudaí a phriontáil amach agus i bhfad, i bhfad, níos mó. Ach do anois, ach na huirlisí ina n-aonar Ba chóir a gheobhaidh tú go leor i bhfad. Mar sin, tá muid, ar ndóigh, ag cur le breathnú ag Graphics anois, ar fad ar tobann. Agus anois faigheann ár saol beag níos suimiúla. Agus tá a fhios agat, b'fhéidir, ó roinnt de na físeáin ar líne go bhfuil na shorts go atá tú ag faire mar chuid de shraith bhfadhb. Agus tá siad ag lámhaigh, d'aon ghnó, i gcoinne cúlra bán. Agus tá cuid acu an teagaisc Comhaltaí tarraingt roinnt téacs ar an scáileán go bhfuil forleagtha ar an taobh acu. Ach ar ndóigh, nach bhfuil sé seo go léir go suimiúil ar fud an domhain fíor. Is é seo ach halla léachta le scáileán bán mór agus a chúlra. Agus ár bhfoireann iontach saghas léiriúcháin de gach rud a dhéanann cuma álainn tar éis an méid sin trí cropping amach nó fhorleagan rud ar bith a dhéanann muid nó nach mian. Anois, ach a spreagadh an tseachtain seo agus i ndáiríre, áit ar féidir leat dul, ar deireadh thiar, leis an eolaíocht ríomhaireachta. Ní díreach tar éis fhadhb a shocrú ceithre. Ach tar éis cúrsa eile nó ar fad curaclam tá sé iontach an méid is féidir leat a dhéanamh ar na laethanta i dtéarmaí grafaicí go háirithe. D'fhéadfadh roinnt de agat le feiceáil seo ag sileadh timpeall ar líne. Ach shíl mé gur mhaith liom a thaispeáint duit, le haghaidh ach cúpla nóiméad, le léargas ar cad teicneolaíocht ríomhaireachta agus cad CGI, Is féidir le grafaicí ríomhaire a dhéanamh ar na laethanta le amhrán ar an eolas agus b'fhéidir scannán. [CEOL - Lana Del Ray, "Óg agus álainn] Cainteoir 1: Tá sé ach beagán iontach, b'fhéidir, ach conas omnipresent - [Bualadh bos] Cainteoir 1: Íoslódáil mé díreach tar éis é. Ach tá sé i ndáiríre iontach, I mo thuairimse, ach conas a bogearraí omnipresent agus cód agus Tá uirlisí mar seo i ndáiríre. Mar sin tá go bhfuil blas an treo inar féidir leat dul. Ó, níl Fearas níos mó lá atá inniu ann. Bhuel, tá go uainiú i ndáiríre tragóideach mar gheall ar an bpointe Rinne mé díreach tar éis a dhéanamh. Gach ceart, mar sin a ligean ar sheoladh Comhleá arís. Cuir i gcuimhne dom níos déanaí. Gach ceart, agus ba chóir duit a fuair an ríomhphost mar leataobh má rinne tú a fháil faoi ​​deara mar sin. Gach ceart, mar sin chun cuimhne go bhfuil an tseachtain seo caite thosaigh muid a craiceann ar ais seo ina dhiaidh sin ar a dtugtar teaghrán. Meabhraíonn teaghrán le cineál sonraí go dearbhaíodh sa leabharlann CS50. Agus tá sé mar chuid de na rothaí oiliúna a chuirfidh tús anois chun éirí de thalamh. Bhí sé ina coincheap úsáideach go luath ar. Ach anois tá sé ag dul a fháil níos mó suimiúil agus níos cumhachtaí chun fheiceáil i ndáiríre go thíos an cochall, Is teaghrán díreach cad, raibh a dúirt muid? Yeah, mar sin tá sé ina sin ar a dtugtar Char *. Agus seasann an * ann go níl de shaghas éigin seoladh i gceist. Agus mar sin nuair a deir tú ruabhric * i gceist agat go díreach Is é athróg a bhfuil a sonraí de chineál a pointeoir anois. Ar an bhfíric go níl an réalta ann Ciallaíonn sé sin go díreach a bhfuil tú á dhearbhú mar a thugtar pointeoir. Agus is é sin pointeoir ag dul go dtí cosúil stóráil an seoladh, ar ndóigh, a ruabhreac. Anois, cén fáth seo ciall? Bhuel, cad é teaghrán thíos an cochall? Bhuel, ar feadh tamaill tá muid ag rá go bhfuil ar shraith faoi bhun an cochall ach h-r-l-l-o, mar shampla. Ach tá muid Labhair faoi seo mar a bheith, go bunúsach, le sraith. Agus ba mhaith le sraith ansin breathnú ar beag níos mó cosúil le seo, le gach ceann de na rachaidh sé i mbun a bite. Agus ansin tá muid dúirt go níl rud éigin speisialta ar ais anseo, an cúlslais 0, nó null terminator. Mar sin, am seo go léir, seo anseo tá sé ina teaghrán. Ach i ndáiríre, is teaghrán iarbhír ar seoladh. Agus seoltaí, mar beidh orainn a fheiceáil, is minic réimír 0x le de réir an ghnáis. Cad a dhéanann 0x in iúl? An bhfuil fhios ag aon duine? Mar sin, ciallaíonn sé ach heicsidheachúlach. Mar sin, d'fhéadfadh tú chun cuimhne, i ndáiríre, ó PST 1, creidim, ar cheann de na te-suas Ceisteanna ndáiríre faoi nodaireacht heicsidheachúlach sa bhreis ar dénártha agus dheachúlach. Agus is é an spreagadh anseo go le heicsidheachúlach tá tú 16 California ar fáil duit. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ina dhiaidh sin ag a, b, c, d, e, f. Agus má tá tú ag comhaireamh siúd go léir ar bun, gheobhaidh tú iomlán de 16. Mar sin, tá sé seo i gcodarsnacht le dheachúlach, áit a bhfuil muid 10 California, 0 trí naoi. Tá sé i gcodarsnacht leis an dénártha áit a bhfuil muid díreach 0 agus 1. Ach ag deireadh an lae is féidir leat ach ionadaíocht a dhéanamh ar líon na céanna, ach beagán difriúil. Agus is é heicsidheachúlach coitianta mar gheall ar mar Casadh sé amach - agus beidh orainn a fheiceáil seo níos déanaí sa chúrsa - fiú nuair a fhaigheann muid chun cláir gréasáin i gcomhthéacs HTML agus cóid dath, Is heicsidheachúlach deas. Mar gheall ar gach dhigit casadh, amach, Léiríonn ceithre giotán breá. Mar sin, de chineál ar sé ach na línte suas nicely mar beidh orainn a fheiceáil sa deireadh. Mar sin, d'fhéadfadh sé seo a bheith Ox123 nó rud éigin mar sin, á chur in iúl seoladh 123 áit éigin taobh istigh de mo cuimhne ríomhaire. Ach ar ndóigh, tagann roinnt fadhbanna mar gheall ar seo is bun chur i bhfeidhm. Agus cuimhne gur thóg mé stab ag a chur i bhfeidhm feidhm mar seo - comparáid a dhéanamh idir Fleasc 0 ponc c tseachtain seo caite, go cé go fhéach sé cosúil go raibh sé ceart, sé nach raibh ach i gcomparáid dhá teaghráin i gceart. Tá mé thrown away is mó, agus mé thrown shiúl na tuairimí ach chun díriú isteach ar an Cód go spéise anseo. Agus tá sé i dearg mar tá sé Buggy. Cén fáth ar? Bhuel, ag an mbarr nuair a dhearbhófar mé teaghrán, bhí cad ag dul i ndáiríre ar thíos an cochall? Bhuel, lig dom dul ar aghaidh go dtí an scáileán anseo agus a tharraingt go. Mar sin, dhearbhaigh mé, arís, GetString teaghrán s. Mar sin, tá mé ag dul chun dul ar aghaidh anois agus tharraingt s ar a bhfuil sé i ndáiríre. Tá sé seo ag dul a bheith ina cearnach anseo. Agus mé ag dul a éileamh sin sin 32 giotán. Ar a laghad tá sé de ghnáth, ar a laghad, ar an CS50 fearas i go leor de na ríomhairí. Tá mé ag dul a ghlaoch air s. Ach chun cuimhne go bhfuil muid anois ar a dtugtar GetString. Tuairisceáin sin GetString, ar ndóigh, ar shraith. Má tá na cineálacha úsáideora i h-r-l-l-o isteach an teaghrán Faigheann Dia duit ar ais. Agus go téad, mar a dúirt muid díreach foircinn, suas áit éigin i do ríomhaire a chuimhne le 0 cúlslais ag an deireadh. Feicfidh mé a tharraingt seo cosúil leis an sraith - nó bloc tadhlach de charachtair - go bhfuil sé i ndáiríre. Agus anois, tá cad GetString i ndáiríre ar ais? Cad tá GetString ag filleadh ar fad an am seo? Bhuel, a rá againn, i seachtainí roimh ré, tuairisceáin sé ar teaghrán. Ach níos mó go teicniúil, cad a dhéanann GetString ais cosúil? LUCHT ÉISTEACHTA: An sráide. Cainteoir 1: An sráide. Go sonrach tugann sé an seoladh ar an-an chéad bite, is cuma cad é. Mé a choinneáil ach ag baint úsáide as ceann amháin, dhá, trí mar tá sé áisiúil. Tuairisceáin sé an seoladh an chéad carachtar sa téad. Agus dúirt muid an tseachtain seo caite go go bhfuil go leor. Toisc gur féidir linn a dhéanamh amach i gcónaí nuair an deireadh an teaghrán díreach ag iterating níos mó ná é, b'fhéidir, le haghaidh lúb nó lúb fad nó rud éigin cosúil le go bhfuil, díreach ag lorg "cúlslais 0", an carachtar fairtheora speisialta. Agus ansin a fhios againn go bhfuil an teaghrán tharlaíonn a bheith ar fad - sa chás seo - cúig. Mar sin, cad a dhéanann go teicniúil GetString Tá tuairisceáin sé Ox123 sa chás seo. Agus go teicniúil cad a tharlaíonn ansin go siopa againn, taobh istigh de s, Ox123. Ag deireadh an lae, cé seo Tá coincheap nua, leideanna, tá siad díreach athróg. Ach a tharlaíonn siad a stóráil giotán go dteannta a ionann na sráide. Mar sin, go teicniúil go léir a fhaigheann siad stóráil i s Ox123. Ach againn mar dhaoine - lena n-áirítear lá atá inniu ar aghaidh - nach bhfuil i ndáiríre ag dul chun aire a thabhairt, de ghnáth, cad é an seoladh iarbhír ar roinnt smután de chuimhne. Tá sé díreach go dtí an leibhéal íseal de mion a bheith suimiúil go hintleachtúil. Mar sin, tá mé ag dul chun Cealaigh an. Agus ina ionad sin, leibhéal níos airde, ach a rá nuair a bhíonn muid ag caint faoi leideanna Tá mé ag dul a tharraingt ach níos mó arrow áisiúil don úsáideoir a thugann an smaoineamh céanna agus achomaireachtaí ar shiúl an sonraí i dtaobh cad é an iarbhír Is é seoladh bunúsacha. Anois, má théann muid ar ais leis an gcód, cad tharla an tseachtain seo caite má tá muid teaghrán t ionann GetString? Bhuel, má tá mé arís chineál, i Dia duit an uair seo tá mé ag dul a fháil smután eile de chuimhne. h-r-l-l-o cúlslais 0. Ach mar gheall ar iarr mé GetString an dara huair - agus tá a fhios agam seo ó féachaint ar an cód foinse do GetString - fiú cé go bhfuil sé coincidental go raibh dia duit clóscríofa i dhó, nach bhfuil GetString dul chun iarracht a bhaint as agus a bheith cliste. Tá sé ag dul ach a fháil smután eile de cuimhne as an ríomhaire, atá ag dul a bheith ag seoladh eile. Ligean ach a rá treallach 456. Agus ansin cad atá sé ag dul a thabhairt ar ais? Tá sé ag dul a thabhairt ar ais 456 agus é a stóráil in t. Mar sin, cad atá ag dul i ndáiríre ar, ar an Tá taobh na láimhe clé tá mé smután eile de chuimhne, 32 giotán de ghnáth. Agus is é in ann dul chun dul Ox456. Ach arís, ní Tá suim agam sna líon áirithe níos mó. Tá mé ag dul díreach tar éis a abstractly tharraingt air mar arrow. Mar sin, tá sé seo anois míniú nua. Ach tá sé an smaoineamh céanna cruinn go ag tarlú fad an am seo. Agus mar sin ar an gcúis sin, go bhfuil an chéad Bhí leagan de chur i gcomparáid leis Buggy Is é an tseachtain seo caite cén fáth? Nuair a dhéanann tú má bhíonn s ionann t cad tá tú ag fíor thíos an cochall i gcomparáid? Tá tú ag gcomparáid seoltaí. Agus díreach intuitively, go soiléir, Ox123 nach bhfuil dul chun cothrom Ox456. Na huimhreacha sin, na píosaí Tá díreach éagsúla. Agus mar sin go comhsheasmhach, an tseachtain seo caite dúirt sé chlóscríobhann tú rudaí éagsúla, fiú má tá an focail a bhí focal ar fhocal mar an gcéanna. Mar sin, linn seo a shocrú. I dtéarmaí layman, cad a bhí an shocrú? LUCHT ÉISTEACHTA: Bain úsáid as feidhm. Cainteoir 1: Bain úsáid as feidhm. Nó réaltaí i gceist cinnte, ach úsáid a bhaint as feidhm a dhéanamh cad? LUCHT ÉISTEACHTA: Chun comparáid a dhéanamh an teaghráin. Cainteoir 1: Chun comparáid a dhéanamh idir na teaghráin. Mar sin, an fhadhb bhunúsach anseo bhí go raibh mé ag smaoineamh ach an caighdeán na teaghráin a bheidh sainmhínithe ag comparáid a dhéanamh idir a gcuid seoltaí. Agus ar ndóigh go díreach balbh anois uair amháin go dtuigeann tú cad atá ar siúl thíos an cochall. Chun comparáid a dhéanamh go fírinneach teaghráin a fheiceáil má tá siad comhionann ar an mbealach go bhfuil an duine ndéanfaidh siad machnamh ar dhá teaghráin a bheith comhionann ní mór dúinn a chur i gcomparáid leo carachtar le haghaidh carachtar do charachtar. Anois raibh mé in ann a bheith déanta seo tediously an-. Ach familiarly, tá muid ag baint úsáide as do lúb. Agus díreach i gcomparáid s lúibín i gcoinne t lúibín i. s lúibín i móide 1 in aghaidh t lúibín i móide 1, agus mar sin de, taobh istigh de shaghas éigin lúb. Agus má láthair mé aon dá carachtair go éagsúil, nó má realize mé go ooh, tá s níos giorra ná t nó níos faide ná t Is féidir liom a rá díreach bréagach, ní bhíonn siad mar an gcéanna. Ach má fhaigheann mé tríd s agus t agus a rá céanna, céanna, céanna, céanna, céanna, deireadh dá teaghráin, is féidir liom a rá fíor, tá siad comhionann. Bhuel, buíochas le Dia, bliain ó shin duine éigin Scríobh go cód le haghaidh dúinn. Agus d'iarr siad é StrComp le teaghrán i gcomparáid. Agus cé tá sé ina beag gcuntar iomasach, tuairisceáin StrComp 0 má bhíonn na dhá teaghráin, s agus t an gcéanna. Ach ar ais é luach diúltach má s ba chóir a thagann os comhair t ord aibítre nó luach dearfach má ba chóir dó teacht tar éis t ord aibítre. Mar sin, más mian leat riamh rud éigin a shórtáil, casadh sé amach go bhfuil StrComp úsáideach. Toisc nach bhfuil sé ach a rá yes nó gan aon, cothrom nó nach bhfuil. Tugann sé tuiscint ar ordú duit Is maith a d'fhéadfadh foclóir. Mar sin, StrComp, is ionann í camóg t is ionann 0 Ciallaíonn sé sin an Tá teaghráin fíor cothrom. Mar gheall ar mo dhuine a scríobh an fheidhm seo bliain ó shin a úsáidtear is dócha a d'lúb nó lúb fad nó rud éigin mar sin a chomhtháthú thar na carachtair arís agus arís agus arís eile. Ach tháinig dhá fhadhb anseo. Bhí sé seo copy0.c. Agus is é an dhá cheann i dearg mar tá sé lochtach. Agus cad a rinne muid anseo? Bhuel, ar an gcéad iarr mé GetString. Agus a stóráil mé an luach ar ais i s. Mar sin, tá go leor i bhfad mar an gcéanna an chuid is fearr de na pictiúr. Ach cad a thagann ina dhiaidh sin? Bhuel, lig dom dul ar aghaidh agus a fháil réidh de a bunch iomlán de seo. Beidh muid athchasadh in am chun áit againn ach Tá s, atá anois i gcomhréir le líne amháin suas ann. Sheiceáil mé. Má cothrom le s ionann agus 0. Anois, nóta taobh tapa, nuair a D'fhéadfadh GetString ais 0? Ní Tá go leor cuimhne. Ceart? Is annamh go bhfuil seo ag dul a tharlóidh, cinnte ar ríomhaire go Fuair ​​na céadta Megs nó fiú ceolchoirmeacha de RAM. Ach d'fhéadfadh sé, go teoiriciúil, ar ais 0, go háirithe má tá an Ní úsáideoir comhoibriú le chéile. Níl bealaí chun ligean cosúil nach bhfuil tú rud ar bith ionchurtha agus cleas GetString i filleadh 0 héifeachtach. Mar sin, tá sé ag dul a sheiceáil le haghaidh sin. Toisc má aon cheann de tú a bheith tosaithe a fháil, cheana féin, lochtanna deighilt - a bhí dócha go bhfuil foinse de roinnt frustrachas - iad siúd atá beagnach i gcónaí ar an toradh de chuimhne a bhaineann le earráid. Bhealach messed tú suas i dtaca le pointeoir, fiú amháin más rud é nach raibh tú realize bhí pointeoir. Mar sin, d'fhéadfadh tú a bheith spreagtha deighilt lochtanna chomh luath agus is seachtain amháin ag baint úsáide as rud éigin cosúil le do lúb nó ar feadh tamaill lúb agus eagar ag dul i bhfad ró anuas na teorainneacha roinnt eagar go dhearbhú agat, i seachtain dhá i ar leith. D'fhéadfá a bheith déanta air fiú i fhadhb leagtha ceithre le Breakout. Cé go bhfuil tú nach bhfuil le feiceáil is dócha aon réaltaí sa chód dáilte le haghaidh Breakout, casadh sé amach go bhfuil na GRect agus nithe den sórt sin GOval agus eile, iad siúd atá i ndáiríre leideanna thíos an cochall. Ach Stanford, cosúil le linn, saghas seithí go mion ar a laghad le haghaidh na leabharlanna críocha, i bhfad mar a dhéanann muid le téad agus ruabhreac *. Ach GRect agus GOval agus gach ceann de na Beidh rudaí a bhfuil tú guys nó a bheith ag baint úsáide as an tseachtain seo ndeireadh na dála seoltaí cuimhne. Tá tú ní hamháin bhfuil a fhios dó. Mar sin, nach bhfuil sé iontas ansin, b'fhéidir, go mb'fhéidir go mbeadh tú turas thar roinnt lochtanna deighilte. Ach cad atá suimiúil anseo anois, más tar éis a sheiceáil muid 0 dhéanaimid teaghrán t Faigheann s. Bhuel, lig dom a dhearbhú t. Tá mé ag dul chun é a dhearadh mar cearnóg, 32 giotán, ghlaoch air t. Agus ansin tá mé ag dul a dhéanamh go bhfaigheann s. Bhuel, cad a chiallaíonn? Bhuel, tá sé ina beag deacair a smaoineamh faoi ​​pictiúr sé ciallmhar. Ach a ligean ar smaoineamh ar cad atá taobh istigh de x? Cad é literally taobh istigh athróg seo? An Ox123 luach. Mar sin, nuair a rá agam go bhfaigheann teaghrán t s, go díreach literally ciallaíonn a chur ar an líon i s, a bhfuil Ox123 agus é a chur Ox123. Nó go pictiúrtha, má tá mé cineál teibí ar shiúl ó go mion tá sé an éifeacht literally ag déanamh seo chomh maith. Mar sin anois, smaoineamh ar ais go dtí an tseachtain seo caite nuair a chuaigh muid go caipitlí T. mé Rinne T lúibín 0. Bhuel, T lúibín 0, cé tá sé ina pointeoir, is féidir leat é a chóireáil mar cé go tá sé eagar, le cearnóg nodaireacht lúibín. Mar sin, nuair T lúibín 0? Bhuel, tá sé an h. Agus mar sin nuair a úsáideann muid an líne de chód, dhá uachtarach, a bhfuil sa mhéid is go type.h c comhad header, go bhfuil an áit tá sé dearbhaithe. Tá tú ag caipitliú seo H. Ach de ndóigh, tá go bhfuil an h céanna cruinn go taobh istigh de s, mar a déarfá. Agus mar sin anois tá tú ag athrú nó caipitlithe araon an bunaidh agus an mar a thugtar orthu cóip. Toisc nach raibh tú cóip a dhéanamh sa bhealach go mbeadh duine ag iarraidh é a bheith. Mar sin, cad a bhí ar an shocrú anseo, i copy1.c an tseachtain seo caite? Feidhmeanna, mar sin d'fhéadfadh muid i ndáiríre cóip an teaghrán. Agus go bunúsach, cad is gá dúinn a a dhéanamh d'fhonn a chóipeáil an teaghrán? Bhuel, sa leagan seo glas anseo tá mé ag dul a dhéanamh leibhéal measartha íseal. Tá iarbhír feidhmeanna d'fhéadfadh siad cabhrú leis seo. Ach an ceann is bunúsaí, agus an chuid is mó ceann ar an eolas, ar a laghad, a bheith go luath eolas a chur chugainn é, an méid seo a leanas - mar sin amháin ar an chéad líne de chód i glas anois. Rewrote mé díreach mar atá Char *. Níl aon feidhmiúil difríocht ann. Chaith mé díreach ar shiúl an leabharlann CS50 agus Tá mé ag iarraidh é a bhfuil sé, a ruabhreac *. Anois ponc, ponc, ponc, toisc go raibh roinnt seiceáil earráid ní go suimiúil chun labhairt faoi arís. Mar sin, anois tá t dhearbhú. Tá sé ró-ruabhreac *. Mar sin, tharraing mé cearnóg beag ar an scáileán mar a bhíodh. Ach ar an taobh na láimhe deise, malloc, Dúirt muid go bhfuil cuimhne a dháileadh. Mar sin, leithdháileadh roinnt smután de chuimhne. Agus cé mhéad a dhéanann muid i ndáiríre bytes ag iarraidh a leithdháileadh bhfuil, is cosúil sé? Bhuel, an fad teaghrán de s. Mar sin, má tá sé Dia duit go bhfuil ag dul a bheith cúig. Beidh orainn a rá h-r-l-l-o. Mar sin, cúig bytes. Ach ansin móide 1, cén fáth 1? An 0 carachtar. Más rud é nach bhfuil muid a fhágáil seomra do Guy seo againn D'fhéadfadh a chruthú thaisme staid áit a bhfuil an teaghrán h-r-l-l-o. Agus is é an chéad uair eile GetString ansin ar a dtugtar agus mé cineál i, mar shampla, David, D-a-v-i-d, tá an ríomhaire ag dul a cheapann go bhfuil s i ndáiríre h-r-l-l-o-d-le-v-i-d mar níl aon bhriseadh i idir na focail sin. Mar sin, ní mór dúinn a bhriseadh. Mar sin, nach bhfuil muid ag iarraidh cúig. Ba mhaith linn sé bytes. Agus a rá liom bytes. Ach tá sé i ndáiríre méid ama de Char. Go teicniúil Char Tá beagnach i gcónaí le beart amháin. Ach amháin a dhéanamh ar ár cód iniompartha, sin a labhairt, ionas go n-oibríonn sé ar ríomhairí éagsúla fiú má d'fhéadfadh siad a bheith beagán difriúil thíos an cochall, tá mé ag dul go dtí cineálach Deir méid Char ionas go mo cód ag obair i gcónaí. Agus ní dóigh liom go bhfuil sé ach recompile mar gheall ar mé a uasghrádú mo ríomhaire nó úsáid roinnt ardán éagsúla. Mar sin, fuair mé 6 huaire an méid de a ruabhreac, a tharlaíonn a bheith 1. Mar sin, d'fhéadfadh a chiallaíonn go malloc a thabhairt dom sé bytes. Cad é sin a dhéanamh i ndáiríre? Bhuel, lig dom a rolladh ar ais in am anseo chun áit a bhfuil muid sa scéal. Mar sin, má théann mé ar ais anseo, tá mé a dhearbhú a * ruabhric a dtugtar t. Tá mé ar a dtugtar anois malloc ar feadh sé bytes. Agus anois tá mé ag dul a tharraingt na sé bytes díreach cosúil leis an eagar níos luaithe. Ach ní i ndáiríre a fhios agam cad atá taobh istigh seo eagar. Má leithdháileadh tú cuimhne casadh sé amach go Ní féidir leat muinín go bhfuil roinnt luach ar a dtugtar ann. D'fhéadfadh sé a bheith in úsáid ag rud éigin eile, roinnt feidhm eile, cuid eile líne de chód gur scríobh tú. Mar sin, beidh muid ag glaoch ginearálta na truflais luachanna agus a tharraingt orthu, b'fhéidir, mar marcanna gceist, ach léiríonn go bhfuil muid ag níl a fhios cad atá ann i ndáiríre. Agus sin aon déileáil mór chomh fada agus muid ag Tá cliste go leor a fhorscríobh siúd Luachanna truflais le huimhreacha nó chars go cúram againn faoi. Mar sin, sa chás seo cad tá mé ag dul a dhéanamh? Bhuel, cód mo líne seo chugainn, tá mé ceithre. INT fháil i 0, faigheann n an fad teaghrán de s. Mar sin, eolas do lúb. Tá mé níos lú ná nó cothrom le n, a bhfuil de ghnáth thuas. Ach an uair seo tá sé d'aon ghnó. I + +, agus ansin is féidir liom go simplí t lúibín i faigheann s. Toisc go Breathnaíonn mo pictiúr mar seo ag an nóiméad seo, a stóráiltear i t é an seoladh an smután randamach de chuimhne Is iad na luachanna a bhfuil anaithnid. Ach chomh luath agus is féidir liom t lúibín 0 go gcuireann dom anseo. Agus cad a chríochnaíonn suas ag dul tarraingthe ann? Deireadh muid suas ag cur h. Toisc go bhfuil an méid atá ag s lúibín 0. Agus ansin an rud céanna le haghaidh e, agus l, agus l, agus o. n, cén fáth go raibh mé ag dul suas trí ar cothrom le n? Mar gheall ar an carachtar 0. Mar sin, ach a bheith soiléir, ansin, má tá mé i ndáiríre Léirscrios is cuma cad na truflais Is iad na luachanna agus ansin a tharraingt i ndáiríre i cad a bheith ag súil agam, is é seo s lúibín 1, 2, 3, 4, móide go bhfuil trailing carachtar nua. Agus mar sin anois má lean muid thar an ponc, ponc, ponc sa leagan seo ceart agus caipitlithe t lúibín 0 Ba mhaith liom, de ndóigh, a bheith caipitliú díreach seo Guy anseo, a choincheapa de, Bhí deireadh thiar an sprioc. Mar sin tá go bhfuil gach an pointeoir. Agus tá tú ag baint úsáide as iad le haghaidh seachtain anois i gcomhthéacs na teaghráin. Ach thíos an cochall a bhíonn siad beagán níos casta. Ach má cheapann tú faoi dóibh i mbun an bhfoirm phictiúrtha liom a mholadh go bhfuil siad is dócha nach léir go scary mar atá siad d'fhéadfadh dealraíonn sé ar dtús ag an gcéad amharc, go háirithe leis error nua den sórt sin. Ceisteanna ar bith ar leideanna, teaghráin, nó gualann sé? Yeah? LUCHT ÉISTEACHTA: An féidir leat dul ar ais leis an [inaudible]? Cainteoir 1: Cinnte. LUCHT ÉISTEACHTA: Mar sin, conas a thagann i do deireanach an- líne, ní gá duit a bheith t Líne * agus a * s sa líne? Nach bhfuil an tagairt don tú - Cainteoir 1: Ah, ar cheist gur maith. Cén fáth nach bhfuil mé * t agus a * s? Toisc go hachomair, an tseachtain seo caite, ar nós inár babhtála fheidhm, raibh a rá liom go bhfuil nuair a atá tú a fuair a pointeoir ar na bealaí a théann tú ann mar a rinne muid go fisiciúil ar an stáitse, a bhí i ndáiríre úsáid a bhaint as an t-oibreoir réalta. Casadh sé amach go bhfuil an cearnach-scriosaidh Tá nodaireacht cad beidh muid ag glaoch syntactic siúcra, a bhfuil ach ar bhealach sexy de ag rá sé nodaireacht luathscríbhneoireachta le haghaidh díreach cad tá tú ag cur síos. Ach tá sé ina beagán níos iomasach. Agus ag an riosca a dhéanamh cosúil seo níos mó casta ná mar ní mór é a bheith, cad atá ar siúl i ndáiríre ar anseo Is é seo a leanas - Má rá liom * t go ciallaíonn dul chun an seoladh atá stóráilte i t. Mar sin, literally, má tá t stóráil an seoladh an h ar dtús, * ciallaíonn t téigh anseo. Anois, cad t lúibín 0 chiallaíonn? Rud céanna cruinn. Tá sé ach úsáideoir beagán níos mó cairdiúil a scríobh. Ach níl mé ag déanamh go fóill. Ní féidir liom a rá díreach * t Faigheann * s. Toisc go mbeadh cad mé ag déanamh ansin? Ba mhaith liom a bheith ag cur h, h, h, h, h ar fud an rud ar fad. Ceart? Toisc go bhfuil * t dul go dtí an seoladh seo in t. Ach tá muid taobh istigh de lúb. Agus cad luach mé incriminteach a bheith agam, ar ndóigh, ar gach atriall? i. Ach níl deis anseo, ceart? Cé go mothaíonn seo cosúil tá sé ag fáil beagán níos sofaisticiúla ná an nodaireacht cearnach-scriosaidh táimid Bainim úsáid as ar feadh tamaill - lig dom Cealaigh mo athrú h ann - cé go bhfuil seo ag dul anois beag fancier, an smaoineamh bunúsach, má * t Ciallaíonn anseo agus * t ach téigh go dtí an seoladh seo in t. Ach cad a bhí an seoladh i t? An líon a choinneáil orainn ag baint úsáide as? Cosúil Ox456, a ligean ar thabhairt ar ais díreach ar mhaithe le plé. Bhuel, más mian liom a fháil ar an e i t teaghrán, ba mhaith liom ach chun dul go dtí, go bunúsach, 456. Nó in áit, 457. Is gá mé díreach tar éis a chur leis amháin. Ach is féidir liom é sin a dhéanamh, ceart? Mar gheall ar t, cé mé a choinneáil ar líníocht sé anois mar arrow, tá sé ach uimhir, Ox456. Agus má tá mé amháin a chur leis sin, nó níos mó go ginearálta, má tá mé a chur le gur féidir liom a fháil i ndáiríre go díreach áit ar mhaith liom. Mar sin, má dhéanann mé i ndáiríre seo - agus tá sé seo cad atá ar a dtugtar anois uimhríocht pointeoir - Is féidir liom a bhaint líne seo. Cé acu is, frankly, I mo thuairimse, níos soiléire agus i d'úsáideoir beagán níos cairdiúla a léamh. Ach tá sé seo nach lú ceart. An líne de chód é anois ag baint úsáide as uimhríocht pointeoir. Tá sé ag rá téigh go dtí an tar éis seoladh - is cuma cad é an tús t, a Is t móide i, ar dtús Is é 0, rud atá iontach. Toisc go Ciallaíonn sé sin go tús na t móide 1, móide 2, móide 3, agus mar sin de. Agus an déileáil céanna le s. Siúcra sin syntactic seo. Ach tuiscint atá ar cad atá ar siúl i ndáiríre ar thíos an cochall, ba mhaith liom a mhaíomh, Tá iarbhír úsáideach i agus de féin. Mar ciallaíonn sé anois ann nach i bhfad níos mó draíochta dul ar thíos an cochall. Tá ag dul a bheith go leor níos mó sraitheanna gur féidir linn a craiceann ar ais ar do shon. Is é seo an c. Agus tá sé seo cláir. Cheist i ndáiríre go maith. Gach ceart, mar sin bhí seo go bhfuil bugaí Clár Bhí mé ag tagairt dó níos luaithe. babhtála a bhí lochtach. Má raibh cosúil a bheith ag obair. Thabhairt chun cuimhne go díreach cosúil leis an bainne agus an sú oráiste - a thosaigh mé ag ól léiriú an lae inniu. Mar sin, díreach mar a bhfuil an sú oráiste agus an bainne, raibh againn chun úsáid athróg sealadach, tmp, a shealbhú sealadach ionas go bhféadfadh muid ansin athrú a luach agus ansin thabhairt cothrom le dáta b. Ach an fheidhm seo, a dúirt muid, nó an clár ina raibh an fheidhm seo scríofa a bhí mícheart agus lochtach, cén fáth? Is ea? LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: Go díreach, nuair a ghlaonn tú babhtála - nó níos ginearálta, nuair a dhéanann tú glaoch ar an chuid is mó aon fheidhm - má tá na hargóintí leis an bhfeidhm primitive, mar a déarfá, ints agus chars agus doubles agus flótaí, rudaí gan réaltaí, tá tú ag dul i cóip de an argóint. Mar sin, má bhí x 1 agus ba y 2, tá dul a bheith 1 agus b ag dul a bheith 2. Ach tá siad ag dul a bheith smután éagsúla giotán, smután éagsúla cuimhne a tharlaíonn a bheidh le stóráil Luachanna comhionann. Mar sin, tá an gcód seo Super foirfe ag swapping a agus b. Tá sé ar aon maith ag swapping - i an tseachtain seo caite mar shampla - x agus y. Toisc arís, tá siad i raon feidhme an mícheart. Anois, conas a raibh muid ag dul faoi shocrú seo? Bhí orainn a dhéanamh ar an fheidhm breathnú ar uglier beag. Ach arís, a mheas cad Ciallaíonn sé seo díreach. Agus i ndáiríre, lig dom, ar mhaithe le comhsheasmhacht, athrú rud amháin mar sin tá sé comhionann leis cad a rinne muid díreach. Mar a luaigh mé an tseachtain seo caite, ní dhéanann sé cuma cén áit a dtéann sé. Go deimhin, de ghnáth go mbeadh tú a chur ar an réalta in aice leis an ainm athraitheach. Ach is dóigh liom go mbeadh sé ina beagán níos éasca a mheas an * in aice leis an cineál sonraí a chiallaíonn sé ina pointeoir le slánuimhir sa chás seo. Mar sin, cad tá mé ag déanamh anseo? Tá mé ag rá nach bhfuil a thabhairt dom ina slánuimhir le leanúint ag slánuimhir eile, ag iarraidh iad a agus b. Tabhair dom an seoladh ina slánuimhir. Tabhair dom an seoladh slánuimhir eile. Cuir glaoch ar na seoltaí a agus b. Agus ansin ag baint úsáide as an nodaireacht * síos thíos, téigh go dtí gach ceann de na seoltaí mar is gá chun a fháil ceachtar nó a chur ar a luach. Ach níl eisceacht anseo. Cén fáth nach féidir liom a bheith * aice le tmp? Cén fáth nach féidir liom é seo a dhéanamh, mar shampla? Mothaíonn sé cosúil ba chóir dom dul go díreach go léir amach agus a cheartú ar an rud ar fad. Yeah? LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: Nach bhfuil mé a dhearbhú tmp mar theaghrán. Mar sin, bheadh ​​seo a dhearbhú, sa chás seo, a tmp a bheith ar an seoladh ina slánuimhir. Ach nach bhfuil go leor cad ba mhaith liom, ar feadh cúpla cúiseanna. LUCHT ÉISTEACHTA: Ní mian leat a mhalartú leo. Cainteoir 1: Go díreach, níl mé ag iarraidh a mhalartú rud ar bith le tmp. Is tmp ach stuif seachtaine amháin. Tá gach Ba mhaith liom athróg a stóráil roinnt ar líon. Ní féidir liom cúram fiú faoi seoltaí ag an nóiméad. Ní mór mé díreach 32 giotán nó mar sin a stóráil ina slánuimhir. Agus ba mhaith liom a chur sna 32 giotán Níl cuma cad i, mar a déarfá, ach cad é ag, ach a bheith níos cruinne. Toisc má tá a ainm, * a chiallaíonn dul ann agus a fháil ar an luach 1. Mar shampla, an tseachtain seo caite mar shampla nó i gcás b, a fháil ar an luach de 2. Mar sin, tá cad atá ar siúl i ndáiríre ar? Lig dom tarraing pictiúr anseo a chuirfidh ach tease seachas cuid de lá atá inniu ann. Ach beidh sé seo ar aghaidh ag feiceáil le tamall maith. Seo, éileamh mé, cad é do ríomhaire Breathnaíonn cosúil le cuimhne nuair a ritheann tú clár, aon chlár. Nuair a ritheann tú clár ag barr an- de do ríomhaire le RAM - smaoineamh mar sin de an dronuilleog, go fírinneach, mar do RAM nó cuimhne ríomhaire, Gach 101 billiún bytes de, gach dhá bhilliún bytes, gach dhá ghigibheart de, is cuma cad é an méid atá agat, a ligean ar a tharraingt air mar dronuilleog. Agus Éilím go nuair a ritheann tú clár ar nós Microsoft Word nó Chrome nó aon rud mar sin, an giotán go Microsoft nó go Google scríobh - sna cásanna de na cláir - atá luchtaithe i do ríomhaire a chuimhne nuair is féidir iad a chur i gcrích níos mó go tapa agus chothaithe isteach an LAP, a Is é an brains an ríomhaire. Agus i TAM tá siad stóráilte ag an an- barr do chláir, mar a déarfá. I bhfocail eile, má tá sé seo le smután de cuimhne, nuair a dhéanann tú cliceáil dúbailte ar Microsoft Word, teacht ar na píosaí as an feachtas crua. Siad a fháil luchtaithe isteach RAM. Agus beidh muid ag shove suas iad ag barr an- den dronuilleog choincheapa de. Bhuel, tá an chuid eile de do chuimhne úsáid le haghaidh rudaí éagsúla. Ag barr an-a fheiceann tú a thúsú sonraí agus sonraí a uninitialize. Tá sé seo a dhéanamh, don chuid is mó, le tairisigh nó athróga domhanda go bhfuil luachanna. Ach níos mó ar na am eile. Ansin tá tú ar an gcarn, a beidh muid ag teacht ar ais chuig. Ach tá an chuid sin ag bun germane háirithe ceart anois. Tá sé an chairn mar a thugtar air. Mar sin, díreach cosúil sa chuid is mó d'aon halla D anseo ar gcampas, caithfidh tú na tráidirí go ach chairn ar bharr a chéile ar a Is féidir leat a chur bia agus whatnot. An chairn i gcóras ríomhaireachta Tá an-chosúil. Ach amháin ach an tráidire, mar a úsáid againn i an halla bia, ar ndóigh, tá i gceist chun rudaí a dhéanamh ar an tráidirí nó na frámaí - mar beidh muid ag glaoch orthu - i ríomhaire Tá cuimhne a úsáidtear chun seilbh athróga agus luachanna. Mar sin, cad a théann i ndáiríre ar thíos an cochall? Bhuel, lig dom smeach os a chionn ar an scáileán anseo. Agus a ligean ar díriú ach ar na chuid bun ar feadh nóiméad. Más é seo an chuid bun mo gcuimhne ríomhaire ar casadh sé amach nuair mé glaoch ar an fheidhm is mó - a tharlaíonn, frankly, go huathoibríoch do dom - Faighim le smután de chuimhne ag an íochtar mo RAM sin a labhairt. Agus é seo nuair is mó atá dul athróg áitiúil. Tá sé ina argc agus argv b'fhéidir dul, agus aon athróg mé dhearbhú taobh istigh de phríomh-. Deireadh siad suas ag bun de mo ríomhaire RAM. Anois Is dócha go príomh glaonna feidhm cosúil babhtála, maith liom é a rinne an tseachtain seo caite? Bhuel, chuir muid go bunúsach tráidire nua, a fráma nua, isteach ar mo smután de chuimhne. Agus mé ag dul chun cur síos ar seo mar a bhaineann leis an fheidhm babhtála. Anois, cad atá taobh istigh de babhtála? Bhuel, bunaithe ar chlár na seachtaine seo caite agus an ceann a chonaic muid ach sliocht as, taobh istigh de fhráma babhtála, nó ar babhtála ar tráidire, tá cad athróg? Bhuel, a agus b. Toisc go raibh na hargóintí a áitiúla, móide an tríú, tmp. Mar sin, i ndáiríre, d'fhéadfadh liom a tharraingt seo beagán níos mó cleanly. Lig dom dul ar aghaidh agus cealaithe an lipéad. Agus lig dom a éileamh go bhfuil a fhios agat cad? a ag dul is dócha go deireadh suas anseo. B ag dul go dtí deireadh suas anseo. Agus is é tmp dul go dtí deireadh suas anseo. Anois, d'fhéadfadh an ordú a bheith beagán difriúil. Ach is é seo an smaoineamh coincheapúil. Agus díreach le chéile, is é seo cad beidh muid ag glaoch fráma babhtála, nó tráidire bia-halla. Agus an déileáil céanna le príomh. Ach ní bheidh mé Atarraing go. Ach sin an áit a argc agus argv agus aon dá athróg áitiúla cosúil le x agus y d'fhéadfadh a bheith chomh maith. Mar sin, mheas anois cad atá ag tarlú i ndáiríre nuair a ghlaonn tú babhtála. Nuair a ghlaonn tú babhtála, forghníomhaitheach cód nós seo, tá tú ag dul i, i leagan Buggy, a agus b mar cóipeanna de x agus y. Mar sin, más féidir liom a tharraingt anois seo ar an scáileán - fuair a fháil níos fearr ag an - mar sin an scéal a bhí mé ag rá go féin bhí sa leagan seo Buggy, nuair a glaoch babhtála dul i literally a agus b mar slánuimhreacha, tá ag tarlú i ndáiríre? Bhuel, cad atá ag tarlú i ndáiríre is é seo. Lig dom dul ar aghaidh agus díreach Cealaigh a ghlanadh suas roinnt spáis anseo. Mar sin, is é seo mo ríomhaire a chuimhne. Mar sin, má tá mé, mar shampla - i ndáiríre a ligean ar é a dhéanamh ar an mbealach seo - má dhéantar éileamh agam go bhfuil an x, a stóráil an luach 1 díreach cosúil tseachtain seo caite. Agus is é seo y, stóráil an luach 2 díreach cosúil tseachtain seo caite. Agus tá sé seo is mó, nuair a ghlaonn mé babhtála, rud a thugann rochtain ar mé féin agus b agus tmp, tá mé ag dul a éileamh go tá sé seo le agus tá sé seo 1. Is é seo an b. Is é seo 2. Seo ar a dtugtar tmp. Agus ar dtús, tá sé roinnt luach truflais dtí go mbeidh mé a stóráil i ndáiríre i sé, a bhfuil 1. Ansin mé ag dul ar aghaidh agus a athrú a bheith cad é? Luach B. Agus mar sin anois tá mé dhá anseo. Agus ansin dúirt muid faigheann b tmp. Arís, díreach mar a sanity seiceáil, an tríú Tá líne de chód anseo ach seo amháin, faigheann b tmp. Agus mar sin ar deireadh, cad is féidir liom a dhéanamh? Mé dul ar aghaidh agus a athrú b a bheith cibé Is é an luach tmp, a bhfuil 1. Ní féidir liom teagmháil tmp arís. Ach anois, tá an fhadhb chomh luath agus is babhtála tuairisceáin, toisc nach bhfuil sé handing ar ais roinnt luach, níl aon tuairisceán ráiteas sainráite ann. Cad atá ag tarlú i ndáiríre? Bhuel, go bunúsach go léir cuimhne seo - OK, cosúil maith an scriosán ach finger amháin ag an am - ach disappears. Anois, i ndáiríre nach bhfuil sé ag dul in áit ar bith. Ach is féidir leat smaoineamh ar é anois mar marcanna gceist. Toisc go bhfuil sé a thuilleadh iarbhír in úsáid. Agus is é aon rud a dhéanamh leis na luachanna sin. Mar sin, i gcás an leagan glas de gcód seo, cad ina ionad sin á ritheadh ​​i babhtála? Mar sin, seoltaí. Mar sin, an seoladh x agus an seoladh y. Mar sin, má táimid ag ath-insint scéal seo ceann deireanach am, agus mé a tharraingt i ndáiríre babhtála arís, ach le leideanna, a bheith seo, seo á b, agus tá sé seo tmp bheith, cad é iarbhír a stóráil i sa glas leagan de mo chód áit a bhfuil mé ag dul i seoltaí? Tá sé seo ag dul a bheith ina pointeoir chun x. Mar sin, d'fhéadfadh mé a tharraingt saighead. Ach a ligean ar úsáid a bhaint as an treallach céanna Mar shampla is a bhíodh. A ligean ar rá go bhfuil sé seo rud éigin cosúil le Ox123. Agus tá sé seo ag dul a bheith mar gheall ar Ox127 Tá sé ceithre bytes ar shiúl toisc go bhfuil sé ar int, mar sin Ox127. Agus arís, tá mé ag cur roinnt saoirsí leis na huimhreacha. Tá siad i bhfad níos lú ná mar a bheadh ​​siad a bheith i ndáiríre agus in ord difriúil. Ach tá go conas an pictiúr Is anois difriúil. Ach nuair a úsáid mé an cód glas agus is féidir liom a fháil tmp slánuimhir * a. * Bhealach a dhéanamh ar an méid seo a leanas, a chur ar an aghaidh a thabhairt ar go bhfuil i agus téigh go dtí é, a bhfuil 1. Agus sin cad a chuir mé ansin i tmp. Idir an dá linn, sa chéad líne eile de chód anseo, * a fhaigheann b, cad a chiallaíonn? Bhuel, * a, mar sin téigh anseo faigheann * b, rud a chiallaíonn dul ann. Agus Ciallaíonn sé sin an luach a chuir chun ann. Ar deireadh, an líne dheireanach de chód ach dúirt Faigheann * b tmp. Mar sin, deir b dul ann agus scríobh sé le tmp atá, sa chás seo, ag dul a bheith, arís, 1. Agus is é sin an fáth an leagan glas de ár n-oibreacha cód, ach an dearg leagan raibh riamh. Boils gach sé díreach síos ar conas an Tá cuimhne a bhainistiú agus áit a bhfuil sé iarbhír a chur i do RAM ríomhaire. Agus do anois, go bhfuil ceann de na rudaí go bhfuil an chairn á úsáid le haghaidh. Ceisteanna ar an leagan amach? Ar leideanna? Nó ar babhtála? Gach ceart, mar sin malloc, cuimhne, raibh rud éigin mar seo. Bhí sé seo mar shampla Super simplí. Agus ba é seo an ceann a Binky isteach dúinn, cé go leor go tapa, ag deireadh an ranga. Dammit, tá muid ag dul arís. Mar sin, chun cuimhne go raibh sé seo an sampla go Binky isteach dúinn, cé go ábhairín tapa ag deireadh an ranga. Agus anseo a úsáid le linn malloc i ndáiríre don dara huair. Mar gheall ar an chéad uair a úsáid againn é a go leor RAM a chruthú, a dháileadh go leor RAM a stóráil teaghrán. An uair seo choinnigh Binky simplí é. Mar sin tá sé a stóráil go díreach ina slánuimhir, is cosúil. Agus sin go hiomlán fíneáil. Tá sé beagán aisteach, frankly, go malloc úsáid a leithdháileadh slánuimhir amháin. Ach bhí an pointe claymation Nick i ndáiríre ach a insint ar an scéal ar cad a tharlaíonn nó nach dtarlaíonn nuair a tú drochíde chuimhne. Mar sin, sa chás seo, an clár seo Rinne roinnt rudaí. Sa chéad chás anseo, Dearbhaíonn sé pointeoir a dtugtar x le slánuimhir. Dearbhaíonn sé ansin pointeoir ar a dtugtar y le slánuimhir. Siopaí sé ansin in x, cad é? Duine éigin eile anois. Cad Faigheann stóráilte i x réir an tríú líne chlár seo? LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: Bhuel, ní leor beart, a rá in aghaidh. A bheith níos cruinne anois. Cad Faigheann stóráilte i x? An seoladh, I mo thuairimse, chuala mé é. Mar sin, cad a dhéanann malloc ar ais? malloc behaviorally Leithdháileann le smután de chuimhne. Ach conas a dhéanann sé a thabhairt duit rochtain a fháil dó? Tuairisceáin sé cad é? Seoladh an chéad bheart i smután de chuimhne. Anois, is é seo simplí Super. Tá sé díreach ar cheann beart, rud a chiallaíonn an aghaidh a táimid ag dul ar ais go bhfuil an seoladh an rud ar fad. Mar sin, a stóráil i x ansin, an seoladh den smután de chuimhne. Idir an dá linn, cad a tharlóidh ina dhiaidh sin? Mar sin, i ndáiríre, a ligean ar dul ar aghaidh agus tharraingt amach seo go tapa fíor. Mar sin, má théann muid ar aghaidh go dtí an scáileán anseo agus spraoi againn seo amach o * x agus y slánuimhir * ag dul a dhéanamh cad dom? Éilím go bhfuil sé ag dul díreach a dhéanamh rud éigin mar seo agus a ghlaoch air x, agus seo agus a ghlaoch air y. Idir an dá linn, is é an tríú líne de chód ag dul a leithdháileadh ar an méid ina slánuimhir, a tharlaíonn a bheith - tá brón orainn má dúirt mé amháin roimh gceist agam slánuimhir amháin - ceithre bytes ar ríomhaire tipiciúil. Ar a laghad leis an CS50 fearas. Mar sin, tá sé seo ag dul a leithdháileadh sé, a bhfuil aithne aige? Áit éigin amach anseo. Agus é seo a stóráil ar roinnt seoladh damh, a bhfuil aithne aige? Ach tá cad ag dul a fháil ar ais Is é an seoladh sin. Ach beidh orainn a tharraingt ar an pictiúrtha mar ach saighead mar sin. Anois sa chéad líne eile * x Faigheann 42. Cad is brí * x i dtéarmaí layman? Just dul ann. Téigh go dtí an seoladh sin. Nó i bhfocail eile, lean an arrow agus a chur ann 42. Ach ansin tharla rud éigin dona go Binky, ceart? Thabhairt chun cuimhne go bhfuil líne cúig anseo, faigheann * y 13, go deimhin, ar líon ámharach, rinne cad dúinn? Bhuel, téigh * ciallaíonn y ann. Bhuel, nach bhfuil sé seo a bheith tugtha luach fóill, ceart? Ní dhéanann an gcód ina y á initialized le rud ar bith. Táimid go raibh x á initialized chuig seoladh. Ach bhí dearbhaithe y bun barr. Ach ansin Leathstad, aon luach Cuireadh i ndáiríre i sé. Mar sin, tá sé cothrom a thabhairt ar an luach truflais. Cé a fhios cad atá ann? Tá sé an iarsma de giotán a úsáideadh ag roinnt líne roimhe seo den chód i mo chlár. Mar sin, má rá liom dul ann, is é seo cosúil le, Tá mé aon smaoineamh nuair is é seo arrow ag dul go dtí deireadh suas. Agus sin nuair a dhéanann tú de ghnáth a fháil ar locht deighilt. Má tá tú dí thaisme, mar sin go labhairt, nó dul chuig seoladh nach bhfuil go iarbhír ar ainm dlisteanach, rudaí a tharlóidh dona. Agus sin go díreach cad a tharla chun smaoineamh Binky. Mar sin, chun cuimhne go bhfuil an scéal go raibh Nick Ba insint anseo an smaoineamh céanna le cad Tá mé tharraingt leis an illusion cailc ar an gclár ann. X agus y a dhearbhú. Ansin leithdháilte againn ar an méid ina slánuimhir agus stóráiltear é i x. Ansin, an chéad líne eile a rinne muid * x. Bhí sé seo wand draíochta Nick de dereferencing. Gur chuir 42 sa chuimhne dúirt amach ag x. Ach tá sé seo nuair rudaí chuaigh horribly mícheart. Ceart? Iarracht muid a y comhbhrí leis. Ach bhí roinnt luach y bréagach, ceart? Sin arrow i bun na láimhe clé cúinne nach bhfuil, ag cur in iúl i ndáiríre rud ar bith. Tá sé de chineál dhéanamh cad agam Rinne anseo ar an mbord. Mar sin, a tharlóidh rudaí olc, deighilt locht, locht nó Binky, sa chás seo. Ach má táimid shocrú ansin go bhfuil ag déanamh x Faigheann y conas a dhéanann an t-athrú scéal? Bhuel, má dhéanann mé x y faigheann, go go héifeachtach mar an gcéanna mar a rá is cuma cad é seo, damh-rud éigin ag dul a bheith mar an gcéanna anseo, Ox-rud éigin. Nó go pictiúrtha beidh orainn a tharraingt saighead. Mar sin, anseo ar an bord le Binky, leis an chéad líne eile Cód, ciallaíonn * y dul ann. Sa chás go bhfuil? Ciallaíonn sé thar anseo. Agus nuair a thabhairt cothrom le dáta againn go bhfuil a bheith 13 Baineann sé ach dul agus scríobh anseo anois 13. Mar sin, b'fhéidir nach bhfuil go hiomlán simplí ar an gcéad amharc. Ach chun recap agus úsáid a bhaint as an béarlagair céanna go Binky a bhí ag baint úsáide as anseo, mar sin an chéad dá leithdháileadh na leideanna, x agus y, ach nach bhfuil an pointees. Agus nach bhfuil pointees a úsáidtear de ghnáth téarma. Ach tá pointeoir go hiomlán. Ach tá sé cad atá á Léirigh ag i ainmníocht Binky ar. An líne seo chugainn, ar ndóigh, Leithdháileann an pointee slánuimhir. Mar sin, le smután de chuimhne - mar a tharraing mé os a chionn ar an thaobh na láimhe deise ann - agus sraith x comhionann a chur in iúl dó. Seo dereferences x a stóráil i 42 an chuimhne go bhfuil sé dírithe ar. Agus ansin seo, ar ndóigh, Bhí droch-rud. Toisc nach raibh y dírithe ar rud ar bith go fóill. Socraíonn an é. Mar sin, tá sé seo fós clár Buggy. Díreach mar a bhfuil muid ag séideadh tríd an líne cód le líne agus ag rá, OH maith, lig sé tuairteála ann. Sin droch-rud. Odds tá an clár ag dul díreach a tobscoir ar fad ag an líne. Ach má bhí tú a bhaint as an crashed líne agus ionad sé leis an dá cheann deiridh línte ann a shannadh tú - ag baint úsáide as sannadh pointeoir - y a chur in iúl do x mar phointe t. Agus ansin tú téigh i y ar bhealach an-sábháilte. Mar sin, cén áit seo a fhágáil dúinn? Bhuel, casadh amach go bhfuil thíos an cochall sa leabharlann CS50, tá leideanna a úsáidtear ar fud. Agus beidh muid ag tosú iarbhír a craiceann ar ais go ciseal roimh i bhfad. Ach casadh sé freisin, léiriú go D'fhéadfadh roinnt de tú a bheith eolach, go háirithe iad siúd níos compordaí, Is é i ndáiríre go bhfuil an-choitianta suíomh gréasáin, nó thar maoil chairn, na laethanta seo. Ach tá i ndáiríre an- bhrí teicniúla. Tá a fhios againn anois cad is chairn. Tá sé cosúil le chairn de tráidirí taobh istigh de halla bia. Nó taobh istigh de do ríomhaire a chuimhne na frámaí atá in úsáid ag feidhmeanna. Bhuel, casadh sé amach go bhfuil mar gheall ar sin cur i bhfeidhm an-simplí cuimhne agus na frámaí ar an sin ar a dtugtar chairn, is féidir leat a chur i ndáiríre a rialú a bhaineann le córas ríomhaireachta go cóir go héasca. Is féidir leat a hack isteach i gcóras má daoine cosúil nach bhfuil againn i scríbhinn ár gcód go háirithe go maith. Má úsáideann daoine cosúil le linn smután de chuimhne nó úsáid arrays - fiú níos mó coitianta - ach uaireanta dearmad a sheiceáil leis an teorainneacha ar ár eagar mar a d'fhéadfadh tú Tá tú féin uaireanta, agus athluaigh bhealach i bhfad ró anuas an deireadh eagar. Sa chás is fearr, do chlár D'fhéadfadh tuairteála díreach. Deighilt an locht, cineál de embarrassing. Ní mór, ach nach bhfuil sé gá go rud thar a bheith dona. Ach má tá do chlár iarbhír ar fíor úsáideoirí ríomhairí ', má tá sé ag rith ar an suíomh gréasáin gur féidir le daoine randamach iarbhír ar an idirlíon ag bualadh, a ligean ar cíos daoine aslú rudaí dona ar do chód é go ginearálta nach bhfuil an rud maith mar gheall ar ciallaíonn sé deis a thabhairt rialú an ríomhaire. Agus tá sé seo ag dul chun breathnú beag cryptic. Ach shíl mé gur mhaith liom scanradh ort le an sampla deireanach anseo. Seo sampla de chód. Agus níl a Vicipéid maith airteagal go siúlóidí tríd an seo níos mine. Tá mé is mó ar an glaoch bun foo, ag dul i argv de 1. Agus sin ach ionas gur féidir leat reáchtáil ar an gclár agus pas a ionchur treallach. Agus ansin foo dearbhaithe suas go barr mar glacadh le teaghrán, nó níos mó go beacht, a ruabhreac *. Dearbhaíonn sé ansin le sraith de carachtair. Call sé maolán, níos ginearálta, de mhéid 12. Mar sin, is féidir 12 chars oiriúnach taobh istigh den eagar ar a dtugtar c. Agus ansin úsáideann sé an fheidhm nua seo, a bhfuil nua ach ní go crua chun a thuiscint, cóip cuimhne. Cóipeanna sé an chuimhne ó barra, a bhí an am atá caite athróg n, is cuma an úsáideoir clóscríofa isteach argv 1 i c. Cé mhéad bytes? An fad teaghrán bar. Mar sin, i bhfocail eile, má tá cineálacha an t-úsáideoir i h-r-l-l-o dul isteach, an fad teaghrán Is de dia duit cúig. Mar sin, cúig cinn de na beart ag dul a fháil chóipeáil isteach sraith a dtugtar c, a Is é an méid 12. Ach cad iad na cineálacha an t-úsáideoir i bhfad níos faide focal go 13 carachtair nó 14 carachtair nó 100 carachtar nó níos mó? I gcás ina bhfuil siad ag dul chun dul? Bhuel, go fráma, tráidire go sa Stack bia-halla, tá siad ag dul chun dul ann. Agus tá sé ag dul ach a thosú fhorscríobh rudaí eile go bhfuil cheana féin ar an chairn, cur thar maoil an chairn, mar a déarfá. Mar sin, go pictiúrtha, smaoineamh ar é an mbealach seo. Is é seo ach leagan ildaite de an pictiúr tá muid ag tarraingt. Ag bun, a ligean le rá, is é is mó. Agus ar an mbarr, a bhfuil tú ag feiceáil anois Is é an fráma, dath códaithe anois, ar feadh feidhm a dtugtar foo. Ach cad atá suimiúil anseo faoi foo é go bhfuil anseo a fráma. Mar sin, tá sé tharraingt díreach cosúil liom Rinne ach i gorm éadrom. Agus anois tá sé seo nuair a c lúibín 0 Téann. Agus is é seo nuair a lúibín c 11 ag dul go dtí deireadh suas. I bhfocail eile, a tharlaíonn sé go a ionadaíocht mar cearnach. Ach má tá tú a choimeád ach bytes plopping síos - nó gualann - tá siad ag dul go dtí deireadh suas ar shuíomh 0 go léir ar an mbealach suas go dtí 11 mar tá sé 0 innéacsú. Ach i gcás an carachtar 13ú ag dul go dtí deireadh suas? Cá bhfuil an 14ú? Cá bhfuil an carachtar 50 ag dul go dtí deireadh suas? Tá sé seo ag dul a choinneáil ag dul síos. Mar gheall ar cé go againn tharraingt ar an pictiúr leis an chairn ag fás aníos, an seoltaí, casadh sé amach, dul ó seoltaí beag, beag leideanna, a seoltaí mór. Mar sin, coimeádann sé ach ag dul suas agus suas. Mar sin, má tá cineálacha an t-úsáideoir i Dia duit, tá go mór. Uimh bug, fadhb ar bith, gach duine sábháilte. Ach má tá cineálacha an t-úsáideoir i cad beidh orainn glaoch cód sáraíochta, ionadaíocht cineálach mar, ionsaí, ionsaí, ionsaí, ionsaí, is féidir cad a tharlóidh? Bhuel, más rud é gach ceann de an t-ionchur sin an t-úsáideoir Ní clóscríofa i ach cuid cairdiúil nó teaghrán ionsaitheacha de charachtair. Tá sé i ndáiríre sraith de charachtair más rud é go thiomsaigh tú é, tá sé i ndáiríre cód. B'fhéidir go bhfuil sé go ZIP Scrios uile an comhaid ar do thiomáint crua nó cuireann spam nó rud éigin mar sin. Fógra go bhfuil an méid atá tábhachtach anseo ná go má fuair t-ádh go leor chun an Guy dona scríobh an smután dearg de chuimhne - nach raibh mé a tharraingt ar mo pictiúr ach seo pictiúr Vicipéid anseo tá - a seoladh ar ais mar a thugtar air. Nuair a tuairisceáin bia, nuair tuairisceáin babhtála, conas a dhéanann an ríomhaire a fhios chun dul ó suas anseo chun síos anseo? Nó sa deighleog ardteicneolaíochta suas thuas, conas a bhfuil a fhios sé chun dul ó na babhtála Cód - an 0 agus 1 ar go cum babhtála - ar ais go dtí an príomh-? Níl seoladh ar ais mar a thugtar air stóráilte sa fráma chairn céanna, ar an tráidire Caifitéire céanna. Mar sin, má tá an Guy dona cliste go leor chun a chur Cód ionsaí, ionsaí ZIP, ionsaí Cód, agus a fháil t-ádh go leor - go minic trí thriail agus earráid - a scríobh go seoladh ar ais dearg, leis an seoladh agus fógra an barr an-. Fógra 0835C080. Tá sé scríofa ar gcúl suas barr do cúiseanna beidh orainn arís b'fhéidir. Is é seo go bhfuil uimhir. Mar sin, má thagann an t-ádh nó an Guy dona Tá cliste go leor a scríobh ar an dearg stiall de chuimhne leis an seoladh ar Cód go bhfuil sé nó sí ar bhealach ghann i do ríomhaire, buille faoi thuairim a bhfuil a Tá cód ag dul a chur ar ais chuig chomh luath agus is foo Déantar forghníomhaitheach? Cód an Guy dona ar. Mar sin, seo ZIP ionsaí, AAA, arís d'fhéadfadh, spam a sheoladh a d'fhéadfadh, a scriosadh na comhaid go léir ar do thiomáint crua. Ach tá go bhfuil an méid fíor thar maoil Stack Is é, nó róchaiteachas Maolán, nó mhaolánú ionsaí thar maoil. Agus tá sé thar a bheith, thar a bheith coitianta go dtí an lá le cláir scríofa i C, C + +, agus fiú roinnt teangacha eile. Ar an nóta scary, beidh muid deireadh le joke. [Gáire] Féach tú ar an gCéadaoin. Ag an CS50 seo chugainn - Mar sin, tá mé go léir as lampaí diosca lá atá inniu ann ach fan, saill-saor in aisce bainne, leath an teileafón leabhar, an sú oráiste gur ól mé lá atá inniu ann. USB cábla, eochair. [Seinm ceoil]