Cainteoir 1: Dia duit gach duine. Táimid ag dul chun tús a chur. I mo thuairimse, daoine ag dul go fóill a bheith scagadh in. Ach ar mhaithe le am, mar sin is féidir linn a gheobhaidh tú guys amach anseo ar an am, táimid ag dul chun tús a chur. Mar sin, fáilte a chur roimh an tráth na gceist CS50 0 athbhreithniú. Dóibh siúd agaibh nach bhfuil a bhaint amach go fóill, tá tú ceist ar an gCéadaoin. Woo hoo-. Mura bhfuil tú tosaithe ag déanamh staidéir ar fós, nó Nach bhfuil realized go bhfuil sé seo go fóill, tráth na gceist am atá thart agus gach eolas faoi bhfuil do tráth na gceist ar cs50.net/quizzes. Níl roinnt rudaí maith go leor ar ann, tráth na gceist am atá caite ó an ceann deireanach 10 bliana mar aon le faisnéis faoin tráth na gceist agus topaicí a bheidh clúdaithe. Mar sin, a ligean ar tús a chur leis. Mar sin, d'fhéadfadh tú guys cuimhnigh, an chéad Bhí lá den aicme David leis na lampaí ar. Mar sin, go bunúsach, rud a théann ar faoi atá an cochall ar ríomhaire a rinneadh i dénártha. Ciallaíonn Dénártha cad fuaimeanna sé cosúil le, 0 agus 1 s. Tá dhá luachanna a Is féidir a léiriú. Mar sin, díreach cosúil sa chéad lá den alt nuair a chas David ar solas bolgán chun ionadaíocht a dhéanamh ar, nó 1, ár n-ríomhaire Tuigeann dénártha mar 0 agus 1 s, ar, nó as. Buneolas ar Dénártha. Tá gach áit ionadaíocht i mbonn dhá. Mar sin leat a chur 2 a ghabhann leis 0 go dtí an 1 go 2 ar fad ar an mbealach suas. Chun a ríomh cad é do dénártha le deachúil, tú a leanúint ach an chothromóid Rud cineál. Má tá tú 1 in aon cheann de na háiteanna, tú iolrú dó le cibé bonn tá sé i, a chur sé suas, agus gheobhaidh tú an dheachúlacha. Mar sin, is é seo conas tá tú ag comhaireamh go 5 i dénártha. Díreach cosúil le cad a bhí á dhéanamh againn ar an sleamhnán seo caite, is é seo conas a bheadh ​​agat ionadaíocht a dhéanamh 1 trí 5. Mar an gcéanna, is maith ach is féidir leat a chur agus dhealú i dheachúlach nó bonn 10, nó i ndáiríre ar bith bonn, is féidir ar chur agus a dhealú i dénártha. Go díreach cad a bheadh ​​súil agat nuair a dhéanann tú cuir an dá bun, más rud é go sé cothrom le níos mó ná 1, a sheoladh tú 1, go mbeadh sé ina 0, agus a dhéanann an Chomh maith leis an mbealach sin, ach mar a mbeifeá ag súil leis go rialta dheachúlach nó aon bonn eile. Cool. Mar sin, mar a dúirt mé cheana, rud a théann ar faoi na cochall ar ár ríomhaire Déantar é seo i 0 agus 1, nó dénártha. Mar sin, conas is féidir linn a chur in iúl, mar shampla, litreacha, nó uimhreacha, nó carachtair? Agus is é an freagra sin ASCII. Is ASCII a mhapáil idir carachtair go mbeadh muid a fheiceáil de ghnáth sa Béarla cosúil le A, B, C, béim, daiseanna, agus aon rud mar sin. Agus na léarscáileanna sé sin le luach ASCII. Tá luach ASCII ach roinnt a Is féidir a thuiscint ag do ríomhaire. Agus díreach mar is féidir leat a dhéanamh Chomh maith leis sin, agus dealú le huimhreacha, is féidir leat a dhéanamh iad le luachanna ASCII. Mar sin, sa sampla seo, an méid beidh sé seo a phriontáil amach? Yeah, mar sin ach spás B Spás C spáis D. I gcás ina raibh mo luch dul? Fógra gur féidir leat a shainiú ar slánuimhir ag 65. Agus nuair a phriontáil duit go amach ag baint úsáide as faoin gcéad C, beidh sé a léirmhíniú go bhfuil mar carachtar agus beidh a phriontáil amach A. Mar an gcéanna, is féidir leat a dhearbhú sé mar Char. Agus nuair a phriontáil tú amach é ag baint úsáide as faoin gcéad C, beidh sé a léirmhíniú go bhfuil mar faoin gcéad D. Agus díreach mar is féidir leat a chur ar líon, is féidir leat a chur go bhfuil carachtair Luachanna ASCII, sa chás seo. Mar sin, pointeoir beag do gach duine. 5, mar theaghrán nach bhfuil, cothrom i ndáiríre 5. Mar sin, conas a d'fhéadfaimis a thiontú ar an teaghrán 5 go dtí an tslánuimhir 5? Aon smaointe? Yeah. Mar sin, má ní mór dúinn 5 mar theaghrán, is féidir linn a dhealú 0. Agus beidh a thabhairt dúinn 5. Agus mar an gcéanna, má ní mór dúinn 5 mar slánuimhir, a chur go dtí an teaghrán 0. Agus tugann go dúinn an teaghrán 5. Cool. Anois, chun cuimhne ar ais chun léacht amháin i gcás ina Labhair linn faoi halgartaim. Mar sin, cén chaoi a ba mhaith againn i ndáiríre ar ríomhaire a dhéanamh rudaí suimiúla? Tá a fhios agat, ach a chur leis agus a dhealú Ní uimhreacha agus rudaí a phriontáil amach go spreagúil. De ghnáth, ba mhaith linn ár n-ríomhaire dhéanamh de shaghas éigin algartam. Rud níos casta beag ná díreach uimhríochtúil simplí. Tá algartam ach céim ar chéim atá leagtha treoracha maidir le conas a dhéanamh a task-- áirithe díreach cosúil chos. D'fhéadfá cuimhneamh ar an gcéad lá den rang a raibh David linn chomhaireamh seomra na daoine agus cé mhéad duine Ba sa seomra. D'fhéadfá a úsáid chun comhaireamh ceann ar cheann. 1, 2, 3, 4. Sa chás sin, algartam am líneach. Ach David isteach algartaim do tú ag comhaireamh na daoine sa seomra i gcás ina seasann gach duine suas, a deir tú do roinnt do dhuine eile, a chur go Uimhir suas, agus duine amháin suíonn síos. Agus tú arís go. Sin cineál amháin de algartam. Is féidir linn a anailís a dhéanamh ar cé chomh éifeachtach algartaim bunaithe ar tá sé in am a reáchtáil. Ach beidh muid ag labhairt le beagán níos mó faoi sin níos déanaí. Mar sin, is féidir go léir halgartaim freisin a scríobh i pseudocode. Is Pseudocode ach Béarla mar chomhréir a úsáidtear chun ionadaíocht a dhéanamh teanga cláir. Mar shampla, má bhíomar ag iarraidh a iarraidh ar d'úsáideoir buille faoi thuairim mo uimhir is fearr leat, ní mór dúinn D'fhéadfadh go mbeadh pseudocode nós. Faigh úsáideoirí buille faoi thuairim. Má tá an buille faoi thuairim ceart, insint dóibh tá siad ceart, eile a insint dóibh ní bhíonn siad i gceart. Agus is é pseudocode ar bhealach éasca ionadaíocht ar smaoineamh nó algartaim. Mar sin anois d'fhéadfadh muid ag iarraidh a scríobh i ndáiríre seo i dteanga go bhfuil an ríomhaire d'fhéadfadh tuiscint. Mar sin, d'fhéadfadh muid a scríobh ár pseudocode agus léirmhíniú go isteach cód foinse. Go dtí seo, ní mór cód foinse cloí le error áirithe de teanga cláir. Agus go dtí seo, i CS50, tá muid den chuid is mó ag baint úsáide as c. Mar sin, d'fhéadfadh sé seo a bheith cód foinse do c. Níos déanaí ar an gcúrsa, a thagann tú oíche i dteagmháil leis an gclárú eile teangacha ar nós PHP. Nó má tá tú a chur fiú ranganna eile, is féidir leat D'fhéadfadh a dhéanamh Java, Python, nó fiú OCML. Ach i ár dteanga gclár c, is é seo conas a d'fhéadfaimis a scríobh an cód foinse do an algartam pseudocode go Cur síos mé díreach tar éis níos luaithe. Mar sin, conas a dhéanann do ríomhaire iarbhír a thuiscint go? Mar a dúirt mé cheana, ach i ndáiríre Tuigeann nialais agus cinn. Mar sin, conas a dhéanann sé a fháil ón bhfoinse cód chun rud éigin is féidir a bheith thuiscint? Bhuel, ní mór dúinn rud éigin dtugtar Tiomsaitheoir. Má tá tú chun cuimhne ar ais sa chuid is mó de do chuid psets, bhí tú roinnt de chineál ar chláir scríofa i gcomhad ponc c. Agus ansin ba mhaith leat cineál a dhéanamh. Mar sin, cad a dhéanamh ag déanamh? Is féidir leat cineál a dhéanamh a chur le chéile do Clár gheall someone-- whoever scríobh do leagan p; is dócha David-- cruthaithe comhad a dhéanamh. Agus insíonn a dhéanann go mbeadh a fhios a reáchtáil do tiomsaitheoir, ar a dtugtar clang, beidh sin ansin a chur le chéile do cód foinse chun agóid a dhéanamh cód, a bhfuil nialais agus cinn go dtuigeann do ríomhaire. Ach beagán níos déanaí ar, beidh muid ag dul níos mó sa domhain faoi tiomsaitheoirí. Mar sin, chun cuimhne pset 0, where-- yes, tá ceist agat? LUCHT ÉISTEACHTA: [inaudible]? Cainteoir 1: Tá. I mo thuairimse, siad iarbhír Ba chóir go mbeadh ar líne. Yeah. LUCHT ÉISTEACHTA: An bhfuil sé cosúil le [inaudible]? Cainteoir 1: Níl sé. Is iad na ar cs50.net/quizzes. LUCHT ÉISTEACHTA: tráth na gceist Slais, Slais 2013, Slais 0, agus díreach cliceáil trí tráth na gceist 2013 agus tráth na gceist 0, athbhreithniú a dhéanamh ar rannóg sleamhnáin. Cainteoir 1: Yeah, mar sin más mian leat guys a tharraingt suas agus breathnú ar sé ar do ríomhaire féin, go breá freisin. Abair sin arís. LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: Yeah, [inaudible] Is é an athróg chaocha. Oh, yes? LUCHT ÉISTEACHTA: [inaudible]? Cainteoir 1: No, stailceanna Nach bhfuil ar an scrúdú. Tá brón orainn, bhí a ceist, bhí stailceanna ar an scrúdú. Agus nach bhfuil sé. Mar sin, pset 0, ba chóir go mbeadh tú guys go léir curtha i bhfeidhm ag baint úsáide as rud éigin scratch. Agus d'fhoghlaim muid roinnt cláir bunúsacha bloic thógála ag baint úsáide as scratch. Mar sin, a ligean ar ghlacadh le breathnú ar roinnt de na bloic thógála a dhéanann suas clár. Is é an chéad léiriú Boole. Tá abairtí Boole cinn agus 0 nó rud ar bith a bhfuil dá luach fhéideartha. Sa chás seo, fíor nó bréagach, ar, nó as, agus yes nó aon. Sampla de simplí, an-simplí, Clár a úsáideann Boole cialluíonn an abairt suas anseo. Mar sin, d'fhonn um léiriú Boole a a bheith úsáideach, ní mór dúinn oibreoirí Boole. Tá na hoibreoirí gur féidir a úsáid a chur i gcomparáid le luachanna áirithe. Mar sin, ní mór dúinn agus nó nach bhfuil cothrom le níos lú, ná nó cothrom le, níos mó ná nó cothrom le, agus níos lú ná nó níos mó ná. Ach nach bhfuil na hoibreoirí an-úsáideach mura rud é gur féidir linn iad a chur le chéile i coinníollacha. Mar sin, d'fhéadfadh tú guys cuimhneamh ó scratch agus ó do p Leagann go bhfuil muid Bhí coinníollacha. Tá siad, go bunúsach, cosúil le gabhlóga i an loighic do chlár a fhorghníomhú ag brath ar cé acu Is coinníoll le chéile. Mar sin, ceann de na coinníollacha a bhí againn a úsáidtear go minic sa chúrsa seo tá an más rud é, eile, más rud é, agus na coinníollacha eile. Seo sampla den chaoi d'fhéadfadh tú a úsáid. An bhfuil duine ar bith a fhios ag an difríocht idir ach úsáid a bhaint as má tá ráitis go léir ar an mbealach síos véarsaí más rud é, eile, más rud é, agus eile le chéile? Is ea? LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: Go díreach. Mar sin, má bhí mé má léir ar an mbealach síos an bhealach, fiú amháin más rud é coinníoll seo tuairisceáin fíor, beidh sé ar aghaidh go fóill tástáil an chéad dá. De bharr an méid, le eile-más rud é, ar rud eile ráiteas, más rud é go bhfilleann an duine fíor, Níl na daoine eile a thástáil. Ceisteanna ar bith faoi sin? Cool. Mar sin, úsáideann tú más rud é-eile de eile ráiteas má tá a fhios agat gur féidir é ach a bheith ar cheann de na cásanna sin. Mar sin, tá a fhios againn má tá x níos lú ná 0, tá sé cinnte nach bhfuil ag dul a bheith níos mó ná 0. Next, bloc tógála eile a d'fhoghlaim muid go bhfuil lúb. Tá trí chineál lúb. Do lúb, agus lúb, agus a dhéanamh cé go lúba. Agus go ginearálta, nuair a shuíonn tú síos go dtí rud éigin a scríobh, tá tú chun cinneadh a dhéanamh cé acu de na trí mian leat a úsáid. Mar sin, conas is féidir linn a chinneadh a bhfuil ceann amháin? Bainimid úsáid de ghnáth le haghaidh lúb má tá a fhios againn cé mhéad uair ba mhaith linn a iterate trí rud éigin nó cé mhéad uair ba mhaith linn a dhéanamh ar an tasc. Bainimid úsáid cé go lúb má ní mór dúinn roinnt coinníoll a bheith fíor reáchtáil a choinneáil. Agus úsáid againn a dhéanamh agus an-chosúil leis fad, ach ba mhaith linn ár n-cód a rith ag ar a laghad uair amháin. Mar sin, a dhéanamh linn, is cuma cad é i an a dhéanamh a bheidh reáchtáil i gcónaí am amháin ar a laghad. De bharr an méid, leis an am céanna, tá sé Is féidir nach bhfuil ar siúl ar chor ar bith má tá an Níl an coinníoll sásta. Ceisteanna ar bith leis sin? Mar sin, struchtúr haghaidh lúb. Guys Tá tú go léir feicthe seo. Thúsú tú é. Tá tú roinnt de chineál riocht. Mar sin, mar shampla, d'fhéadfadh muid thúsú mar do comhionann i 0. Tá mé níos lú ná 10. Agus ++ mé. Ceann-simplí go atá déanta againn. Le haghaidh lúb tamaill, dul céanna, tá tú go bhfuil roinnt de chineál initialization, shaghas éigin riocht, agus de shaghas éigin nuashonrú. Mar sin, is féidir linn a chur i bhfeidhm ar ár chun lúb freisin mar lúb ag baint úsáide as seo. Agus mar an gcéanna le dhéanamh linn lúb, d'fhéadfadh muid go bhfuil roinnt initialization, rud éigin a fhorghníomhú, cothrom le dáta é, agus ansin seiceáil an coinníoll. Mar sin, anois feidhmeanna. Chuireamar gach rud le chéile. D'fhéadfadh muid ag iarraidh a scríobh roinnt de chineál ar fheidhm. Feidhm Coiteann a d'fhéadfadh tú feicthe cheana féin is mó. Is é Príomh feidhm. Tá sé le cineál ar ais, o. Tá sé an t-ainm fheidhm, is mó. Agus tá sé argóintí, argc agus argv. Mar sin, tá príomh-ach feidhm. Feidhmeanna eile a bheadh ​​agat a úsáid, Is printf printf-- a function-- GetInt, cos. Ach a tharlaíonn sin a bheith i bhfeidhm do dúinn ag de shaghas éigin leabharlainne. Má cuimhin leat guys lena n-áirítear leabharlann CS50.h nó an I caighdeánach / leabharlann O. Sea, a cheistiú? LUCHT ÉISTEACHTA: An bhfuil is mó ach is gné dhílis de c? An bhfuil sé ach de chineál ar [inaudible]? Cainteoir 1: Is í an cheist más mó is gné dhílis de c. Agus tá, gach feidhm mbeadh fheidhm is mó. Tá sé de chineál is gá chun an ríomhaire go mbeadh a fhios nuair a thosú ag rith an cód. LUCHT ÉISTEACHTA: Mar sin, ní bheadh ​​agat [inaudible]? Cainteoir 1: Uimh Ceisteanna ar bith eile? Cool. Mar sin, díreach mar is féidir leat úsáid a bhaint as feidhm go atá scríofa ar do shon, is féidir leat chomh maith scríobh do fheidhm féin. Is feidhm sé seo go bhféadfadh duine éigin bhfuil scríofa a ríomh ar an toirt de q, mar shampla. Níl le cineál ar ais anseo, sa chás seo slánuimhir, ár n-ainm feidhm q agus ár liosta na bparaiméadar. Agus faoi deara go bhfuil tú a scríobh ar na sonraí cineál an paraiméadar is mian leat a a úsáid nó eile nach bhfuil an fheidhm Tá a fhios cén cineál Ba chóir dom a bheith ag glacadh le paraiméadar. Mar sin, sa chás seo, ba mhaith linn slánuimhir mar ár n-ionchur. Mar sin, d'fhéadfadh muid ag iarraidh cén fáth a feidhmeanna a úsáid? Gcéad dul síos, iontach do eagraíocht. Cabhraíonn siad a bhriseadh suas do chód isteach níos smután eagraithe agus a dhéanamh sé níos éasca le léamh. Simpliú. Tá sé seo go maith le haghaidh dearadh. Nuair a bhíonn tú ag léamh píosa cód agus is é an fheidhm is mó i ndáiríre, i ndáiríre fada, d'fhéadfadh sé a bheith níos deacra a chúis faoi cad atá ar siúl. Mar sin, má bhriseann tú sé síos i bhfeidhmeanna, fhéadfadh sé a bheith níos éasca le léamh. Agus athúsáid cumais. Má tá tú le smután de chód go bhfuil á ar a dtugtar nó a reáchtáil amanna éagsúla, in ionad athscríobh go cód 10 uair i do fheidhm is mó, d'fhéadfadh tú ag iarraidh a athúsáid air. Agus ansin gach uair is gá duit a úsáid go píosa cód, glaoigh ar an fheidhm. Mar sin anois má cuimhin linn ar ais go dtí scratch, Labhair muid freisin faoi roinnt coincheapa, ceann a bhfuil threading. Is snáithe an coincheap de il sraitheanna de chód forghníomhaitheach ag an am céanna. Mar sin, smaoineamh ar ais go dtí lá amháin nuair a bhí David tú guys comhaireamh as an líon na n- daoine sa seomra. Go bunúsach, bhí cad ag dul ar bhfuil gach ceann de tú guys a bhí ag rith snáitheanna ar leith. Agus raibh na snáitheanna ag teacht le chéile a fháil ar roinnt de chineál a fhreagairt. Mar an gcéanna, i Scratch, nuair a tá tú sprites il, d'fhéadfadh tú Tá cat agus madra. Agus go mbeadh siad a bheith ag an am céanna rith a gcuid scripteanna féin. Is é sin an sampla de threading. Agus an coincheap eile go raibh Imeachtaí a tugadh isteach i scratch a bhí. Agus tá imeachtaí codanna nuair iolraí de do chód cumarsáid a dhéanamh lena chéile. I Scratch, ba é seo nuair a d'úsáid tú an rialú craolta agus an Nuair a bheidh mé Faigh bloic. Agus freisin, i Set Fadhb 4, chonaic muid le beagán de-imeachtaí chomh maith. D'fhéadfadh guys tú ag úsáid leabharlann Gevent. Agus bhí feidhm waitForClick a raibh tú ag fanacht don úsáideoir a cliceáil. Agus do cliceáil, sa chás seo a bheadh, a bheith Tá an ócáid ​​agus fan cliceáil ar do láimhseálaí ócáid. Agus freisin, ar fud ag rith do psets agus ag obair ar do psets, tú d'fhéadfadh a bheith i dteagmháil le cuid de na horduithe. Is é seo a chlóscríobh tú i do fuinneog críochfort nó cibé fhuinneog go léiríonn suas ar do g in eagar do, go bunúsach, nascleanúint do ríomhaire. Mar sin, mar shampla, liostaí LS an ábhar eolaire. Déan Cruthaíonn eolaire fillteán nua. CD, eolaire athrú. RM, bain, scriosann comhad nó roinnt eolaire. Agus ansin bain eolaire Cuireann comhadlann. LUCHT ÉISTEACHTA: [inaudible]? Cainteoir 1: Yeah, cinnte. Tá brón orainn, bhí an cheist má tá tú fios a chur seo ar an mbileog cheat. D'fhéadfadh sé cabhrú leat. Má tá tú seomra, is féidir leat é a chur ar. Tá sé díreach chomh maith i gcoitinne go leor freisin a mheabhrú mar nuair a úsáideann tú é b'fhéidir gur mhaith leat ach Tá memorized sé. Feicfidh sin a dhéanamh do shaol i bhfad níos éasca. An raibh a fhreagairt mé do cheist? Mar sin anois, labhair muid le beagán go hachomair faoi leabharlanna. Ach an dá phríomh cinn go atá againn a bhí ag baint úsáide as go dtí seo i gcúrsa caighdeán I / O agus cs50. Cén cineál rudaí atá san áireamh i I caighdeánach / leabharlann O? Yeah, go dtí seo tá muid úsáid as printf. I cs50, tá muid úsáid as GetInt agus GetString. Agus a tharlaíonn an teaghrán cineál sonraí freisin a dhearbhú sa leabharlann cs50. Beidh muid ag labhairt beagán níos mó sa domhain faoi conas leabharlanna ag obair agus an tslí ar idirghníomhú leis an gcuid eile de do chód. Ach tá sin an dá phríomh-cinn a againn tar éis teacht i dteagmháil leis go dtí seo i ar an gcúrsa. Cineálacha. Tá siad seo go maith le cuimhneamh cé mhéad Tá gach cineál ionadú ag nó conas beart gach ceann de chineál requires-- slánuimhir, 4 bytes; ruabhric, 1 beart. Tá Snámhphointe 4 bytes. Cad is dúbailte? LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: Yeah, mar sin snámhphointe ach oiread an méid. Cad mar gheall ar fada? LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: OK. Cad is fada? LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: Yeah, dúbailte ina slánuimhir. Is ea. LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: Fada [inaudible]. Agus ansin tá fada fada dúbailte sin. LUCHT ÉISTEACHTA: No, no. Is fada ach slánuimhir. Braitheann sé ar an ailtireacht roimh an [inaudible] agus o Tá an méid céanna. [Inaudible]. Cainteoir 1: Mar sin, fada agus atá mar slánuimhir an gcéanna. Agus ansin le fada fada dhá oiread an slánuimhir. Cool. Agus ansin, cad é an cineál seo caite? LUCHT ÉISTEACHTA: phointeora. Cainteoir 1: Yeah, mar sin d'fhoghlaim muid beagán faoi threo. Agus is cuma cad is pointeoir D'fhéadfadh a bheith ag cur in iúl to-- sé ina réalta char nó slánuimhir star-- tá sé i gcónaí 4 bytes ar pointeoir. Ceisteanna faoi sin? Is ea? LUCHT ÉISTEACHTA: [inaudible]? Cainteoir 1: Mar sin, fada agus slánuimhir atá mar an gcéanna sa fearas cs50. LUCHT ÉISTEACHTA: An fearas go hiomlán inmhalartaithe. Cainteoir 1: Yeah. Mar sin, ansin is fada fada dúbailte de slánuimhir. LUCHT ÉISTEACHTA: Is é seo an 32 giotán? Cainteoir 1: 32 giotán, yeah. LUCHT ÉISTEACHTA: Mar sin, [inaudible]? Cainteoir 1: Is ea, más rud é nach ndéanann sé rá go sainráite, tá tú Ba cheart glacadh le 32 giotán. LUCHT ÉISTEACHTA: Bheadh ​​sé rud éigin a rá cosúil le glacadh le ailtireacht cosúil leis an fearas. Le haghaidh 64 giotán, na rudaí ach go Tá athrú ar longs agus leideanna. Bheirt acu [inaudible]. Cainteoir 1: Is ea? LUCHT ÉISTEACHTA: Ceist. Mar sin, ar cheann de na tráthanna na gceist cleachtais, Iarrann sé thart ar slánuimhir gan síniú. Mar sin, conas a bheadh ​​a chinneadh ó o [inaudible]? Cainteoir 1: An sín i freisin 4 bytes. Ach cad atá difriúil faoi sínithe o agus slánuimhir gan síniú? LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: Ceart. Is féidir ionadaíocht a dhéanamh ar luachanna diúltacha. Ach conas a dhéanann sé é sin a dhéanamh? LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: Yeah, Sábhálann sé 1 giotán chun ionadaíocht a dhéanamh ar an comhartha. An sínithe Tá beagán amháin Léiríonn an comhartha. Agus is é sín ach go léir positives. LUCHT ÉISTEACHTA: OK. Mar sin, deir tú go bhfuil dúbailte dhá oiread an méid a snámhphointe? Cainteoir 1: Tá Double dhó an méid snámhphointe, yes. LUCHT ÉISTEACHTA: Conas a dhéanann pointeoir le fada fada [inaudible]? Cainteoir 1: Mar sin, tá an cheist conas a dhéanann an pointeoir a long-- fada cé go bhfuil ach ceithre bytes nuair fada fada a 8 bytes. Mar sin, cuimhneamh ar cad is pointeoir, go bunúsach, ag an luach an-bonn. LUCHT ÉISTEACHTA: [inaudible]. Cainteoir 1: Yeah, mar sin pointeoir bhfuil ach suíomh cuimhne. Mar sin, ní dhéanann sé ábhar cé mhéad spáis go pointeoir dírithe ar. Riachtanais sé ach 4 bytes súil a choinneáil den suíomh chuimhne. Ceisteanna ar bith eile? Cool. Mar sin, an rud deireanach Tá mé Tá aschur caighdeánach. Ba chóir duit iad a úsáid go minic go leor gur féidir leat cuimhneamh. Ach tá sé seo nuair a úsáideann muid printf, mar shampla. Agus ní mór dúinn na ionadchoinneálaithe a Glaodh cóid formáid. Mar sin, faoin gcéad c ruabhric, faoin gcéad i do slánuimhir, agus is féidir linn a úsáid freisin faoin gcéad d. Tá sé an rud céanna. Ach, go ginearálta, i CS50 againn déan iarracht úsáid a bhaint as faoin gcéad i. Céatadán f le haghaidh snámh. Ld Céatadán le fada fada agus faoin gcéad s teaghrán. Mar an gcéanna, tá muid ag baint úsáide as roinnt de na seichimh éalúcháin. Mar shampla, cúlslais n le haghaidh líne nua. Tá sé seo ach le haghaidh nuair a bhíonn tú formáidiú do chód don chló f. Is ea? LUCHT ÉISTEACHTA: Cad é faoin gcéad d do? Cainteoir 1: Mar sin, an cheist cad é faoin gcéad d do? Tá Céatadán d do ints. Céatadán d agus faoin gcéad go bhfuil mé mar an gcéanna. LUCHT ÉISTEACHTA: Cad é an difríocht idir cúlslais n agus cúlslais r? Cainteoir 1: Mar sin, tá an cheist cad é an difríocht idir backlash n agus r backlash? I mo thuairimse, cúlslais r is-- LUCHT ÉISTEACHTA: Mar sin, le tuiscint cúlslais r díreach ar ais go dtí tús na líne gan dul i ndáiríre a líne nua. Mar sin, má tá tú a phriontáil ar r cúlslais agus tú dul ar ais go dtí an tús na líne ansin tú a phriontáil níos mó rudaí mar sin, scríobh tú an stuif go bhfuil cheana féin ar [Inaudible]. De bharr an méid, n téann i ndáiríre go nua Téann líne agus do [inaudible]. Cainteoir 1: Bhuel, aon cheisteanna eile? Gach ceart. Tá mé ag dul a lámh sé amach go Dan a aghaidh. [Bualadh bos] DAN: Gach righty. Mar sin, beidh mé ag caint faoi ar fud an ceann eile réimse smaointe ón rang atá thart ar ionadaí de sheachtain dhá agus tús na seachtaine trí ag tosú amach le réitigh, a bhfuil ach ar bhealach chóireáil le luach de chineál áirithe mar luach de chineál éagsúla. Mar sin, is féidir linn é seo a bhfuil carachtair a ints flótaí, le ints, agus longs fada a dhúbailt. Is féidir le gach ceann de na rudaí seo a úsáid mar bhealaí a bhaineann le caitheamh roinnt luach uimhriúil Char lúide roinnt eile luach uimhriúil. Mar sin, tá roinnt ceisteanna leis sin, de Ar ndóigh, a thagann nuair a chaith tú rudaí cosúil le snámh le ints. Mar sin, tá sé seo le beagán aisteach. Tá snámhphointe go bhfuil 1.31. Iolrú muid dó le 10,000. Agus ansin dúinn a phriontáil mar slánuimhir. Cad a dhéanann aschur seo? 10,000 uair 1.31. Mar sin, 13,000, is é sin an buille faoi thuairim? LUCHT ÉISTEACHTA: Sílim go bhfuil sé 10,000. DAN: Mar sin, tá mé ag iolrú dó le 10,000 os mé réitigh air. LUCHT ÉISTEACHTA: Ó. Ní bheadh ​​a bheith ann aon 9 agus roinnt 0 uimhreacha? DAN: B'fhéidir go bhfuil roinnt digití aisteach. Mar sin, ceart, tá sé 1.3 uair 10,000. Mar sin tá go 13,000. Agus seo weird-- breise LUCHT ÉISTEACHTA: 13,100. DAN: 13,100. Go raibh maith agat, Rob. Agus seo weirdness-- breise seo 9,9-- Is é ach mar gheall ar an réitigh dar críoch suas slánú síos i gcás ina níor chóir é a bheith. Yeah. LUCHT ÉISTEACHTA: A tharlaíonn an vóta réitigh tar éis aon rud eile? DAN: Mar sin, toisc go bhfuil mé seo i gcló, tá sé a dhéanann an iolrú os a a dhéanann an réitigh. LUCHT ÉISTEACHTA: [inaudible]. DAN: Sílim go mbeadh sé teilgthe ar dtús, yera yeah, bheadh ​​10,000. Rud ar bith eile? Cool. Mar sin, tá sé seo 13,099. Cén fáth a dtarlaíonn sé seo? Imprecision. Nach bhfuil floats foirfe. Is féidir leo ionadaíocht a dhéanamh ar uimhreacha le líon áirithe d'fhigiúirí bunúsacha. Mar sin, má chuirtear i gcló amach 8 figs SIG ar an snámhphointe, a fháil againn ar chineál an gránna ag lorg uimhir. Agus sin mar nach féidir 1.31 go cruinn ionadaíocht a dhéanamh simplí cumhachtaí dhá cheann i an meaisín. Mar sin chríochnaíonn sé suas ag cur an gaire buille faoi thuairim, a chríochnaíonn suas a bheith ina beagán íseal. Déan ciall? OK. Anois, tá aistrigh ar bhealach difriúil de ag déanamh ráitis coinníollach ina bhfuil gach cúram againn faoi go bhfuil athróg amháin. Mar sin, sa sampla ar leith, tá muid ag fáil slánuimhir ón úsáideoir. Agus ansin tá muid ag féachaint ar cad é go bhfuil slánuimhir. Is dócha, tá sé uimhir idir bliain amháin agus ceithre. Sin cad tá muid ag iarraidh. Mar sin, a dhéanann tú a chur ar athrú ar an t-ainm athraitheach. Ansin a chruthaíonn tú ar chásanna féideartha luachanna a d'fhéadfadh sé a bheith. Mar sin, cás amháin, a rá go bhfuil sé íseal. Agus ansin a bhriseann tú a fháil amach ar an gcoinníoll athrú amhlaidh ní gá duit a choinneáil ag dul. Sa case-- chugainn mar sin cás dhá agus cás three-- má tá sé cás dhá titeann sé díreach síos go dtí an chéad líne de chód a mheasann sé mar a bhfuil cás trí cinn go dtí go mheasann sé sos. Mar sin, an chúis a gheobhaidh tú cás amháin go ach go bhfuil cló íseal mar gheall mé Tá an sos anseo. Má mé, a rá, neamhaird seo break-- má chaith mé an breakaway-- bheadh ​​sé a phriontáil íseal, agus ansin go mbeadh sé phriontáil lár, agus ansin bheadh ​​sé sos. Mar sin, tá briseadh cuid thábhachtach na coinníollacha a aistriú agus ba chóir iad a bheith ann. Aon cásanna nach bhfuil luaite go sonrach láimhseálann an réamhshocraithe Ba chóir go gcás an lasc agus a chaitheamh. LUCHT ÉISTEACHTA: Mar sin, 1, 2, 3, agus go mbeadh 4 a n? DAN: Luachanna féidir a n. Is ea. Yeah? LUCHT ÉISTEACHTA: Mar sin, nuair a bhfuil tú go [inaudible]? DAN: Ba mhaith leat a phriontáil íseal, agus ansin bheadh ​​sé a phriontáil ar lár, agus ansin bheadh ​​sé sos. LUCHT ÉISTEACHTA: Cén fáth go mbeadh sé a phriontáil lár má [inaudible]? DAN: Mar sin, gach rud faoi cás sula dtagann sos faoi. Mar sin, gcás cló amháin cás thíos tá sé ar cheann mar an cló seo a leanas. Yeah? LUCHT ÉISTEACHTA: [inaudible]? DAN: Mar sin, tá uimhir amháin ar leith luach go bhfuil an athróg is féidir a ghlacadh, ceart? An bhfuil ciall? Yeah. LUCHT ÉISTEACHTA: [inaudible]? DAN: Sea, ba mhaith cás dhá priontáil lár agus ansin a bhriseadh. LUCHT ÉISTEACHTA: [inaudible]? DAN: I mo thuairimse, aon? Cad iad na cineálacha eile na sonraí Is féidir leat a aistriú thar? LUCHT ÉISTEACHTA: Is féidir leat athrú thar aon chineál sonraí. Ach ciallaíonn sé ach rud ar bith níos mó ná carachtair agus ints agus rudaí mar sin, mar gheall ar má tá tú ag athrú thar pointeoir Ní hionann sin a dhéanamh i ndáiríre ciall, athrú thar ualaí, más rud é in iúl go fiú ar a dhéanann tú sin, mar gheall ar phointe ar snámh i beachtas, ní bheadh ​​agat i ndáiríre ag iarraidh a dhéanamh sin ar aon nós. Mar sin, go leor i bhfad, ach ints agus carachtair agus rudaí mar sin. DAN: Sea, tá sé nuair a bhfuil tú follasach luachanna a fhios agat, I mo thuairimse, is féidir, a bheith go bhfuil a chur ar athrú i ndáiríre úsáideach. Dea? OK. Scóip an réimse go bhfuil dearbhaithe Síneann athraitheach. Mar sin, sa smután beag de chód agam, Bheadh ​​sé a bheith iomlán de earráidí. Agus is é an chúis a dhearbhú mé an slánuimhir i laistigh de raon feidhme seo le haghaidh lúb. Agus ansin tá mé ag iarraidh chun tagairt go mé taobh amuigh de sin do raon feidhme lúb. Mar sin, go bunúsach, is féidir leat smaoineamh ar raon feidhme mar aon rud a dhearbhaíonn tú le taobh istigh de sraith de braces chatach amháin ann laistigh de na braces gcuach. Agus má tá tú iarracht a dhéanamh agus a úsáid go athróg taobh amuigh de na braces gcuach, beidh tú fháil earráid as an Tiomsaitheoir. Yeah? LUCHT ÉISTEACHTA: Mar sin, nach bhfuil an ceann seo ag obair? DAN: Ní bhaineann sé seo ag obair, yes. Teaghráin. Teaghrán le Char *. Tá siad díreach mar an gcéanna. Tá siad ach leideanna do carachtair. Agus ba chóir aon teaghráin go bhfuil tú ag deireadh le cúlslais náid, a bhfuil ach coinbhinsiún c. Tá sé ar a dtugtar an Críochnaitheoir NULLComment. Agus NULL-- caipiteal N, caipiteal U, caipiteal L, caipiteal L-- Ní mar an gcéanna Terminator NULLComment. Is é seo an pointeoir. Is é seo an carachtar. Tá siad an-éagsúil. Cuimhnigh air. Beidh sé ar an tráth na gceist, is dócha. Ní fhaca mé an tráth na gceist. Yeah? Mar sin, NULLComment, a rá, an pointeoir: LUCHT ÉISTEACHTA? DAN: Is ea. LUCHT ÉISTEACHTA: Cad a dhéanann [inaudible]? DAN: Más rud é, a rá, tá malloc a dtugtar nuair a dhéanann tú nach bhfuil go leor cuimhne a fháil cibé méid a bhfuil tú ag iarraidh, Beidh malloc ais NULLComment. Tá sé, go bunúsach, aon uair a bhfuil feidhm ceaptha a thabhairt ar ais ar pointeoir, tú Ní mór a sheiceáil i gcoinne NULLComment mar gheall Is NULL a good-- deas tá sé, saghas, an luach truflais. Tá sé náid chomh fada agus mar a théann threo. Aon uair a ghlaonn tú feidhm, go tuairisceáin pointeoir. Tá tú ag dul a iarraidh a sheiceáil le bheith cinnte nach bhfuil an pointeoir NULLComment toisc go bhfuil NULLComment an-choitianta. Tá sé saghas tuairisceán truflais. Mar sin, más rud é nach raibh rud éigin a téigh ar dheis, ach ar ais NULLComment ina ionad. LUCHT ÉISTEACHTA: [inaudible]? DAN: Is ea, agus sin sin. LUCHT ÉISTEACHTA: [inaudible]? DAN: Spell sé mar sin. Tá sé an Críochnaitheoir NULLComment. Tá sé litreacha beaga N-U-L-L más tú ag litriú air. LUCHT ÉISTEACHTA: Agus chuaigh mé díreach tar ar ais agus a thástáil sé. Agus má tá tú iarracht a chur ar phointe ar snámh Luach isteach a chur ar athrú, beidh sé yell ag tú ag rá, éilíonn ráiteas abairt den chineál slánuimhir. DAN: Tá tú ag dul. Ach yeah, cad a bhí an cheist arís? LUCHT ÉISTEACHTA: [inaudible]? DAN: Mar sin caipitil N, caipiteal U, caipiteal L, is caipiteal L rud c iarbhír. Tá sé an pointeoir NULLComment agus beidh a áireamh ach amháin mar shampla. Ní bheidh tú iarracht riamh agus litriú na Carachtar NULLComment agus a fheiceáil ar bith bhealach eile seachas sin. Yeah? LUCHT ÉISTEACHTA: Mar sin, ag filleadh ar ruabhric max nó rud éigin sna nótaí, bheadh ​​sé embody an fheidhm chéanna mar [inaudible]? LUCHT ÉISTEACHTA: Mar sin, tá tú ag tagairt do ag filleadh max char as getchar, nó is cuma cad é? LUCHT ÉISTEACHTA: Yeah. LUCHT ÉISTEACHTA: Yeah, mar sin an ginearálta téarma do na rudaí sin go léir Is iad na luachanna fairtheoirí. Mar sin, cosúil le filleadh max slánuimhir ó GetInt agus max Char ó getchar, tá sé ceaptha a bheith cosúil le, ceart go léir, más rud é na rudaí seo ag filleadh chugainn, rud éigin a chuaigh mícheart. Do leideanna, táimid ag tarlú ach go bhfuil an luach fairtheora go bhfuil gach duine Aontaíonn ar. Agus is é seo an rud is tú ar ais nuair a théann rudaí mícheart. Mar sin, tá uas char cad tá muid ag baint úsáide as chun ionadaíocht a dhéanamh ar rud éigin cosúil le NULLComment nó getchar. LUCHT ÉISTEACHTA: Mar sin, má tá tú ag tástáil getchar, d'fhéadfaí tú a chur díreach NULL? Ar mhaith a difríocht a dhéanamh? DAN: Ní fhéadfá a sheiceáil díreach NULLComment. Gur mhaith leat a sheiceáil max Char mar gheall ar an Tá luach ar ais ó na feidhme go ní carachtar pointeoir. Yeah? LUCHT ÉISTEACHTA: Iarrann an cheist seo le haghaidh an fad teaghrán. An bhfuil go n-áiríonn an carachtar NULLComment? DAN: Uimh Agus sin i ndáiríre conas a fhad teaghrán a fhios a stopadh mar go dtéann sé trí do sraith de charachtair dtí Feiceann sé carachtar NULLComment. Agus ansin tá sé cosúil le, ar fad ceart, tá mé ag déanamh. LUCHT ÉISTEACHTA: [inaudible] cúig? DAN: Bheadh ​​Dia duit cúig. Yep. Mar sin, tá Eagair leanúnach bloic de chuimhne. Tá rochtain láithreach ag rá an ainm an eagar agus ansin, i chatach guailleáin, is cuma cad innéacs mian leat dul a, tá siad innéacsaithe ó náid trí fad an eagar lúide 1. Agus tá siad dearbhaithe ag an cineál na rud go bhfuil tú ag a stóráil i eagar, an t-ainm ar an eagar, agus ansin is cuma cad é an méid sin eagar. Mar sin, tá sé seo le sraith Char d'fhad sé go bhfuil na luachanna seo. Yeah? LUCHT ÉISTEACHTA: [inaudible]? DAN: Yeah. LUCHT ÉISTEACHTA: [inaudible]? DAN: Má tá tú ag a bhfuil ar siúl isteach an eagar déanta cheana féin. Mar sin, d'fhéadfaí tú a shonrú ina ionad mar, rá, ruabhric, is cuma cén t-ainm ar do Tá eagar, lúibíní folmha ionann chatach brace L camóg H camóga R camóga L camóg O camóga carachtar NULLComment guailleán curly. Bheadh ​​sé sin ag obair chomh maith mar dhearbhú. LUCHT ÉISTEACHTA: [inaudible]? DAN: Ansin is gá duit a bheith acu an méid atá déanta cheana féin. LUCHT ÉISTEACHTA: [inaudible]? DAN: Is ea. Gach righty. Tá argóintí ar bhealach dul ionchur ón úsáideoir mar argóintí main. Príomh Bíonn dhá argóint. An líon na n-argóintí atá á ritheadh ​​ar feadh an líne ordaithe agus veicteoir teaghrán nó sraith téad de gach ceann de na hargóintí. Mar sin má mé, a rá, ar a dtugtar feidhm den sórt sin ponc amach 1 spás, 2 spás, trí, Bheadh ​​argc a 4. Agus ba mhaith an argv 0 ina ponc amach. Bheadh ​​Argv1 a 1. argv2 bheadh ​​go mbeadh 2 argv3 a 3, sa chás áirithe sin. Yeah? LUCHT ÉISTEACHTA: [inaudible]? DAN: An ghné dheireanach den eagar toisc go bhfuil an sraith argc fad móide ar cheann de na argb, an ghné dheireanach Is é an pointeoir NULLComment. Is argc móide 1. Mar sin, i gcás a dúirt mé díreach tar éis, é a bheadh ​​argv 0 Is ponc amach. argv Tá 1 1. argv2 2 argv Tá 3 3. argv 4, atá ar cheann níos mó ná mar a argc bheadh ​​NULLComment. Agus sin an pointeoir NULLComment. Is ea. Agus sin toisc go bhfuil teaghrán Is réalta Char pointeoir. Mar sin, tá sé le bheith ar an chineál céanna. Yeah? LUCHT ÉISTEACHTA: dhá cheist. Mar sin, ceann amháin, cad é an difríocht idir seo agus GetString eile seachas chineál amháin an t-inneall úsáideora? Agus dhá, stóráiltear é laistigh do chuimhne le déanaí? Mar sin, cosúil le, bheadh ​​GetString a [inaudible]? DAN: I gcás ina stóráiltear é? Níl a fhios agam nuair a tá sé stóráilte. LUCHT ÉISTEACHTA: Mar sin, i ndáiríre, tá a fhios agat conas is féidir aon fheidhm a ghlaonn tú go bhfuil sé argóintí atá stóráilte sa an chairn? Mar sin, tá argc agus argv argóintí main agus tá siad ar an chairn, nó i ndáiríre díreach os cionn cad a cheapann tú mar tús an chairn. Cad é an chuid eile den cheist? LUCHT ÉISTEACHTA: Mar sin, cad é an [inaudible]? DAN: Sea, tá sé ach ar bhealach difriúil dul ionchur ón úsáideoir. Seo ar cheann s beagán níos éifeachtaí agus tá sé handier do scripteanna toisc go bhfuil tú Is féidir argóintí pas a fháil ach ar do phríomh- fheidhm seachas a bheith ag fanacht d'úsáideoirí más rud é nach bhfuil tú ag aon-úsáideoirí. LUCHT ÉISTEACHTA: Agus yeah, teaghráin a fháil bheadh ​​[inaudible]. Bheadh ​​sé a stóráil an stuif is gá duit. DAN: Yeah? LUCHT ÉISTEACHTA: [inaudible]? DAN: Sea, folaíonn argv 0 i gcónaí ar an ponc Slais an glaoch feidhme. Yeah? LUCHT ÉISTEACHTA: [inaudible]? DAN: Tá, tá gach ceann de na hargóintí dar críoch i carachtar NULLComment mar gheall siad Tá teaghráin. LUCHT ÉISTEACHTA: [inaudible]? DAN: Tá, tá argc argv pointeoir NULLComment. LUCHT ÉISTEACHTA: [inaudible]? DAN: Oh yeah. Yeah, tá brón orainn. LUCHT ÉISTEACHTA: Mar sin, [inaudible]? DAN: Mar sin, tá an cheist má bhí tú ar an -orduithe ponc Slais ponc amach 1, 2, bheadh ​​líon na n-orduithe argóintí a bheith dhá nó go mbeadh sé trí? LUCHT ÉISTEACHTA: I mo thuairimse, ní dhéanann sé ábhar i ndáiríre. Claonadh agam a rá, OH, ní raibh tú pas a fháil aon argóintí nuair, ar ndóigh, ar a dtugtar tú an fheidhm. Mar sin, claonadh agam a eisiamh vocally an feidhm na n-orduithe argóintí cé go bhfuil sé san áireamh i argv. DAN: Ach má bhí sé ar an test-- yeah-- agus freisin má deir tú rud éigin cosúil ionann argc 3, tá tú i seasamh sábháilte. Yeah? LUCHT ÉISTEACHTA: [inaudible]? DAN: I mo thuairimse, más rud é in ionad an glaoch seo i argc agus téad lúibíní argv ach choinnigh na cineálacha céanna agus díreach ar a dtugtar rud éigin dóibh éagsúla cosúil le agus b, bheadh ​​sé ag obair go fóill? Agus bheadh ​​sé ag obair go fóill, ba mhaith leat a just-- seachas úsáid a bhaint argc-- gur mhaith leat úsáid a agus b. Yeah? LUCHT ÉISTEACHTA: [inaudible]? DAN: Mar sin, tá an cheist is GetString dul cuimhne a stóráil i gcarn toisc go bhfuil GetString Char *. Siopaí sé cuimhne ar an gcarn mar gheall ar é glaonna malloc anois laistigh de na iarbhír cur i bhfeidhm GetString. OK, ag bogadh ar aghaidh. Slándáil. Mar sin, a bheith fírinneach slán, tú ag brath ar aon amháin agus deis a thabhairt duit aon rochtain duine ar bith de do chuid faisnéise, agus sin an fáth Tógann gach duine a n-innill féin, a gcuid córas oibriúcháin féin, go léir a n- cláir ó thús, agus ar ndóigh nach ceangal ar bith meaisíní eile tríd an idirlíon. Mar sin, tá ríomhairí neamhchinnte. Tá siad i ndáiríre. Ní mór dúinn a muinín do dhaoine eile. Agus is é an smaoineamh na slándála go bhfuil tú ag iarraidh chun teorainn a chur ar an méid muinín gur gá duit. Agus ar cheann de na bealaí a dhéanann tú sin Tá trí cripteagrafaíochta. Tá Cripteagrafaíochta, go bunúsach, ní mór dúinn rúin. Uaireanta, ní mór dúinn chun pas a fháil ar ár rúin chomh maith tríd, a rá, an t-idirlíon nó rudaí eile. Agus nach bhfuil muid ag iarraidh daoine a fhios ag na rúin. Mar sin, táimid chriptiú ár rúin isteach ar bhealach go bhfuil súil againn gur féidir aon duine a dhéanamh amach. Mar sin, táimid ag used-- tríd an gcúrsa seo class-- rudaí cosúil le Caesar cipher agus [Inaudible], a bhfuil an dá an-, an- bealaí neamhchinnte rudaí encrypting. Tá siad éasca a dhéanamh amach cad iad Tá agus cad iad do rúin. Úsáideann an saol fíor i bhfad níos mó scéimeanna criptithe casta. Agus ní bheidh muid ag dul isteach ar bhfad níos mó ná sin. Debugging. Is GDB an chuid is fearr. Tá mé ag dul a chur in iúl seo arís. Bain úsáid as GDB-am ar gach am tá fadhb agat. Tá Orduithe atá úsáideach i GDB bhriseadh, a théann tú a ceachtar ar líne uimhir, ainm feidhm, go bunúsach i gcás i do cód mian leat a stopadh, agus a bheith in ann a rialú a ghlacadh. Bíonn Priontáil athraitheach agus priontaí amach is cuma cad é go bhfuil athróg ag an pointe i do fhorghníomhú. Next mbogann do fhorghníomhú chomh maith céim amháin. Agus céimeanna taobh istigh de feidhm céim i do fhorghníomhú. Rudaí eile ar siúl, a bhfuil conas tú ag rith i ndáiríre ar do cód. Leanúint ar aghaidh Bíonn gach beart is gá a fháil go dtí an pointe sos seo chugainn. Agus tá go leor, go leor eile. Féach suas iad. Tá siad go hiontach. Yeah? LUCHT ÉISTEACHTA: [inaudible]? DAN: Is ea, a bhfuil dífhabhtóir. Mar sin, is dífhabhtóir clár a ligeann tú debug do chlár. Níl sé clár a fhaigheann bugs do tú, bheadh ​​cé go hiontach. Agus is é go deireanach dom cuardaigh. Mar sin, na cineálacha cuardaigh a labhair muid faoi ​​sa rang seo iad an cuardach líneach, a bhfuil ach go tú ag féachaint trí gach gné den spás cuardaigh, ceann eilimint ag an am, go dtí go bhfaighidh tú cad tú ag lorg nó go dtí go sroicheann tú deireadh na bliana do spás chuardaigh ag a pointe deir tú nach bhféadfaí tú an eilimint a bhí á lorg agat. Agus tógann sé seo an t-am is fearr tairiseach, atá 0 de 1 agus ag líneacha measa am, a bhfuil 0 de n. Cuardach Dénártha, a riachtanais eilimintí sordid. Théann tú go dtí an lár do eilimintí, a fháil amach an eilimint tú ag lorg Tá níos mó nó níos lú ná an eilimint go bhfuil tú ag an lár. Tá sé go bhfuil sé níos mó, a deir tú go bhfuil an bun de do chuardach go bhfuil spás do suíomh atá ann faoi láthair, an lár, agus atosú ar an bpróiseas. Má tá sé níos lú, a fhéachann tú a rá go the-- yeah, cad atá ar bun? LUCHT ÉISTEACHTA: [inaudible]? DAN: Is ea. Aon saghas saghas go bhfuil a mhúineadh i Is é an rang cluiche cothrom don tástáil. [Gáire] DAN: Agus ar an bhfíric nach bhfuil tú go raibh a dhéanamh le haghaidh sraith fhadhb, tá sé cothrom cluiche don tástáil. LUCHT ÉISTEACHTA: An féidir linn dul thar sé conas to-- DAN: Beidh sé a bheith imithe os a chionn. Cainteoir 2: An cód iarbhír do [Inaudible] Is ar study.cs50.net. Mar sin, má fhéachann tú ar an fhadhb a gcleachtas sa leathanach merge saghas study.cs50.net, tá an cód a chur chun feidhme merge sórtáil. Mar sin, ní gá duit a chur i bhfeidhm é féin anocht. Ach a dhéanamh cinnte go dtuigeann tú é in áit ná díreach memorizing air. LUCHT ÉISTEACHTA: [inaudible]? Cainteoir 2: An leathanach chumasadh saghas ar study.cs50.net, tá cleachtas fhadhb atá ann go, má tá tú cliceáil tríd an fhadhb, ag an deireadh an-tá réiteach, a bhfuil an cumaisc cur chun feidhme a shórtáil. Ach a dhéanamh cinnte go bhfuil tú é a thuiscint seachas díreach a memorizing sé nó a chóipeáil sé síos. LUCHT ÉISTEACHTA: Agus breá bailí Bheadh ​​fadhb don scrúdú a rud éigin cosúil le anseo liosta. Cad a dhéanann an liosta seo cuma mhaith tar éis céim amháin de na roghanna a shórtáil nó saghas a chur isteach nó cibé. Atriall amháin iomlán ar an liosta. Mar sin, fiú amháin más rud é nach bhfuil tú ag deireadh suas gá a cód chun é, is gá duit a thuiscint go leor chun a fhios conas tá sé ag dul a bheith a mhodhnú an eagar. DAN: Sin sé dom. [Bualadh bos] LUCAS: Hey gach duine. Is é mo ainm Lucas. Tá mé ag dul chun labhairt faoi athchúrsáil, gach na cineál atá foghlamtha againn, agus a beagán de gach threo. OK? Mar sin, an gcéad de gach, athchúrsáil. Cad a chiallaíonn sé a rá go Is feidhm athchúrsach? LUCHT ÉISTEACHTA: Glaonna féin. LUCAS: OK glaonna, é féin, yeah. Mar sin, mar seo pictiúr, mar shampla. Tá sé cosúil leis an pictiúr taobh istigh de pictiúr agus mar sin de. Mar sin, mar shampla, is féidir leat a have-- mar Dan go raibh ag caint faoi cuardaigh dénártha. Bealach amháin ina bhfuil cuardach dhénártha Is athchúrsach ar an bhfíric go bhfuil tú ag iarraidh teacht ar roinnt. Mar sin, a théann tú go dtí an lár. Agus ansin tú ag seiceáil má na huimhreacha ann sa chlé agus ar dheis. Agus ansin má fhaigheann tú amach go bhfuil an líon ag dul a bheith ar an taobh clé, tá sé mar an gcéanna rud mar a dhéanamh ar an cuardach arís, ach ach ar an taobh clé den liosta. Mar sin tá go conas fuaimeanna sé mar tá sé athchúrsach. Mar sin, go bhfuil an fáth a bhfuil tú guys Athchúrsach réiteach le haghaidh merge sórtáil. OK, tá sin anseo, mar shampla. Mar sin, a ligean ar rá go bhfuil Ba mhaith liom a roghnú na huimhreacha ó 1 go dtí n. Is féidir liom a thuiscint go bhfuil an suim na n Tá líon n móide n lúide 1 suas go dtí 1. Ach ansin, má fhéachann mé ar n lúide 1 móide n lúide 2 móide 1, go bhfuil an gcéanna rud mar uimhreacha achoimre suas go dtí n lúide 1. Mar sin, is féidir liom a rá leis an suim suim comhionann ionann n móide suim na n lúide 1. An bhfuil ciall? Agus ba mhaith liom a bheith chomh maith rud éigin eile ar a dtugtar an cás bonn, is é sin suim na n-uimhreacha suas go nialas bheadh ​​nialas. Mar sin, chomh luath agus a fhaigheann mé go dtí an líon náid, stop mé ag déanamh cuntais. An bhfuil ciall? Mar sin, tá anseo sampla de conas Is féidir liom a chur i bhfeidhm go. Mar sin, tá mé an fheidhm seo i roinnt. Sin Bíonn slánuimhir n. Mar sin anseo mé ag seiceáil ar dtús má tá n ionann níos lú nó go nialas. Mar sin, má tá sé níos lú nó cothrom le nialas, I ais náid, a bhfuil ár gcás bonn. Seachas sin, is féidir liom a thabhairt ar ais díreach tar n móide suim na n-uimhreacha ó ceann amháin go n lúide amháin. Déan ciall? OK. Mar sin, anseo cad tá sé cosúil. Tá tú suim 2 ionann 2 móide suim na 1. Agus tá roinnt de 1 1 móide suim 0, a bhfuil 0. Déan ciall? Mar sin, má táimid ar an chairn de do chuid chláir, is é seo cad tá sé cosúil. Gcéad dul síos, ní mór dúinn an fheidhm is mó. Agus ansin an fheidhm is mó ar a dtugtar tsuim 2. Agus ansin an tsuim 2 ag dul a rá, ó, suim 2 cothrom le 2 móide suim amháin. Mar sin mé ag cur suim 1 a ghabhann leis an chairn. Agus is é an suim 1 ag dul suim a ghlaoch 0, atá ag dul freisin a chur leis leis an chairn. Agus ansin gach ceann de na cinn atá ar bharr eile a thabhairt ar ais sular féidir na cinn eile a choinneáil ag dul. Mar sin, mar shampla, anseo, suim 0, ar dtús, ag dul a thabhairt ar ais 0. Agus ansin a roghnú suim 1. Ansin tá suim 1 ag dul go dtí ar ais 1 ar suim de 2. Agus ar deireadh, tá suim 2 dul a thabhairt ar ais 3 main. An bhfuil ciall? Tá sé i ndáiríre tábhachtach a thuiscint conas a Is é an chairn ag obair agus iarracht a dhéanamh fheiceáil má dhéanann sé ciall. OK, sórtáil sin. Mar sin, cén fáth a bhfuil sórtáil tábhachtach, gcéad de gach? Cén fáth ar chóir dúinn aire a thabhairt? Duine ar bith? Sampla a thabhairt dom? Yeah? LUCHT ÉISTEACHTA: [inaudible]. LUCAS: Yeah, ceart go leor. Mar sin, is féidir leat cuardach a dhéanamh níos éifeachtúla. Sin ar bhealach maith. Mar sin, mar shampla, ní mór dúinn a lán de na rudaí, i ndáiríre, in ár saol a atá curtha in eagar. Mar shampla, foclóirí. Tá sé an-tábhachtach go mbeadh na focail i roinnt de chineál ar ordú go bhfuil muid Is féidir rochtain a fháil go héasca. Mar sin, go bhfuil an méid a bhí á rá aige. Is féidir leat cuardach a dhéanamh níos éifeachtaí. Smaoinigh ar cé chomh deacair a bheadh ​​sé go mbeadh Foclóir ina bhfuil na focail i ord randamach. Feicfidh tú a bheith chun breathnú ar, go leor i bhfad, gach focal amháin go dtí go bhfaighidh tú an focal go bhfuil tú ag lorg. Má tá tú ag baint úsáide as Facebook chomh maith, nuair tú ag féachaint ar do chairde, tá tú ag dul a fheiceáil gur chuir Facebook do cara dlúithe atá ar bharr na cinn nach mian leat labhairt leis go bhfuil i bhfad. Má théann tú an bealach ar fad go bun do liosta chara, tá tú ag dul a fheiceáil daoine go bhfuil tú nach bhfuil dócha fiú cuimhnigh go bhfuil tú cairde leis. Agus sin mar gheall ar shaghas Facebook do chairde atá bunaithe ar an gcaoi a gar go bhfuil tú a thabhairt dóibh. Mar sin, a eagrú sonraí. Chomh maith leis sin Pokemon. Mar sin, a fheiceann tú go bhfuil gach Pokemons Tá uimhreacha. Agus sin cosúil le éasca bealach le teacht ar shonraí. LUCHT ÉISTEACHTA: Rochtain Pokemon. LUCAS: Yeah. LUCHT ÉISTEACHTA: [inaudible]. LUCAS: Yep. OK, mar sin saghas roghnaithe. Tá saghas Roghnú ag dul a roghnú an luach is lú neamhshórtáilte de liosta gach ceann am i ngach atriall. Tá sé cineál cosúil leis an saghas sin a dhéanann tú i do cheann nuair a bhíonn tú ag iarraidh a shórtáil liosta ar láimh. Go bunúsach, tá gach a dhéanann tú a fhéachann tú ar an líon is lú. Chuir tú é ar an liosta sórtáilte. Agus ansin tú ag féachaint do na chéad ré-uimhreach is lú. Agus ansin a choinneáil tú ag déanamh sin agus mar sin de. Dá bhrí sin tá saghas roghnaithe go bunúsach agat roghnaigh gach uair is lú luach neamhshórtáilte. Cuir ag deireadh na curtha in eagar mar chuid den liosta. Agus a choinneáil ag déanamh sin. Mar sin, a ligean ar a fheiceáil go tapa cad a Breathnaíonn sé seo cosúil. Mar sin, anseo an curtha in eagar agus liosta neamhshórtáilte. Mar sin, do curtha in eagar de liosta, tá sé ar dtús folamh. Agus ansin mé ag dul a roghnú an líon is lú anseo, a bhfuil 2. Mar sin liom a fháil ar an uimhir 2 agus chuir mé i os comhair an liosta. Agus ansin mé ag breathnú ar an lú chugainn eilimint, a bhfuil 3. Mar sin, chuir mé é ag an deireadh an liosta in eagar. Agus ansin a choinneáil mé ag déanamh sin. Bhfaighidh mé 4 agus é a chur ag an deireadh. Aimsigh 5 agus é a chur ag an deireadh. Agus breathnú ar conas gach ceann de na huaire go Tá mé ag rá é a chur ag an deireadh, go bunúsach, swapping dhá luachanna. OK? Agus ansin an ceann deireanach, tá tú díreach Tá gné amháin níos mó. Mar sin, tá sé curtha in eagar cheana. OK, mar sin saghas a chur isteach. Cuirtear isteach shórtáil bhfuil tú ag dul a bheith acu freisin go bhfuil rud go ndearna sé curtha in eagar agus liosta neamhshórtáilte. Is é an rud amháin go bhfuil gach uair a bhfuil tú ag cur gné don curtha in eagar liosta, roghnaigh tú ach an eilimint sin Tá os comhair an liosta neamhshórtáilte. Agus ansin tá tú ag dul chun teacht ar an méid seasamh ba chóir é a bheith sa sórtáilte mar chuid den liosta. A ligean ar a fheiceáil cad tá sé seo amhlaidh a dhéanann an ciall níos mó. Mar sin, ar dtús, mar shampla, tá mé ag iarraidh a chur isteach ar an uimhir trí sa chuid sórtáilte an liosta. Mar sin, nach bhfuil ar an liosta a bheith rud ar bith. Mar sin, is féidir liom a chur díreach ar an uimhir 3. Anois, ba mhaith liom a chur ar an uimhir 5 go an chuid sórtáilte an liosta. Mar sin mé ag féachaint ar an uimhir 5. Tugaim faoi deara go bhfuil sé níos mó ná 3. Mar sin, tá a fhios agam go bhfuil sé a bheith tar éis 3. Mar sin, chuir mé 3 agus 5. Ansin, ba mhaith liom a chur isteach ar an uimhir 2. Tugaim faoi deara go bhfuil an uimhir 2 i ndáiríre go deireanach ansin 3 agus 5 araon. Mar sin, tá mé i ndáiríre chun é a chur go léir an bhealach i tús an liosta. Mar sin, caithfidh mé a, de chineál ar, aistriú go léir an gnéithe ar an liosta curtha in eagar mar sin is féidir liom seomra a dhéanamh ar an líon 2. Ansin, Feicim an uimhir 6. Feicim gur chóir go mbeadh sé tar éis 5. Mar sin, chuir mé ansin é. Agus ar deireadh, ag amharc ar an uimhir 4. Agus Tugaim faoi deara ba chóir dó a bheith idir 3 agus 5. Agus ansin chuir mé sé ann agus athrú go léir na heilimintí eile. Déan ciall? Sórtáil mboilgeog. Mar sin, tá mboilgeog saghas bunúsach cad a bhfuil tú ag dul a do-- tugaimid mboilgeog saghas mar a théann tú tríd an list-- tá sé i ndáiríre níos fearr má léiríonn mé díreach tar Ar mhaith leat this-- agus tá tú ag dul a chur i gcomparáid uimhreacha in aice láimhe. Agus tá tú ag dul a mhalartú ar a poist más rud é nach bhfuil siad san ord ceart. Mar sin, go bunúsach, tá an méid dul chun tharlóidh anseo, mar shampla, tá tú 8 agus 6. Tá a fhios agat go mbeidh an t-ordú sórtáilte a iarbhír 6 agus 5, ceart? Mar sin, tá tú ag dul a babhtála na horduithe. Ansin, féach mé 8 agus 4 anseo. Agus is féidir liom an rud céanna. Babhtála mé arís. Agus ar deireadh, 2 agus 8. Mé babhtála dóibh freisin. Sé ar a dtugtar mboilgeog Sórtáil mar tar éis gach ceann de na iterations, i ndáiríre, Faigheann an líon is mó sa liosta go léir ar an mbealach go dtí deireadh an liosta. An bhfuil ciall? Toisc go gcoinníonn sé swapping sé agus a ghluaiseann sé leis an gceart. OK, mar sin is é seo an dara leagan. Bheadh ​​sé a bheith an rud céanna. Feicfidh mé a dhéanamh babhtála amháin agus ansin an ceann deireanach. I nach bhfuil aon babhtálacha agus tá liosta curtha in eagar. Mar sin, i Sórtáil Bubble, coinneoimid bunúsach ag dul tríd an liosta agus swapping rudaí go dtí go Tugaim faoi deara nach raibh mé a dhéanamh babhtála sin a dhéanamh atriall, a Ciallaíonn sé go bhfuil an liosta in eagar cheana. Déan ciall? A ligean ar labhairt le beagán faoi ​​am ag rith. Mar sin, a dhéanann tú guys cuimhin Mór O, Omega, agus Téite? Yeah? OK, cad é Big O, ar an gcéad de gach? LUCHT ÉISTEACHTA: [inaudible]. LUCAS: Yeah, tá sé ar a dtugtar cás is measa runtime, rud a chiallaíonn go díreach go bhfuil sé cé mhéad tú ag súil leis an gclár a ghlacadh a reáchtáil. Cosúil, i dtéarmaí of-- sa case-- seo n. An líon na n-eilimintí sa liosta sa chás is measa. Cosúil, sa chás is measa is féidir. Mar sin, le haghaidh Sórtáil mboilgeog, mar shampla, ní mór dúinn O Big n cearnach. Cén fáth a bhfuil againn go? Cén fáth go bhfuil mboilgeog Sórtáil Big O n cearnach? LUCHT ÉISTEACHTA: [inaudible]. LUCAS: Yeah, mar sin beidh an cás is measa a go mbeidh mé a dhéanamh iterations n. Mar sin, tá gach ceann de na iterations ag dul go dtí an ghné is mó a thabhairt go dtí deireadh an liosta. Mar sin, is é an cás is measa go bhfuil mé a dhéanamh ar an rud sin n amanna. Agus do gach ceann de na huaire, caithfidh mé a dhéanamh babhtálacha n toisc go bhfuil mé a chur i gcomparáid gach dhá ghné. Mar sin tá sin an fáth go bhfuil sé n cearnógach mar tá sé n-uaire n. Ansin, tá saghas roghnú freisin n cearnach mar gheall ar, i gcás gach atriall, caithfidh mé a breathnú ar gach gné amháin ar an liosta. Agus ansin teacht ar an lú, rud a chiallaíonn go bhfuil mé a breathnú tríd eilimintí n. Agus caithfidh mé a dhéanamh go amanna n mar gheall ar Caithfidh mé a roghnú go léir na heilimintí n. Tá saghas isteach freisin n cearnach mar go mbeidh an cás is measa a bheith, ar cheann, caithfidh mé a chur isteach líon na n, ceart? Mar sin, tá a fhios agam cheana féin go bhfuil mé ag dul go mbeadh iterations n. Ach do gach ceann de na huimhreacha sin, má bhí mé chun breathnú ar gach ceann de na huimhreacha i an liosta in eagar agus a chur go léir ar an mbealach i tosaigh, a bheidh n cearnógach toisc go mbeidh sé a bheith n tráthanna n arís. Déan ciall? Cad mar gheall ar óimige? LUCHT ÉISTEACHTA: [inaudible]. LUCAS: Tá sé an scéal chás is fearr. Mar sin, tá sé cosúil le, i go leor de na huaire do sórtáil, is é an scéal chás is fearr nuair a bhíonn an liosta in eagar cheana. Mar sin, ní gá duit i ndáiríre aon ní a dhéanamh. Tá Sórtáil mboilgeog is fearr scéal gcás n. An bhfuil tú guys fhios agam cén fáth? LUCHT ÉISTEACHTA: [inaudible]. LUCAS: Yeah, más rud é go gcoinníonn tú súil a choinneáil ar cibé an raibh chandam na sonraí babhtála nó Níl, má tá tú rud éigin cosúil leagtha chun fíor má bhí atriall, má tá an Tá liosta curtha in eagar cheana, go bunúsach, cad atá ar siúl le tarlú go bhfuil mé ag dul go iarracht a mhalartú gach dhá eilimintí aice láimhe. Tá mé ag dul a fheiceáil go nach bhfuil aon babhtálacha. Agus mé ar ais díreach ar an bpointe boise. Mar sin, ciallaíonn sé go raibh mé díreach tar éis a dul tríd an liosta am amháin. Mar sin, tá sé mar go n Táim ag n-eilimintí. Cén fáth a roghnú saghas n cearnach? Yeah, fiú má tá an liosta in eagar, do gach atriall den saghas roghnaithe, mé a roghnú an eilimint is lú. Mar sin, Ciallaíonn sé sin go bhfuil mé amach chun breathnú ar chor ar na heilimintí sa neamhshórtáilte liostú agus teacht ar an íosmhéid le haghaidh gach atriall. An bhfuil ciall? Agus is é claíomh isteach tharla n mar gheall ar an cás go bhfuil mé ag iarraidh a chur isteach ar an uimhreacha agus gach ceann de na huimhreacha, nuair mé iarracht a dhéanamh a chur isteach orthu, féach mé go bhfuil siad Is iad sa riocht ceart. Ní féidir liom dul go léir a sheiceáil an ceann eile huimhreacha sa liosta neamhshórtáilte. Mar sin tá sin an fáth go mbeidh sé a bheith n. Déan ciall? Agus cad is téite? LUCHT ÉISTEACHTA: [inaudible]. LUCAS: Cad, tá brón orainn? Abair arís é. LUCHT ÉISTEACHTA: [inaudible]. LUCAS: Go díreach. Mar sin, is féidir leat a fheiceáil go bhfuil rogha amháin stóráil i Cumaisc a bhfuil thetas shórtáil. Agus sin toisc go bhfuil tú ach téite má tá an dá O Big agus Omega an gcéanna. OK. Agus ar deireadh, chumasadh saghas é i log n. Agus ansin, mar a bhí Dan ag rá, Cumaisc saghas Is de chineál ar cosúil leis an mbealach céanna go a dhéanann tú cuardach dénártha. Mar sin, gheobhaidh tú an liosta. Agus tá tú ag dul a ghearradh ina dhá leath. Agus ansin gearrtha tú iad i leath níos lú. Agus ansin tú chumasadh iad. Cuimhin leat guys sin, ceart? OK, mar a bhí sé ag rá. OK leideanna,. Mar sin, cad a pointeoir? LUCHT ÉISTEACHTA: [inaudible]. LUCAS: An seoladh. OK. Tá a fhios agam go léiríonn David a bunch físeáin de binky agus rudaí ag cur in iúl chéile. Ach is maith liom a smaoineamh ar threo mar ach sheoladh. Mar sin, tá sé ina athróg go bhfuil dul a stóráil seoladh. Mar sin, tá sé ach an athróg speisialta is é sin ceithre bytes fada. Cuimhnigh, is é sin pointeoir le haon ní i gcónaí ar cheithre bytes fada le haghaidh ár 32-giotán meaisín mar sin an cás le an fearas. Agus tá sé ach an suíomh athróige taobh istigh de sé. OK, mar sin níl an chuimhne, go bunúsach. Mar sin, tá i ndáiríre ar gach bloc cuimhne a lipéad, a bhfuil an seoladh an cuimhne slotty. Mar sin, Ciallaíonn sé sin gur féidir liom a bheith a dírithe pointeoir chuig aon cheann de na seoltaí. Mar sin, is é an fáth beidh muid ag úsáid a bhaint as leideanna má tá mé cuimhneamh ar an suíomh go bhfuil athróg ar leith cuimhne. Agus tú guys cuimhneamh go bhfuil ceann de na cásanna má tá mé feidhm má tá mé i ndáiríre is mian leat a babhtála do reals, mé i ndáiríre a sheoladh pointeoir. Níl an athróg. An bhfuil tú guys cuimhneamh go? An between-- difríocht cad é an t-ainm? Ag glaoch réir luacha agus ag glaoch faoi ​​threoir, ceart? OK, yeah. Mar sin, glaoch réir luacha. Nuair a sheolann tú ach athróg a fheidhm go bhfuil tú ag a sheoladh ach luach. Mar sin, tá tú ag a sheoladh iarbhír cóip den athróg. Agus ní fhéadfadh do chlár cúram níos lú faoi ​​má tá an athróg chéanna i ndáiríre Déanann cóip. Agus ag glaoch faoi Ciallaíonn tagairt go Tá mé i ndáiríre a sheoladh cóip den pointeoir leis an athróg. Mar sin, ciallaíonn sé go bhfuil mé ag sheoladh chuig an suíomh den athróg. Mar sin, ciall agam an suíomh na athraitheach, nuair a ghlaonn mé an fheidhm le leideanna, tá mé in ann a iarbhír athrú ar na sonraí a bhí i mó. Déan ciall? Cé go bhfuil an pointeoir cóip, an Tá pointeoir fós ar an seoladh fíor an athróg gur mhaith liom a athrú. Déan ciall? Mar sin, leideanna a chruthú. Cuimhnigh, an pointeoir i gcónaí an cineál go bhfuil sé ag cur in iúl agus ansin ar le réalta. Agus ansin a chuir tú an t-ainm. Mar sin, cuimhnigh go bhfuil aon uair a bhfuil tú cibé réalta, tá sé cosúil le pointeoir chuig go bhfuil cuma cén athróg cineál go raibh tú. Mar sin, anseo i réalta, mar shampla, tá sé pointeoir agus slánuimhir. Agus ansin tá réalta char pointeoir réalta ruabhreac agus mar sin de. Yeah? LUCHT ÉISTEACHTA: Cad a tharlaíonn má ní mór dúinn a pointeoir go n le réalta x. Tá a fhios agam go gcruthaíonn sé pointeoir x. An bhfuil sé a dhearbhú freisin x slánuimhir? LUCAS: OK, mar sin nuair a deir tú n réalta x, nach bhfuil tú ag a chruthú pointeoir chuig x athraitheach. Tá tú ag a chruthú pointeoir ainmnithe x. LUCHT ÉISTEACHTA: [inaudible]. LUCAS: Mar sin, nuair a rá liom n réalta x, tá mé ag rá, hug, i gcuimhne, tá mé ag dul go dtí ceann amháin de na trí boscaí a fháil. Agus mé ag dul a rá go bhfuil sin ag dul a bheith x, a bhfuil ag dul a bheith ina pointeoir. Agus rud suimiúil faoi leideanna is é sin le rá go bhfuil siad 4 bytes le haghaidh inneall 32-giotán. Agus is é an chúis atá leis sin mar gheall ar Tá 4 bytes 32-giotán. Agus meaisíní atá 64 giotán iarbhír Tá leideanna seoltaí go bhfuil 64 giotán fada. Mar sin, ciallaíonn sé ach go bhfuil an méid de na seoltaí i meaisín éagsúla. Mar sin, Tagairt agus Dereferencing. Tá dhá oibreoir a ba chóir duit guys cuimhneamh orthu. Is é an chéad ampersand. Is é an dara réalta. Ná fháil ar dhaoine eatarthu ag an réalta agus tá sé seo réalta cuimhnigh mar sin, i chás seo, tá tú n réalta. Tá sé cosúil le rud ar fad le chéile. Níl aon réalta spás n. Mar sin, ciallaíonn sé go bhfuil sé an cineál. Cuimhnigh, nuair a bhfuil tú an réalta athraitheach, tá tú ag caint faoi an cineál. Nuair a bheidh tú díreach tar réalta agus ansin an ainm an athróg, ciallaíonn sé go tú ag dereferencing an pointeoir, a Ciallaíonn sé sin go bhfuil tú ag féachaint ar an pointeoir, teacht ar an seoladh is dírithe ar, ag dul go dtí an seoladh sin, agus ag féachaint ar aon uair tá tú ann. Mar sin liom a rá mo mhic léinn go nuair a bhfuil tú réalta, ba cheart duit smaoineamh go bhfuil sé an giorrúchán an ábhair de. Mar sin, má tá tú pointeoir agus tú dhéanamh pointeoir réalta, tá sé an Ábhar an pointeoir. Mar sin, a théann tú chuig cibé atá sé dírithe ar agus ag féachaint ar an ábhar tairiseach. Agus is é an ampersand an gcéanna rud mar seoladh an. Mar sin, má tá mé athróg a-- mhaith, a ligean a rá go ndearna mé slánuimhir ar cothrom 3-- más mian liom a fháil ar an seoladh an athraitheach cuimhne, is féidir liom a dhéanamh go díreach ampersand a. Mar sin, tá sé seoladh ar. Déan ciall? Mar sin, tá anseo sampla. Seo ar iarraidh o b agus slánuimhir c. Mar sin, o ar ionann 3 modhanna a Tá mé ag dul chun dul go dtí chuimhne. Agus tá mé ag dul a aimsiú sliotán agus a chur ar an uimhir 3 anseo. Agus ansin is ionann slánuimhir b 4. Tá mé ag dul a dhéanamh ar an rud céanna. Téigh go dtí cuimhne agus a chur ar roinnt 4 i gceann de na boscaí. Agus is ionann agus o 5. Aimsigh bosca eile agus a chur ar uimhir 5. Mar sin, cad é an líne seo a dhéanamh amach? ionann n réalta pa ampersand a. Mar sin, an gcéad de gach, n réalta pa. Cad atá á dhéanamh air? LUCHT ÉISTEACHTA: [inaudible]. LUCAS: Yeah, mar sin n réalta pa, den chéad uair, Dearbhaíonn pointeoir ar a dtugtar pa. Agus ansin tá sé shannadh ar luach go pointeoir a bheith ar an seoladh ar. Mar sin, ampersand a. Ansin, má dhéanann mé pb réalta, cad is pb réalta? Ó, tá brón orainn. Seo ar iarraidh freisin. pb réalta n. Ciallaíonn mé ríomhaire réalta. Tá mé leithscéal sin. Tá sé an rud céanna. Ach anois tá mé go maith Cruinniú a chruthú pointeoir a b agus ansin pointeoir go c. Yeah? LUCHT ÉISTEACHTA: [inaudible]? LUCAS: Is ea. Mar sin, má théann tú chun cuimhne agus a théann tú go dtí an bosca go bhfuil an sainchód do pa, bhfuil tú ag dul iarbhír a féach ar aitheasc ar. OK? Yeah? LUCHT ÉISTEACHTA: [inaudible]? LUCAS: Yeah, tá pointeoir seoladh. Ná déan dearmad go. Tá sé cosúil leis an ceann is tábhachtaí chuid faoi threo. Níl a stóráil agus seoladh le roinnt athróg. Rud ar bith eile? Ceisteanna ar bith eile? OK. Mar sin, Leideanna agus Arrays. Cuimhnigh go bhfuil nuair is féidir liom slánuimhir eagar 3, go bunúsach, cad tá mé ag déanamh go bhfuil mé, de chineál de, á dhearbhú i pointeoir. Dá bhrí sin tá sraith cineál cosúil le pointeoir chuig áit ar leith i gcuimhne ar a bhfuil mé leithdháileadh trí sliotán do slánuimhreacha. An bhfuil ciall? Mar sin, nuair is féidir liom slánuimhir eagar 3, cad tá mé dhéanamh, go bunúsach, ag cruthú trí sliotán i gcuimhne. Mar sin, mé a fháil ach trí sliotán i gcuimhne. Mar sin, má dhéanann mé, ansin, sraith réalta, sé ciallaíonn go bunúsach an t-ábhar eagar, rud a chiallaíonn liom a scriosadh an pointeoir, téim go dtí an áit a bhfuil sé dírithe, agus chuir mé an uimhir amháin. Agus ansin, má dhéanann liom eagar réalta móide 1, go bhfuil an rud céanna a dhéanamh eagar lúibíní amháin, rud a chiallaíonn go díreach Téim go dtí an áit a bhfuil sé dírithe ar. Agus ansin an móide 1 a dhéanann dom a athrú seasamh amháin. Mar sin, Téim go dtí an bpost seo, i ndáiríre, agus a chur ar an uimhir a dó. Agus ansin, ar deireadh, nuair is féidir liom eagar móide 2, Téim go dtí áit dírithe eagar ag. Agus ansin mé ag bogadh chuig bloic cuimhne. Agus ansin chuir mé an uimhir trí anseo. Yeah? LUCHT ÉISTEACHTA: Tá eagar Mar sin, réalta simplí ag rá an-an chéad phointe. Agus is féidir leat a chur 1, ach toisc tá muid ach i ndáiríre tagairt go chéad seoladh. LUCAS: Yeah. Cén fáth a bhfuil muid, mar shampla, a rá eagar 0, eagar 1, agus eagar 2? Tá mé ag rá, cén fáth a bhfuil tú a dhéanamh 0, 1, 2, 3 in ionad 1, 2, 3? Ceann de na cúiseanna, ceann, ríomhaire Is fearr ríomhchláraitheoirí chun tús a chur comhaireamh ó 0. Dó é mar nuair a dhéanann tú eagar 0, tá sé an rud céanna mar a dhéanamh eagar móide 0, rud a chiallaíonn Téim go dtí bpost sin, agus ní féidir liom skip aon bloic cuimhne. Mar sin, ní féidir liom a bhogadh ar bith bloic cuimhne. Yeah? LUCHT ÉISTEACHTA: [inaudible]? LUCAS: Mar sin, tá sí ag iarraidh ar cad é an difríocht idir a dhéanamh seo nó ag déanamh malloc. Ceann de na difríochtaí is go Is slánuimhir eagar 3 a chruthú eagar ar an chairn. Agus nuair is féidir liom malloc, é a Cruthaíonn ar an gcarn. An bhfuil ciall? Mar sin, ní conas a malloc obair i ndáiríre? Mar sin, cén fáth nach gá dúinn fiú malloc a úsáid? Do chineál tiomsaitheoir na figiúirí go léir na hathróga a dhearbhaigh tú. Agus cruthaíonn sé spás do gach acu sa an chairn. Mar sin, gach ceann de do athróg ag dul a bheith áit éigin sa chairn. Mar sin, anseo tá na hathróga timpeallachta. Mar sin, go bunúsach, spás do na hathróga i gcuimhne Leithdháiltear ag am a thiomsú. Mar sin, ciallaíonn sé go bhfuil do ríomhaire a fhios ag gach ceann de na hathróga roimh ré. Ní gá go mbeadh a fhios cén luach tú ag dul a chur iontu. Ach ní mór é a fháil amach conas cuimhne mhéad is gá duit. Ach a ligean anois a rá go bhfuil, mar shampla, bhfuil tú ag a chruthú le sraith nó ag cur ar teaghrán go bhfuil tú ag cur ón úsáideoir. Níl a fhios agat cé chomh fada an teaghrán ag dul a bheith, mar shampla. Mar sin, nach bhfuil a fhios agat go díreach cé mhéad bloic cuimhne a dháileadh tú, ceart? Mar sin, ní dhéanann sé a dhéanamh i ndáiríre ciall tú a rá a chur ar 100 carachtar. Agus ansin cad má scríobhann an t-úsáideoir 150? Tá tú ag dul a bheith screwed. Mar sin, go bunúsach, ní féidir leat a bheith cinnte ar conas a cuimhne mhéad is gá duit a leithdháileadh nuair a dhéanann tú a thiomsú ar an gclár. Tá a fhios agat go díreach ar an am a reáchtáil. Mar sin, go bhfuil an fáth a bhfuil tú ar an gcarn. Mar sin, tá an gcarn ag dul go bhfuil cuimhne go bhfuil tú ag leithdháileadh le linn na tréimhse an chláir reatha. Mar sin, go bunúsach, nuair a dhéanann tú malloc, cad bhfuil tú ag déanamh go bhfuil leithdháileadh cuimhne ag runtime, rud a chiallaíonn go bhfuil tú ceart cinneadh a dhéanamh ag an nóiméad go bhfuil tú Ba chóir go mbeadh go bhfuil cuimhne. Mar sin tá go bhfuil nuair a bhíonn tú an maoiniú a leithdháileadh. An bhfuil ciall? Mar sin, cuimhnigh, tá an chairn athróg atá cruthaithe ar am tiomsaithe. Agus ansin tá an gcarn athróg atá cruthaithe mar a théann tú le malloc, mar shampla. LUCHT ÉISTEACHTA: [inaudible]? LUCAS: Tá Mar sin, GetString dul malloc a ghlaoch. Lig dom labhairt faoi malloc, agus Feicfidh mé a mhíniú GetString. Mar sin, is é malloc an rud céanna mar leithdháileadh chuimhne. Mar sin, tá sé ag dul a leithdháileadh cuimhne ar an gcarn. Agus tá sé ag dul chun pointeoir ais nuair a leithdháileadh go bhfuil cuimhne ag. Mar sin, nuair a do-- tú anseo le haghaidh example-- pointeoir réalta n. Agus ansin is ionann pointeoir malloc méid na n-amanna orlach 10. Tá mé ag a chruthú pointeoir. Agus ansin tá mé ag shannadh go pointeoir le luach an pointeoir a malloc é a thabhairt dom. Malloc Mar sin, tá mé ag iarraidh is féidir leat a dháileadh spás do 10 slánuimhreacha. Sin an méid tá sé ag rá. Agus tugann malloc ais dom pointeoir leis an áit sin. Déan ciall? OK. Mé Agus GetString é, go bunúsach, ag déanamh glaoch chun malloc ionas gur féidir leat a dháileadh cuimhne i rith runtime. Cuimhneamh i gcónaí a sheiceáil le haghaidh nialasach toisc go bhfuil malloc dul null thabhairt ar ais más rud é nach féidir é a cuimhne a dháileadh. Ligean le rá go bhfuil a iarraidh ort le haghaidh ridiculous méid an chuimhne. Níl do ríomhaire ag dul a bheith in ann a leithdháileadh go bhfuil i bhfad. Dá bhrí sin tá malloc ag dul díreach a thabhairt ar ais null. Cuimhneamh i Mar sin, i gcónaí a sheiceáil má tá an Is pointeoir go bhfuair tú ó malloc Eolas faoin margadh saothair nó nach bhfuil mar gheall ar, má tá sé, d'fhéadfadh tú bheith dereferencing a pointeoir agus is cúis le lochtanna taobh. Agus ar deireadh, ná déan dearmad do chuimhne saor in aisce. Tá Malloc cruthú cuimhne i gcarn. Agus tá tú saor in aisce ar an chuimhne sula dtagann deireadh leis an gclár. OK, tá go léir dom. Tá brón orm, Rob. Go raibh maith agat. [Bualadh bos] LUCAS: Ceisteanna ar bith go deireanach roimh Rob Tagann? Uimh? Yeah? LUCHT ÉISTEACHTA: Ní raibh mé a fheiceáil seo ar líne amháin. An bhfuil tú é a uaslódáil go fóill? LUCAS: Sílim go bhfuil Dave athiarracht, más é go luath. DAVE: Beidh sé a chur sa phost. LUCAS: Beidh sé a bheith ar líne. LUCHT ÉISTEACHTA: Tá sé suas. LUCAS: Tá sé suas? OK. Yeah? LUCHT ÉISTEACHTA: [inaudible]? LUCAS: Sea, ba chóir duit saor in aisce go léir an cuimhne go bhfuil a chur ar an gcarn. LUCHT ÉISTEACHTA: [inaudible]? LUCAS: Is ea. Am ar bith go bhfuil tú malloc cultúr, Ba chóir duit a bheith cultúr saor ó tar éis duit stopadh ag baint úsáide as athróg. Tá Mar sin, malloc agus saor in aisce i gcónaí le chéile. A n-chairde is fearr. Yeah. Rob? ROB: beidh mé ag dul go tapa. Agus freisin beidh an físeán a chur ar bun. Tá mé an mic ar. OK, mar sin seachtain cúig rudaí. Is é chéad rud ní mór dúinn an chairn. Mar sin, cuimhnigh go níl ach chairn amháin fráma in aghaidh an glaoch fheidhm gníomhach. Beidh muid a fheiceáil go bhfuil sa dara. Agus cuimhnigh freisin cad a théann i ndáiríre i ngach fráma chairn ag dul a bheith na hathróga áitiúil ár bhfeidhmeanna, na hargóintí a ritheadh ​​isteach inár feidhmeanna, chomh maith le cúpla rudaí eile nach bhfuil tú i ndáiríre gá a bheith buartha faoi. Mar sin, tá anseo le clár mar shampla i gcás, Fógra, tá príomh printfing an tuairisceán luach na foo 4. foo ag dul díreach a thabhairt ar ais ar an luach na barra 4 camóg 6. Agus is é barra ag dul a shocrú ar roinnt áitiúil n athróg ionann agus 4 uaire 6. Agus ansin ar ais n. Mar sin, a ligean ar breathnú ar an chairn ar fud an leagan iarbhír an chláir seo. Mar sin, níl an bun ár chairn. Cuimhnigh go bhfásann an chairn suas. Mar sin, ag bun ár n-chairn, táimid Tá fráma chairn do phríomh. Nuair a thosaíonn an clár, is mó Tá dul i gcónaí a bheith ag an bun ár n-chairn. Agus cad é taobh istigh dár Stack fráma do phríomh? Mar sin, cé nach bhfuil aon áitiúla athróg main, mar a dúirt mé cheana, ní mór dúinn argc agus rgv dul i mbun spás taobh istigh de fhráma chairn mó. Mar sin, is mó ag dul anois go dtí glaoch ar an fheidhm foo. Agus Ciallaíonn sé sin go bhfuil foo ag dul go dtí a fháil ar a fráma Stack féin. Mar sin, anois tá muid taobh istigh de an foo feidhme. Agus cad is gá chun dul i fráma Stack foo Fir? Bhuel, tá foo argóint n. Agus n is ionann agus 4 ó go bhfuil an méid mó é a rith mar foo argóint. Mar sin, anois tá foo dul barra a ghlaoch. Cad é barra ag dul a bheith taobh istigh ar a 'fráma Stack? Tá x cothrom le 4 y cothrom go dtí sé. Ní sin go léir go bhfuil muid ag dul a bheith acu i bhfráma Stack gheall barra chomh maith go bhfuil athróg n áitiúil. Agus n táimid ag dul a shocrú cothrom le 24. Mar sin, anois go bhfuil barra dul n a thabhairt ar ais. Dá bhrí sin tá barra filleadh 24 go an foo fráma chairn. Agus toisc go bhfuil barra ag filleadh anois, go ciallaíonn táimid ag popping an fráma Stack chun barra as an chairn. Mar sin, go léir an chuimhne go raibh barra a bhí Tá baint úsáide as anois as an chairn. Anois, tá foo ag dul freisin a thabhairt ar ais 24 main. Mar sin, anois go bhfuil foo filleadh, an chuimhne Bhí go foo úsáid ina ' Tá fráma chairn imithe freisin. Agus anois, tá príomh dul printf a ghlaoch. Dá bhrí sin tá printf ach feidhm eile. Nuair a ghlaonn muid printf, tá sé ag dul a bheith fráma Stack eile don printf glao feidhm. Cad iad ag dul againn printf? Sin an méid atá ag dul chun dul ar a fhráma chairn. Ar a laghad, tá muid ag dul go faoin gcéad cúlslais i n agus an argóint 24. D'fhéadfadh sé a bheith níos mó i sé fráma Stack má tharlaíonn printf a bheith ag baint úsáide éigin athróga áitiúla. Níl a fhios againn. Ach go léir a théann i printf s chairn fráma. Tá sé seo ag dul a fhorghníomhú an printf. Ansin, printf atá déanta. Beidh sé ar ais. Ar deireadh, tá príomh-déanta. Beidh Príomh ais. Agus ansin is é ár gclár a dhéanamh. Yeah? LUCHT ÉISTEACHTA: An bhfuil tú ag féachaint ar [inaudible] argóintí [inaudible] paraiméadair? ROB: Mar sin, tá difríocht subtle idir hargóintí agus paraiméadair. Agus i ndáiríre, i labhairt coitianta, claonadh a bhíonn daoine a mheascadh ach iad suas go léir an t-am. Ach tá paraiméadair na foirmiúil ainm de na rudaí. Mar sin, argc agus argv iad na paraiméadair main. Tá Argóintí cad tú i ndáiríre pas a fháil i mar sin paraiméadair. Mar sin, tá nuair a ghlaonn mé foo de 4, 4 Is é an argóint mé ag dul i. Agus an paraiméadar n, taobh istigh de foo Bíonn, ar an luach 4 ó 4 go raibh an argóint. LUCHT ÉISTEACHTA: [inaudible]? ROB: Is n athróg áitiúil barra. Tá n fós áitiúla foo, ach tá sé ina paraiméadar a foo. Níl sé athróg áitiúil. Yeah? LUCHT ÉISTEACHTA: [inaudible]? ROB: barra Tá foo ag glaoch díreach agus filleadh cibé tuairisceáin bar. LUCHT ÉISTEACHTA: [inaudible]? ROB: Yeah, ach a fheiceáil il chairn frámaí. Yeah? LUCHT ÉISTEACHTA: Cén fáth a raibh foo ar a dtugtar roimh printf? ROB: Cén fáth a raibh foo ar a dtugtar roimh printf? Mar sin, d'fhéadfadh liom a bheith, ina ionad sin, déanta rud éigin cosúil le slánuimhir x ionann foo de 4 agus ansin clóite x. Ach ina ionad sin, in éineacht mé an fheidhm glaoch isteach ar an argóint printf. Ach faoi deara nach féidir linn i ndáiríre fhorghníomhú an glaoch chun printf go dtí go againn figiúr amach cad é foo de 4. Mar sin, táimid ag dul chun meastóireacht a dhéanamh ar seo. Agus ach aon uair amháin ar sin a dhéanamh ag dul chun teacht ar ais agus a mheas seo. Yeah? LUCHT ÉISTEACHTA: Ós rud é an dá bar [inaudible] luach, cén fáth nach bhfuil [inaudible] againn? ROB: Ba chóir dóibh a bheith go hiomlán slánuimhir. Ní raibh sin gafa thar Gabhann il. Mar sin, ba chóir é a barra o agus int foo ó an dá cheann de na ag filleadh slánuimhreacha. Tá neamhní ach amháin mura bhfuil siad ag dul a thabhairt ar ais na luachanna iarbhír. Yeah? LUCHT ÉISTEACHTA: Má bhí tú ar líne thuas an tuairisceán, [inaudible]? ROB: Líne os cionn an tuairisceán? LUCHT ÉISTEACHTA: Yeah. Cosúil má rinne tú printf agus [inaudible], bheadh ​​sé a phriontáil faoi dhó? ROB: Mar sin, taobh istigh de foo? Má bhí againn le printf dheis anseo? LUCHT ÉISTEACHTA: Yeah. ROB: Mar sin, más rud é go raibh ceart printf againn anseo, bheadh ​​sé a phriontáil aon uair amháin. Ós rud é go bhfuil muid ag glaoch foo uair ceart anseo, ansin beidh muid ag bhuail an printf. Ansin, beidh muid ag glaoch bar. Agus ansin beidh foo ar ais. Agus sin é. Táimid ag teacht ach riamh an printf uair amháin. Yeah? LUCHT ÉISTEACHTA: [inaudible] printf foo ag glaoch toisc go bhfuil muid an chéad ag glaoch printf agus ansin tá muid ag dul na hargóintí. ROB: Mar sin, go teoiriciúil, nach bhfuil, printf ag glaoch foo? Mar sin, gan aon. Díreach an t-ordú go bhfuil c ag dul go dtí fhorghníomhú na rudaí seo é, sula féidir linn glaoch ar fheidhm, gach ceann de na hargóintí d'fheidhm a a mheas go hiomlán. Mar sin, tá sé seo a mheas go hiomlán? Sea, tá sé ach teaghrán. Tá sé ach luach. Ansin, ní mór dúinn a go hiomlán meastóireacht a dhéanamh ar seo. Nuair a dhéantar seo, anois go léir a argóintí a mheas. Agus anois is féidir linn a dhéanamh ar an glaoch chun printf. Yeah? LUCHT ÉISTEACHTA: Ceist amháin. Má tá tú feidhm neamhní Ní mór, tá tú ar ais Leathstad? ROB: Ní gá duit a Leathstad ais má tá tú feidhm neamhní. OK. Mar sin anois roinnt rudaí gcarn. Mar sin, tá gcarn conas táimid ag dul chun déileáil le bainistíocht cuimhne dinimiciúil. Agus i gcodarsnacht sé seo go díreach leis an chairn a ba mhaith linn glaoch uathoibríoch bainistíocht chuimhne. Mar sin, ar an chairn, ní agat i ndáiríre chun déileáil leis an gcaoi na hathróga áitiúil á bhrú agus popped as gach na frámaí Stack agus go léir go stuif. Ní gá duit a bheith buartha faoi. Tá sé uathoibríoch. Mar sin, is é an gcarn láimhe. Agus an [inaudible] a thagann as na feidhmeanna malloc agus saor in aisce. Mar sin, anseo tá clár eile. Gach tá muid ag déanamh go bhfuil mallocing slánuimhir. Táimid ag a stóráil i réalta x. Ar ndóigh, ní mór dúinn a sheiceáil a fheiceáil má tá x null. Ansin, táimid ag dul a shocrú go díreach cad Tá x dírithe go 50. Priontáil an méid x atá dírithe ar, cló x, agus x ansin saor in aisce. Mar sin, cé go bhfuil seo ag dul i ndáiríre chun breathnú má táimid ar ár chairn agus carn? Mar sin, beidh muid ag tosú arís. An bun ár n-chairn is a bhíodh. Cuimhnigh go dhuit gcarn go díreach i gcoinne an chairn? Mar sin, táimid ag dul a bheith acu ar an bharr ár gcarn suas ann. Mar sin, an bun ár n-chairn, ní mór dúinn ár fráma chairn do phríomh. Tá sé an spás le haghaidh argc, argv, agus táimid tá x athróg áitiúil, anois a Is réalta slánuimhir. Mar sin, táimid ag dul a iterate tríd an gclár seo. Is é chéad rud atá againn glaoch chun malloc. Mar sin, tá muid ag déanamh glao ar malloc. Is Malloc feidhm. Tá sé seo ag dul a fháil fráma Stack. Cad iad ag dul muid a malloc? Go sé ag dul chun dul taobh istigh den fhráma chairn. Táimid ag dul méid n, a bhfuil 4. Mar sin, go bhfuil ar aghaidh chuig malloc. Cad a dhéanann malloc a dhéanamh? Grabs sé dúinn roinnt spáis ar an gcarn. Mar sin, táimid ag dul chun dul go dtí an gcarn. Agus táimid ag dul a grab 4 bytes as an gcarn. Mar sin, a ligean ar thabhairt go díreach seoladh treallach. 0x123 Just a ligean orthu go bhfuil seoladh atá ar an gcarn. Mar sin, cad é i ndáiríre taobh istigh de sin réigiún de chuimhne ag seoladh Ox123? Dramhaíl. Mar sin, ní mór dúinn aon rud ann a stóráil. Mar sin, chomh fada agus is eol dúinn, tá sé D'fhéadfadh a bheith rud ar bith. Níor chóir duit glacadh leis go bhfuil sé nialas. Tá sé an chuid is mó nach bhfuil náid dócha. Tuairisceáin sin malloc anois. Agus cad a dhéanaimid nuair a tuairisceáin malloc? Leagtha againn cad tuairisceáin sé. Leagaimid x comhionann leis an méid a Tá sé ar ais. Mar sin, cad é a sheoladh ar ais? Tá sé ag filleadh 0x123 ós rud é go bhfuil an seoladh an bloc na cuimhne go bhfuil sé ach a leithdháileadh ar an gcarn. Mar sin, ar ais 0x123 x ag dul anois a leagan síos cothrom le 0x123 a bheidh, go pictiúrtha, againn a tharraingt go minic mar x a bhfuil iarbhír arrow dírithe ar sin bloc. Ach tá x go díreach a stóráil an seoladh sin. Mar sin, anois ní mór dúinn a fháil amach an bhfuil x null. Níl sé null. Ligean go éirigh go malloc. Mar sin anois réalta x cothrom le 50. Mar sin, cuimhin réalta ciallaíonn sé téigh go dtí an seoladh sin. Mar sin, 0x123 Táimid ag dul a téigh go dtí an seoladh sin. Mar sin, a thugann dúinn suas ann. Cad atá á dhéanamh againn ag an seoladh sin? Táimid ag a stóráil 50. Mar sin, tar éis an líne seo, is é sin an méid rudaí ag dul chun breathnú cosúil. Mar sin anois tá sé a thuilleadh truflais suas ann. Anois tá a fhios againn go bhfuil 50 sa mhéid is go seoladh faoi leith mar gheall ar leag muid sé leis. OK? Mar sin, anois táimid ag dul f gcló. Mar sin, an chéad táimid ag dul a phriontáil réalta x. Mar sin, cad é réalta x? Arís, ciallaíonn réalta x téigh go dtí an rud go bhfuil x dírithe ar. Dá bhrí sin tá x stóráil 0x123 Téigh go dtí sin. Faighimid 50. Mar sin, a phriontáil f sin. Agus Ciallaíonn sé sin tá sé ag dul i gcló 50. Agus ansin go bhfilleann. Agus ansin ní mór dúinn an dara printf. Táimid anois faoin gcéad lch. Mura bhfuil tú ag feiceáil air, go ach conas a phriontáil duit pointeoir. Mar sin, ní mór dúinn faoin gcéad i, faoin gcéad f, agus gach ceann de na cheana. Mar sin, faoin gcéad p, a phriontáil ar pointeoir. Dá bhrí sin tá x ina pointeoir. Mar sin, má táimid ag dul i gcló x féin, táimid ag priontáil cad é i ndáiríre taobh istigh x, a bhfuil 0x123 sin, an chéad Tá cló f dul i gcló 50. Is é an f dara cló dul a phriontáil 0x123 Yeah? LUCHT ÉISTEACHTA: An bhfuil tú úsáid faoin gcéad x a phriontáil pointeoir? ROB: Mar sin, a dhéanann tú úsáid a bhaint as faoin gcéad x a phriontáil pointeoir? Mar sin, is féidir leat ach tá faoin gcéad x díreach, go ginearálta, le haghaidh mhaith má tá tú roinnt slánuimhir agus is mian leat a phriontáil sé mar heicsidheachúlach. Sin díreach conas a dhéanann tú sin. De bharr an méid, a bheadh ​​faoin gcéad d phriontáil mar dheachúlacha. Sin Raibh a fháil againn faoin gcéad d. Tá mé díreach tar éis slánuimhir. Tá faoin gcéad p sonrach do threo. Dá bhrí sin tá x ina pointeoir. Is mian linn a úsáid faoin gcéad lch. Ach d'fhéadfadh faoin gcéad x obair. Yeah? LUCHT ÉISTEACHTA: [inaudible]? ROB: Yeah. Ar a laghad ar an call-- sin mé Ní raibh san áireamh i anseo. Ach tá na dhá argóint gá taobh istigh den fhráma chairn mar aon le haon athróg áitiúla tharlaíonn printf a bheith ag baint úsáide. Agus ansin an chéad ghlaoch eile a printf anois taobh istigh de printf Tá fráma Stack faoin gcéad p cúlslais n agus cibé an Tá luach ar x, a bhfuil 0x123. Yeah? LUCHT ÉISTEACHTA: [inaudible]? ROB: Beidh sé rud éigin a phriontáil go Breathnaíonn mar seo. LUCHT ÉISTEACHTA: [inaudible]. ROB: Mar sin, priontaí sé é i bhfoirm seoladh. Breathnaíonn sé cosúil le seoladh. Yeah? LUCHT ÉISTEACHTA: [inaudible]? ROB: Cén fáth go bhfuil cad é? LUCHT ÉISTEACHTA: [inaudible]? ROB: Cén fáth go bhfuil an pointeoir 4 bytes? Mar sin, tá a bunch iomlán 0 i os comhair an. Mar sin, tá sé i ndáiríre 0x0000000123. Ar chóras 64-giotán, bheadh a bunch iomlán de níos mó nialais. Yeah? LUCHT ÉISTEACHTA: [inaudible]. ROB: Mar sin, an chéad printf ag dul a print-- LUCHT ÉISTEACHTA: [inaudible]. ROB: Sea, tá sé ag dul i gcló cén x Tá dírithe ar. Star deir cad é seo rud atá dírithe ar. Grab sé. Mar sin, cad é ag cur in iúl é? 50. Grab sé. Sin cad tá muid ag dul i gcló. De bharr an méid, an ceann eile, tá muid ach priontáil x féin. Cad é taobh istigh de f? 0x123. OK. Agus ansin, ar deireadh, ní mór dúinn an saor in aisce. Cad iad ag dul muid saor in aisce? Táimid ag rith x. An am sin ar taispeáint mé i ndáiríre sé i bhfráma Stack. Mar sin, táimid ag dul thar an luach 0x123 saor in aisce. Mar sin a fhios saor in aisce anois, ceart go léir, Caithfidh mé dul suas go dtí an gcarn agus saor in aisce a chuimhne. Tá sé seo a thuilleadh úsáid a bhaint as an méid Is ag an seoladh 0x123. Mar sin, saor in aisce ag dul a scaoileadh go ón gcarn. Anois tá ár n-gcarn folamh arís. Tá aon leaks cuimhne. Anois, beidh saor in aisce ar ais. Fógra go bhfuil x fóill 0x123. Ach is é sin anois nach bhfuil cuimhne bailí. Ba chóir dúinn a thuilleadh téigh x. Yeah? LUCHT ÉISTEACHTA: An bhfuil ar ais 0 iomarcach? ROB: An bhfuil returen 0 iomarcach? Is ea. Táimid a chur díreach go bhfuil mar gheall ar ní mór dúinn ar ais amháin don aer. Mar sin, tá sé cosúil le, yeah ligeann, Áirítear ar an tuairisceán 0. Yeah? LUCHT ÉISTEACHTA: [inaudible]? ROB: Mar sin, tar éis x saor in aisce, cad a tharlaíonn má iarracht muid a lean an pointeoir? Tá sé indéanta go dtéann aon rud mícheart. Tá sé indéanta go beidh orainn a fháil fós 50. Tá sé indéanta, chomh maith, go bhfuil an chuimhne á n-úsáid anois as rud éigin eile. Mar sin, tá sé iompar gan sainmhíniú. Agus ciallaíonn undefined rud ar bith Is féidir le tarlú. Yeah? LUCHT ÉISTEACHTA: [inaudible]? ROB: No, mar sin má shannadh tú x ar rud éigin eile. Mar sin, má tá ar dheis anseo dúirt muid ionann x rud malloc else-- event-- size malloc ansin bloc bunaidh de chuimhne nach bhfuil freed. Agus ní mór dúinn caillte go hoifigiúil é. Is é sin sceitheadh ​​cuimhne. Táimid tar éis caillte gach tagairt leis an bloc de chuimhne. Mar sin, níl aon bhealach is féidir linn saor in aisce riamh é. OK, mar sin ar ais ansin 0 acmhainn a dhéanamh. Gach ceart, thar maoil mar chairn. Cad é an smaoineamh anseo? Mar sin, cuimhnigh, tá gcarn ag dul síos. Stack ag dul suas. Mar sin, ba é seo an sampla ón léacht, I mo thuairimse, nuair is mó a bhfuil ag dul díreach a glaoch ar an fheidhm foo, atá ag dul chun glaoch féin go hathchúrsach os cionn agus arís. Mar sin, chairn frámaí ag dul go dtí ag obair go díreach mar an gcéanna. Mar sin, táimid ag dul chun tús a chur le príomh mar an fráma chairn bun. Ansin is mó ag dul foo a ghlaoch, a ag dul a fháil fráma Stack. Ansin, tá foo ag dul chun glaoch foo arís, tá a dul a fháil fráma chairn eile. Agus ansin arís, agus arís, agus arís, agus arís go dtí, sa deireadh, á reáchtáil againn isteach an gcarn. Mar sin, tá sé seo conas a fháil againn a thar maoil Stack. Agus ag an bpointe seo, seg locht agat. Nó ba mhaith leat i ndáiríre locht seg roimh an bpointe seo ach yera yeah. LUCHT ÉISTEACHTA: An bhfuil croí Dumpáil an mar locht seg céanna? ROB: Mar sin, beidh tú a fheiceáil deighilt croí locht dhumpáil. A gheobhaidh tú Dumpáil croí nuair tú seg locht. Agus tá sé cosúil le Dumpáil ar gach ceann de na ábhar do chuimhne atá ann faoi láthair mar sin gur féidir leat iarracht a dhéanamh agus a aithint cén fáth a Seg tú faulted. Yeah? LUCHT ÉISTEACHTA: [inaudible]? ROB: Mar sin, bhealach locht deighilt níl a thar maoil chairn. Mar sin, ní gá go. Ciallaíonn locht deighilt go bhfuil tú cuimhne touching ar bhealach ní ba chóir duit a bheith. Mar sin, tá bealach amháin go bhfuil ag tarlú, nuair a tú Stack thar maoil, tús a chur orainn touching cuimhne ar bhealach nár cheart dúinn a bheith. Yeah? LUCHT ÉISTEACHTA: [inaudible]? ROB: Mar sin, taobh istigh de lúb gan teorainn. Cosúil, tá sé seo cosúil le teorainn recursive lúb agus mar sin linn a fháil eile a Stack fráma gach uair. Ach amháin taobh istigh de rialta gan teorainn cé one-- go maith, a ligean ar nach phriontáil fiú f-- rud éigin a dhéanamh. Cibé. Níl muid ag dul a bheith ag fáil fráma chairn eile. Táimid ag dul díreach looping a choinneáil thar an treoir aonair. Níl an chairn ag fás. Tá sé an bhfíric go bhfuil gach ceann Athchúrsach Tá glao a thabhairt dúinn fráma Stack. Sin an fáth a fháil againn thar maoil chairn. Yeah? LUCHT ÉISTEACHTA: Mar sin, más rud a dúirt tú a fháil ar an cé go lúb agus ansin [inaudible]? ROB: Mar sin, más rud é taobh istigh den lúb fad bhí printf, ba mhaith leat go fóill locht nach seg. Mé díreach tar éis nach raibh ag iarraidh chun rudaí a chur amú. Bheadh ​​sé lúb. Gur mhaith leat a fháil ar Stack amháin chumadh don printf. Ansin, bheadh ​​printf ar ais. Ansin gur mhaith leat lúb arís. Gur mhaith leat a fháil ar Stack amháin chumadh don printf. Bheadh ​​sé ar ais. Fráma Stack Aonair. Mar sin, nach bhfuil tú ag fáil an teorainn piling suas frámaí chairn. LUCHT ÉISTEACHTA: [inaudible]? ROB: Is ea. Mar sin, a tharlaíonn sé seo thar maoil Stack mar gheall ar aon cheann de na glaonna a foo ag filleadh. Mar sin, má táimid ar ais, ansin ba mhaith linn tús a chailliúint frámaí chairn. Agus ansin ní ba mhaith linn a chairn thar maoil. Agus sin an fáth gá duit cás bonn do do fheidhmeanna pearsanta. Yeah? LUCHT ÉISTEACHTA: An bhfuil an méid féideartha agus an Stack an gcarn mar an gcéanna do gach clár? ROB: Thart. An bhfuil an méid a d'fhéadfadh an chairn agus an gcarn mar an gcéanna do gach clár? Thart. Tá roinnt randomization le i gcás a thosaíonn an chairn agus nuair a thosaíonn an gcarn. Má tharlaíonn tú go bhfuil a lán iomlán de na athróga agus rudaí domhanda, d'fhéadfadh tú a thógáil ar shiúl ó roinnt spáis do do gcarn. Ar chóras 64-giotán, tú beagnach Tá cuimhne gan teorainn. Níl ach an oiread sin. Idir 32 giotán agus 64 giotán, go Tá difríocht shuntasach. Tá tú ag dul a fháil ar a lán iomlán níos mó Stack agus spás gcarn ar 64-giotán Córas mar níl ach níos mó seoltaí gur féidir iad a úsáid. Ach ar chóras ar leith, beidh sé a bheith thart ar an méid céanna chairn agus spás gcarn. Gach ceart. Mar sin, tá rud deireanach tiomsú. Mar sin, ba chóir duit a fhios ag an bpróiseas seo. Tá ceithre céimeanna móra. Mar sin, ba chóir an chéad cheann a bheith éasca le cuimhneamh. Réamh-próiseála. Tá sé an réimír réamh ann. Mar sin a thagann sé roimh gach rud eile. Is é an rud a mheabhrú an hash. Mar sin, sainítear hash agus áirítear hash i ngach ceann de na. Glacfar go léir réamh-próiseálaí treoracha. Is iad seo na rudaí a bhfuil an Bíonn réamh-próiseálaí chúram. Mar sin, cad a dhéanann réamh-próiseálaí a dhéanamh? Tá sé an rud gur balbh. Gach tá sé in ann gach ceann de na cóip, agus a ghearradh, agus greamaigh oibríochtaí. Mar sin, folaíonn hash caighdeánach I0 ponc h. Cad é sin a dhéanamh? Tá sé ag grabbing an caighdeán I0 ponc h chomhdú agus pasting sé isteach ar an barr cibé áit a deir sé folaíonn hash caighdeán I0 ponc h. Agus aon hash a shainiú go atá againn le feiceáil, cad é sin a dhéanamh? A chóipeáil an luach go bhfuil an hash mínítear sin Is é an sainmhíniú agus pasting a cibé áit ina bhfuil tú ag baint úsáide as an luach. Mar sin, a dhéanann an réamhphróiseálaí ach i ndáiríre oibríochtaí téacs simplí a dhéanamh bunaithe. Déanann sé aon rud cliste. Mar sin, tá gach rud eile níos casta. Mar sin, anois go bhfuil réamhphróiseálaí rinneadh, ní mór dúinn a chur le chéile i ndáiríre. Mar sin, cad a dhéanann tiomsaithe? Táimid ag dul anois ó chód c le cód tionól. Yeah? LUCHT ÉISTEACHTA: [inaudible]? ROB: Yeah, rug muid go. Mar sin, a chur le chéile. Táimid ag dul ó c a thionól. Mar sin, is é seo an t-athrú teanga iarbhír. Ciallaíonn thiomsú féin ag dul ó teanga ar leibhéal níos airde a teanga ag leibhéal níos ísle. Agus is é c teanga ardleibhéil i gcomparáid le tionól. Cad is tionól? A treoracha atá, go leor i bhfad, a rinneadh le haghaidh do LAP. Ach a dhéanann do ríomhaire fós nach dtuigeann tionól. Tuigeann sé ach na cinn agus nialais. Mar sin, tá an chéad chéim eile i dtoll a chéile, a Tugtar léargas dúinn ó na treoracha a thuigeann do LAP agus ar ndóigh, aistríonn siad, go na cinn agus nialais. Mar sin, C a thionól go dénártha. Ach ní dóigh liom go bhfuil inrite go fóill. Mar sin, smaoineamh ar an leabharlann cs50. Curtha ar fáil againn tú le dénártha leabharlann cs50, a bhfuil GetString agus GetInt agus go léir. Ach an cs50 library-- i agus de itself-- nach bhfuil inrite. Ní chuireann sé a fheidhm is mó. Tá sé ach a bunch dénártha gur féidir leat é a úsáid. Mar sin, tá conas a nascadh a thabhairt dúinn le chéile go léir de na comhaid dénártha éagsúla isteach i inrite iarbhír. Amháin gur féidir leat cineál ponc Slais ponc amach. Mar sin, is é seo cosúil leis an comhad a bhfuil tú Scríobh, - is cuma cad do chlár is-- Ceaser ponc c. Ach anois tá sé curtha i dtoll a chéile síos go dtí dénártha. Mar sin, Ceaser ponc o. Agus é seo leabharlanna ár cs50 dénártha. Agus tá siad á gcomhcheangal isteach i inrite amháin. Yeah? LUCHT ÉISTEACHTA: [inaudible]? ROB: Mar sin, an chéad san áireamh, cuimhnigh, an hash Áirítear i ndáiríre ar céim réamh-próiseálaí. Ach sin ar leithligh. Más rud é nach bhfuil tú ag baint úsáide as aon fheidhmeanna a Is taobh amuigh de do comhad amháin sin, bith, ní gá duit aon rud a nascadh ós rud é go bhfuil tú gach rud. Tá sin ráite, printf a bheith nasctha i. Má tá tú ag úsáid riamh printf, tá go bhfuil rud éigin gur gá a bheith nasctha i toisc nach raibh tú ag scríobh go. Agus, go deimhin, is é printf huathoibríoch nasctha i. Tá a fhios agat conas ar an líne ordaithe, nó nuair tú a cineálcheadaíodh dhéanamh, a fheiceann tú go bhfuil sé cs50 l Fleasc, a bhfuil nasc sa leabharlann cs50? Printf, agus rudaí mar sin, ag dul a bheith nasctha go huathoibríoch. Ceisteanna ar bith eile ar rud ar bith? LUCHT ÉISTEACHTA: [inaudible]? ROB: Nascadh? Tá a bunch iomlán de Comhaid dénártha éagsúla. Is é seo an sampla Canonical go n-úsáidimid bhfuil leabharlann cs50. Táimid tar éis a thiomsú agus a thabhairt duit ar an dénártha leabharlann cs50. Ba mhaith leat úsáid a bhaint as GetString i do chlár. Mar sin, a théann tú agus a úsáid GetString. Ach gan mo cód dénártha GetString, nuair a dhéanann tú a thiomsú do chód síos, ní féidir leat a rith i ndáiríre do Clár toisc go bhfuil GetString Teaghrán Níl go fóill sainithe go hiomlán. Tá sé ach amháin nuair tú nasc i mo dénártha go bhfuil GetString sin anois, go léir ceart, is féidir liom i ndáiríre fhorghníomhú GetString. Is é mo chomhad iomlán. Agus is féidir liom a reáchtáil seo. Yeah? LUCHT ÉISTEACHTA: An Nascadh thiontú an dénártha chun inrite? Mar sin, fiú amháin más rud é nach bhfuil tú eile leabharlanna, ní bheadh ​​sé a bheith fós riachtanach a aistriú an [inaudible]? ROB: Mar sin, inrite tá sé fós i dénártha. Tá sé seo le chéile ach ina n-iomláine bunch binaries. LUCHT ÉISTEACHTA: Go raibh míle maith agat an méid sin. ROB: Fadhb ar bith. Ceisteanna ar bith eile? Seachas sin, tá muid go léir a leagan síos. Gach ceart. Go raibh maith agat. [Bualadh bos] LUCHT ÉISTEACHTA: Go raibh maith agat. ROB: Yeah.