[Ag seinm ceoil] DAVID J. MALAN: Tá sé seo cosúil seimineár freshman inniu. OK. Mar sin, an-coise tinne amach. Is nós le seo a tharlóidh ar an gCéadaoin, ach go léir an deis níos mó le haghaidh ceisteanna inniu. Sin a ligean le tús a chur amach i ndáiríre leis an scannán i díreach nóiméad. Ach beidh orainn tús a chur grandly mar i gcónaí. Tá an CS50, agus tá sé seo is é an deireadh seachtaine 4. Mar sin má tá tú ag faire ar riamh Teilifís nó ar scannáin wherein níl roinnt saineolaithe ríomhaireachta agus na póilíní, nó FBI, nó cuid díobh a ghníomhaireacht ag iarraidh a ghabháil roinnt adversary, go maith, tá tú is dócha chuala an abairt "feabhas a chur ar," trína go teicneoir bhealach magically zooms in infinitely i bhfad a fheiceáil na coirpigh aitheantais nó an uimhir phláta ceadúnais i fiú an shimmer de scáthán nó an glint de duine súl. Mar sin, go deimhin, a ligean ar ghlacadh le breathnú ar cúpla radhairc den sórt sin ó Hollywood. [VIDEO Archives] -OK, A ligean anois ar a fháil le breathnú go maith ag tú. -Hold É. Rith go ais. -Fan nóiméad. Téigh ar dheis. -Tá, Reo sin. -Lánscáileán. -OK, Reo sin. -Tighten Suas ar sin, beidh tú? -Vector I ar sin Guy ag an roth ar ais. -Súmáil I ar dheis anseo ar an láthair. -Le An trealamh ceart, an íomhá D'fhéadfaí a mhéadú agus a sharpened. -Cad É sin? -Tá Sé Tá clár feabhsaithe. An féidir leat soiléir suas ar bith? -Níl a fhios agam. A ligean ar a fheabhsú é. Alt A6 -Enhance. -I Feabhas ar an mion, and-- mo thuairimse, níl go leor chun feabhas a chur ar, é a scaoileadh le mo scáileán. -I Feabhas ar an machnamh in a súile. -Let Atá á reáchtáil seo trí feabhsú físeáin. -Edgar, Is féidir leat feabhas a seo? -Hang Ar. -I've Ag obair ar an machnamh. Machnamh -Someone ar. -Reflection. -Tá Tá léiriú ar an fear ar aghaidh. Machnamh -Déanfar. -Tá Tá léiriú. -Súmáil I ar an scáthán. -Is Féidir leat a fheiceáil léiriú. An féidir leat feabhas a an íomhá ó anseo? An féidir leat feabhas a dó ar dheis anseo? An féidir leat feabhas a é? An féidir leat feabhas a sé? An féidir linn a feabhas a chur ar seo? An féidir leat feabhas a é? -Hold Ar an dara, beidh mé a fheabhsú. -Súmáil I ar an doras. -Times 10. -Súmáil. -Move I. -Níos. -Wait, Stad. -Stop. -Pause É. -Rotate Dúinn 75 céim ar fud an ingearach, le do thoil. -Stop. Téigh ar ais go dtí an chuid mar gheall ar an doras, arís. -Got Ar enhancer íomhá is féidir a bitmap? -Hey, B'fhéidir gur féidir linn a bhaint as an Pradeep Sen modh a fheiceáil isteach na fuinneoga. Tá bogearraí -Tiocfaidh an úrscothacht. Is -Déantar eigenvalue as. -Le An ceart meascán de algorithm-- -He A glacadh deireadh a chur halgartaim go dtí an chéad leibhéal eile, agus is féidir liom iad a úsáid chun an grianghraf a fheabhsú. -Lock Ar agus ag méadú an z-ais. -Enhance. -Enhance. -Enhance. -Freeze Agus a fheabhsú. [END Archives] DAVID J. MALAN: Ceart go leor, mar sin Tá gach ceann de na iarbhír focail. Tá siad ag strung le díreach le chéile i bhealach nach bhfuil go i ndáiríre ciallmhar. Agus, go deimhin, cúrsaí CS50 agus maith liom é claonadh a ruin a lán de teilifíse agus scannáin ar do shon. Toisc nuair na saineolaithe ríomhaire Tá rattling as téarmaí agus ag rá rudaí mhaisiúil cosúil le eigenvectors, agus an z-ais, agus líon ar bith de eile iarbhír téarmaí níos teicniúla, tá siad i ndáiríre ach stialladh focail le chéile go léir ró-mhinic. An é go bhfuil ceann de ár súil go, mar bhfeidhm taobh de chúrsaí a ghlacadh mar seo, beidh níos mó daoine sa domhan a iarbhír in ann a weigh i agus díreach riamh mar sin beagán tionchar a imirt ar an cáilíocht agus cruinneas na scannáin? Go deimhin, a ligean ar ghlacadh le breathnú ar réaltacht. Mar sin, tá anseo an grianghraf fhoireann Mary, ar cheann dár comhaltaí teagaisc. Agus is dócha go bhfuil sí amhras ar rud éigin. Agus fós, níl a glimmer de roinnt píosa fianaise ina súile, nó i léiriú a cuid spéaclaí. Bhuel, má dhéanann muid díreach mar an scannáin mholadh, wherein zúmáil againn agus "feabhas a chur ar", is é seo an méid eolais Is i aghaidh Muire nuair a dhéanann tú a ghabháil íomhá leis an rún bunaidh. Agus, go deimhin, is féidir leat a fheiceáil na poncanna. Agus tá siad seo cad iad ar a dtugtar pixel, P-I-X-E-L-S, a bhfuil ach cearnóg tipiciúil go bhfuil ponc a composes an íomhá. Agus ar ais sa lá, agus ar ndóigh, fiú lá atá inniu ann le roinnt de an lae inniu stiúir teilifíseáin nó LCD teilifíseáin, má tá tú bhí ceann amháin i do sheomra nó sa bhaile, má théann tú suas go Super gar dó, agus go háirithe má tá sé ina teilifíse beagán níos sine, Is féidir leat is dócha a fheiceáil fiú na poncanna agus go bhfuil an méid a chumadh íomhá. Agus nach bhfuil aon níos mó eolas ná seo. D'fhéadfadh muid a "cur", de réir bhrí rudaí a smúdála thar agus saghas inferring cineál, saghas cad Ba chóir go mbeadh dath a bheith in aice le súile Mháire ionas nach bhfuil sé i ndáiríre mar sin pixelated. Ach má choinneáil mé zooming i, tá Is é an Guy olc i súile aici. Cosúil le go bhfuil go léir an eolas atá againn. Ní féidir leat a chruthú faisnéis as rud ar bith. Níl ach críochta líon na n-giotán ann. Mar sin, i Set Fadhb 4, i gcás ina tá tú deis a imirt leis an gcineál seo domhan. I Fadhb Set 4, beidh tú iniúchadh a dhéanamh ar an saol na grafaicí, agus forensics, agus ar ndóigh, a scríobh cód go recovers caillte íomhánna. Feicfidh tú ag scríobh cód a Láimhseálann íomhánna atá ann cheana féin agus ar deireadh thiar a thuiscint cad atá dul ar thíos an cochall. Agus, casadh sé amach, tá sé i ndáiríre ní léir go casta. Mar shampla, má bhíomar ag iarraidh ionadaíocht a dhéanamh ar aghaidh smiley áit leis na pixel dubh, nó na poncanna dubh, go maith, d'fhéadfadh muid a son go simplí iad mar go fírinneach bitmap. Agus má chuala tú riamh go bitmap abairt, b'fhéidir Tosaíonn sé anois a dhéanamh beag ciall níos mó sa lá atá inniu. Tá a fhios againn cheana féin cad is beagán. Tá sé 0 nó 1. Agus is é ar léarscáil ach rud éigin cosúil le píosa de pháipéar a thugann tú treoracha agus tá b'fhéidir greille na x- agus y-comhordanáidí. Mar sin, anseo tá bitmap. Tá sé ina léarscáil giotán trína 1 Tá cosúil dul chun ionadaíocht a dhéanamh picteilín bán, agus a 0 ag dul chun ionadaíocht a dhéanamh picteilín dubh. Ach d'fhéadfadh muid a smeach cinnte é thart. Ní chuireann sé ábhar i ndáiríre mar sin fada agus tá muid ag teacht. Agus is é anseo conas, i binary-- taobh istigh de chuimhne ar ríomhaire, nó fiú taobh istigh leis an gcomhad ar do crua drive-- d'fhéadfaí tú a stóráil an simplí na n-íomhánna aghaidh smiley. Ach cad tá muid, ar ndóigh, ann san íomhá seo? Dath, ceart? Tá sé an chéad chéim eile léir nó feabhsú chun feabhas a chur ar an le dath. Mar sin, ar an drochuair le ach amháin giotán, 0 nó 1, d'fhéadfadh muid ionadaíocht a dath. D'fhéadfadh sin a bheith dearg, nó gorm, nó dubh, nó bán, nó glas, nó bándearg, nó aon péirí dathanna. Ach ar mhaithe le simplíocht ar, beidh orainn ach glacadh leis dubh agus bán. Mar sin, cad a dhéanann loighciúil is gá dúinn má táimid Ba mhaith dath íomhá a chur i bhfeidhm? Cad a dhéanann ní mór dúinn a dhéanamh? Cosúil má tá an fachtóir a theorannú anseo is é sin le beagán amháin is féidir leat ach ionadaíocht a dhéanamh dhá stát, 0 nó 1, bán nó dubh, an bhfuil cad ba mhaith leat a dhéanamh? LUCHT ÉISTEACHTA: Níos mó sonraí. DAVID J. MALAN: Níos giotán, níos mó sonraí yeah, níos mó giotán. Agus, go deimhin, go cruinn conas Tá ionadaíocht íomhánna dath. In áit a úsáid le beagán amháin, 0 nó 1 i gcás gach picteilín, gach ponc, leat é a úsáid ach il. Úsáid b'fhéidir 8, b'fhéidir, níos coitianta úsáid 24, agus go deimhin, i Set Fadhb 4, beidh tú ag imirt le comhad formáid go n-úsáideann 24 giotán de ghnáth. Ach tá an chuid is mó de tú is dócha eolas maidir leis jpeg. Má tá tú ag glacadh riamh grianghraf ar do ghuthán, nó a uaslódáil nó le feiceáil rud éigin ar Facebook, nó Flickr, aon uimhir de láithreáin ghréasáin grianghraf-bhunaithe, tá tú feiceáil dócha íomhá JPEG roimh. Agus casadh sé amach, is é seo an comhad a bhformáid táimid ag dul a úsáid i PSet 4, trína tú ag dul a a íomhánna a ghnóthú go bhfuil mé de thaisme a scriosadh ó cárta cuimhne truaillithe sa cheamara, más maith leat. Agus casadh sé amach go fiú cé go Is JPEG sophisticated-- deas tá sé i bhfad níos sofaisticiúla ná na poncanna dubh agus bán chonaic muid nóiméad ó shin, mar níl halgartaim ndáiríre mhaisiúil go a úsáidtear chun compress ar JPEG, mar sin gur féidir leat a bheith i ndáiríre deas, pictiúr chaighdeán ach úsáid a bhaint beag giotán. Agus beidh muid ag teacht ar ais chuig comhbhrú roimh i bhfad. Tharlaíonn sé go raibh an chéad trí bytes i image-- JPEG is cuma cad tá tú ag glacadh grianghraf Tá of-- na luachanna 255, 216, 255. I bhfocail eile, má tá tú díreach a fheiceáil go bhfuil patrún na giotán, ionadaíocht anseo agus is trí bytes, nó 24 giotán iomlán, le dóchúlacht ard is féidir leat a tátal a bhaint astu go tá tú ag féachaint ar sé chéad trí seo a bytes de JPEG. Agus é seo cad atá ar a dtugtar mar an síniú JPEG. A lán de formáidí comhaid amach ann claonadh chun tús a chur le patrúin áirithe de 0s agus 1s, ionas go mbeidh Windows, agus Mac OS, agus iOS, agus Android a fhios cén cineál comhaid siad Tá, i dteannta leis an comhad a mar a thugtar air síneadh go bhfuil a lán de na comhaid. Má tá tú .jpg, go clue eile ar an ríomhaire. Mar sin a ligean anois ag féachaint ar seo beagán níos go teicniúil. Tá a fhios againn ar an deachúil Tá córas 0 trí 9. Tá a fhios againn go bhfuil dhénártha 0 agus 1. Agus má cheapann tú ar ais go dtí PSet 0, bhí againn wrestle tú leis, haghaidh píosa beag, rud éigin ar a dtugtar heicsidheachúlach, áit a bhfuil tú 16 dhigit, in ionad 10 nó in ionad 2. Agus iad siúd dhigit, de réir an ghnáis, Tá 0 trí 9 agus ansin trí f, i gcás ina léiríonn f cad a Uimhir deachúil, díreach mar sanity tapaidh seiceáil? Mar sin, 15. Agus ní mór a son 10, ach ag nádúr an ordú go bhfuil mé a thugtar. Tá sé díreach coinbhinsiún treallach, ach tá sé go leor caighdeánach. Mar sin, má táimid ar an patrún seo de thrí bytes-- a ligean ar ach tús chun breathnú ar sé i ar bhealach atá comhsheasmhach leis an gcaoi eolaithe ríomhaireachta ginearálta féachaint ar agus smaoineamh ar chomhaid. Is féidir leat smaoineamh cinnte faoi comhaid i 0s, agus 1s, agus deachúil, ach i ndáiríre, claonadh a bhíonn againn dénártha a úsáid nó níos mó de ghnáth hexadecimal-- ar ais ó PSet 0. Mar sin, lig dom a mholadh go 255, 216, agus 255 bhfuil ach na patrúin de 0s agus 1s. Agus is féidir leat a sheiceáil seo más tú ag iarraidh a dhéanamh ar an mata ó Seachtaine 0. Ach, do anois, ach glacadh leis go bhfuil sé seo go deimhin, ceart. Tá mé athscríobh ach trí deachúil uimhreacha mar trí luach dénártha. Anois, cad Tá mé ag dul a dhéanamh ná ach cuir roinnt spáis bán, ach le haghaidh ar mhaithe le inléiteacht ar. Agus fógra, tá mé ag dul díreach tar éis chun rudaí a bhogadh óna chéile. Mar sin, roimh, tar éis, roimh, i ndiaidh. Tá mé ag déanamh rud ar bith suimiúil eile ná díreach rudaí a leathadh amach mar sin fhógra sin gach sraith de ocht Is giotán anois dhá thacar de cheithre giotán. Tá sé seo úsáideach mar gheall ar hexadecimal go háirithe faiseanta mar gheall ar gach dhigit heicsidheachúlach 0 trí f, nó níos mó go sonrach 0 trí 15, Is féidir a léiriú le go díreach ceithre giotán. I bhfocail eile, i hexadecimal má tá tú ag iarraidh chun ionadaíocht a 0, tá sé ach 0000, ceithre nialais. Agus más mian leat chun ionadaíocht a 15, tá sé 1111, a bhfuil ceithre giotán. Agus má dhéanann tú an mata, má tá sé seo an áit cinn, is é seo an áit 16s, go bhfuil dul a thabhairt you-- in áit ar sin ag dul to-- brón orm, i dénártha, go bhfuil dul a thabhairt duit 15, na cinn bhfeidhm, mbeirteanna áit, ceithre boinn agus ochtú áit. Mar sin in iúl mholadh dom go bhfuil sraith de cheithre giotán ar thaobh na láimhe clé Is cad tá muid ag dul f a ghlaoch. Tá sé an líon is mó tú Is féidir ionadaíocht a dhéanamh le ceithre giotán. Agus tá a fhios againn cheana féin ó heicsidheachúlach, Is f an dhigit mó i heicsidheachúlach. Tá muid fuair f eile ann, dhá cheann níos mó thar ann. Agus do anois, a ghlacadh ach ar chreideamh go bhfuil déanta agam an ceart math agus go bhfuil an leath clé de na píosaí, 1101, Is é an rud céanna mar d in heicsidheachúlach. Agus na láimhe deise, 1000, tá ach 8. Agus go ceann amháin ar furasta a fheiceáil, ceart? Is é an 8 represents-- ceart thíos áit sin ochtú. Mar sin, tá muid ar cheann sa cholún ochtú agus rud ar bith sa ceithre boinn, mbeirteanna nó cinn. Mar sin, anois níos ngnáthbhealach, claonadh a bhíonn daoine a scríobh digití hexadecimal mar seo, tú squish ach iad le chéile, agus ansin réimír tú iad le 0x. Ciallaíonn sé rud ar bith eile seachas a clue amhairc le human-- anseo a thagann le value-- hexadecimal mar gheall Ní fhéadfadh sé a bheith soiléir ar shlí eile. Cé acu is sin le rá, ar deireadh thiar, go an patrún na nialais agus cinn, nó an pátrún hexadecimal digití equivalently go bhfuil tú dul chun tosú ag lorg i Set Fadhb 4 this-- agus beidh an Set Fadhb 4 spec siúl tú tríd an i níos mó detail-- ach realize mar saghas arcane mar d'fhéadfadh sé seo breathnú ar an gcéad amharc, bhfuil tú ag dul chun tús a bhfaca seo go leor. Agus go deimhin, fiú amháin i GDB, an dífhabhtóir thugamar ar an Luan agus Dan isteach i PSet 3, ag dul a thaispeáint go minic tú luachanna heicsidheachúlach díreach toisc go claonadh a bhíonn siad a bheith níos mó traidisiúnta ná dheachúlacha nó dénártha i saol na ríomhairí. Anois, a ligean ar seo a chur i gcomhthéacs. Go leor de a d'fhéadfadh tú cuimhneamh seo pictiúr anseo, a tháinig ó cad? Vista, mar sin fiú níos luaithe ná sin, rinne Windows XP seo tús. Mar sin, tá sé seo le tírdhreach álainn. Agus go deimhin, má tá tú ag breathnú thart online-- Sílim go bhfuil sé ina airteagal Vicipéid, wherein duine éigin a chuaigh an-amazingly amach Fuair ​​an suíomh ar fud an domhain ar bun é nó í a ceamara i beacht an place-- ceart agus tá sé seo lá atá inniu ann ach like-- tá sé díreach mar an suíomh céanna. An íomhá seo, cé go bhfuil, i gcomhad formáid dtugtar bitmap, b-m-lch. Agus táimid ag dul a ghlacadh le Super Sracfhéachaint ar mear ag cad a chiallaíonn go. Ach tá bitmap ach ar bhealach difriúil de íomhánna a ionadaíonn fós ag baint úsáide pixel i 0s agus 1s, ar deireadh thiar. Ach ag Sracfhéachaint ar mear, tá sé síniú níos suimiúla ag tús an chomhaid. Nach bhfuil sé ach trí bytes, in áit níl a bunch iomlán de phatrúin bytes a réamhshocraithe brí. Mar shampla, áit éigin sa bytes chéad chúpla de íomhá bitmap ag dul a bheith ar an méid de na íomhá, an leithead an íomhá, airde an íomhá, agus mar sin meiteashonraí úsáideach, más maith leat. Eolas úsáideach go Photoshop nó clár aon grafaicí tú ag baint úsáide D'fhéadfadh cúram i ndáiríre faoi. Mar sin, níos mó ar an i Fadhb Socraigh 4, ach tá sé seo ach a rá go ag deireadh an lae go léir na formáidí comhaid atá tú ag baint úsáide as do chomhaid Microsoft Word years--, Uimhreacha Comhaid, comhaid Excel, aon líon na formáidí comhaid D'fhéadfadh go bhfuil roinnt ar a dtugtar síneadh comhad bhfuil ach 0s agus 1s thíos an cochall. Agus tá daoine a chinneadh cad iad na coinbhinsiúin, cén patrúin na 0s agus 1s ionadaíocht Word comhad i gcoinne comhad Excel, i gcoinne aon líon na formáidí comhaid eile. Mar sin, i PSet 4, beidh tú go mbeadh deis a imirt leis sin. Ach cad a dhéanann sé a chiallaíonn go bhfuil struct. Tá sé seo i ndáiríre ar segue deas anois isteach C, a bhfuil ach cúpla gnéithe den breise a ní mór dúinn a d'fhéach sé ar go fóill. Tá sé ina teanga deas beag agus ceann de na gnéithe deas faoi C Is struct. Mar shampla, má tá tú ag iarraidh a represent-- a ligean ar Deir a raibh tú a bheith athróg a Is ionann mac léinn i roinnt clár. B'fhéidir go raibh tú ag scríobh ar chúrsa clár clárúcháin, nó croí siopadóireachta uirlis, nó rud éigin mar sin. Cad iad na píosaí de shonraí a bhaineann le mac léinn a thagann chun aigne? Cosúil le go bhfuil mac léinn ionadaíocht leis an méid na luachanna? Yeah? Tá tú ainm mar mhac léinn. Cad eile a dhéanann mac léinn tipiciúil acu? LUCHT ÉISTEACHTA: [inaudible] DAVID J. MALAN: Mar sin, tá brón orainn. LUCHT ÉISTEACHTA: Aois. DAVID J. MALAN: An aois nó lá breithe equivalently, yep. Cad eile? LUCHT ÉISTEACHTA: uimhir aitheantais? DAVID J. MALAN: Mar sin, uimhir aitheantais, b'fhéidir uimhir theileafóin, b'fhéidir dorm, nó teach, nó coláiste, nó rud éigin mar sin. Aon líon na píosaí de shonraí a a bheadh ​​agat i do liosta teagmhálacha Is méid a d'fhéadfadh mac léinn a shainiú. Mar sin má bhíomar ag iarraidh é seo a dhéanamh, i cód, d'fhéadfadh muid a dhéanamh rud éigin simplí mar seo. D'fhéadfadh muid bhfuil clár ionas go Tá ligean le rá, slánuimhir is mó (neamhní). Agus más mian liom chun ionadaíocht a dhéanamh mac léinn a d'fhéadfadh liom a bheith, mar shampla, teaghrán a dtugtar ainm don mhac léinn, teaghrán a dtugtar dorm don mhac léinn, b'fhéidir ina slánuimhir a dtugtar ID don mhac léinn. Agus mar go bhfuil mé ag baint úsáide as téad, mé Ní mór dul ar ais agus a chur ar bun CS50.h. B'fhéidir go bhfuil mé ag dul stdio.h go mór. Mar sin, lig dom a dhéanamh preemptively iad siúd agus tá mé dul chun glaoch ar an student.c do anois agus a shábháil seo. Agus anois is féidir liom a dhéanamh rud éigin leis na hathróga. Agus táimid ag dul ach a scríobh gur mar a comment i cód pseudo, toisc nach bhfuil sé suimiúil cad a dhéanann muid do anois. OK, mar sin tá sé seo le clár a bhealach siopaí mac léinn. Cad ba mhaith liom a dhéanamh má tá mé ag iarraidh a stóráil beirt mhac léinn? Mar sin, tá mo chéad instinct dul a bheith ceart go leor, fan nóiméad, má tá mé mac léinn eile cén fáth nach féidir liom ach a dhéanamh-ainm téad 2, dorm teaghrán 2, slánuimhir id2. Agus tá muid déanta imithe síos an bóthar roimh agus an méid a bhí ar ár réiteach ar cad is cosúil a bheith de chineál ar chóip a ghreamú hackish post anseo? LUCHT ÉISTEACHTA: An eagar. DAVID J. MALAN: Yeah, d'fhéadfadh muid a úsáid le sraith. Ceart seo go tapa an- thiocfaidh chun bheith unwieldy. Tá tú a shórtáil de treallach tús a ainmniú gach ceann de na hathróga. Agus tú, an duine, a choinneáil rian go fhreagraíonn name2 OK le dorm2 fhreagraíonn id2. Éiríonn sé ach ina praiseach. Mar sin tá sé i bhfad níos éasca, a thabhairt chun cuimhne ó cúpla seachtain ó shin, go cóir ag do ar a dtugtar ainmneacha teaghrán agus b'fhéidir a thabhairt dúinn trí cinn de na. Agus ansin b'fhéidir go bhfuil dorms téad agus tá trí cinn de na, nó le tairiseach, ids int agus tá trí cinn de na. Ach fiú anois mothaíonn seo beag sloppy, ceart. Táimid ag caint faoi mhic léinn agus fós Tá mé ag teaghais i ndáiríre ar an leibhéal íseal sonraí i bhfeidhm. Is é an t dalta ainm agus dorm agus ID. Cén fáth nach féidir a dhearbhú mé díreach tar éis athróg ar a dtugtar an mac léinn agus glao sé. Agus más mian liom mac léinn eile, cén fáth nach bhfuil glaoch mé díreach tar éis é t. Nó más mian liom a bunch iomlán de mhic léinn, ní cén fáth mé díreach rá go bhfuil mé rang iomlán de mic léinn, agus tá sé trí cinn acu. I bhfocail eile, ní féidir cén fáth a thiocfaidh mé suas le mo cineál sonraí féin, ar a dtugtar Mic léinn, taobh istigh de a bhfuil is ainm, ar ID, tá dorm, Is líon ar bith de réimsí eile. Agus casadh sé amach tú is féidir a dhéanamh go díreach. Mar sin, tá an ghné seo ar a dtugtar struct C. Sin gné teanga a ligeann dúinn a dhéanamh go díreach seo. Tá mé ag dul chun dul ar aghaidh agus oscailt suas structs.h i gcás ina bhfuil muid ag dul a fheiceáil ar an tar éis sainmhíniú ar mhic léinn. Casadh sé amach - agus an ceann seo fiú níos simplí ná an ceann ina raibh ID nóiméad ó shin. Más mian leat chun teacht suas le do chineál sonraí homemade, agus sa bhreis ar slánuimhir, agus ruabhric agus snámhphointe agus go léir na daoine eile atá ann, Is féidir leat é sin a ag literally scríbhneoireacht struct typedef, ansin roinnt braces gcuach, taobh istigh de a bhfuil tú liosta na n-athróg is mian leat a chomhlachú leis seo sonraí saincheaptha nua cineál cosúil le ainm agus dorm, agus ansin tar éis na braces gcuach a thabhairt duit ainm leis an gcineál nua sonraí. Mar sin, mar shampla, mac léinn. Agus cad atá deas faoi seo anois go má táimid ar an cód a fhreagraíonn, an coinbhinsiún, an chéad de tsaoil, is é a chur ar an i gcomhad ar a dtugtar rud éigin ponc h, comhad header, nach mór dúinn thosaigh ag baint úsáide dúinn féin i bhfad ró. Ach táimid ag dul chun tús a chur ag baint úsáide as go leor le beagán anois. Agus cad is féidir linn a dhéanamh leis seo, ar deireadh thiar, sna cúpla líne de chód Tá a dhearbhú go díreach cineál sonraí, mac léinn. Agus lig anois ar a úsáid. Tá mé ag dul chun dul isteach anois comhad a dtugtar structs1.c. Agus a ligean ar ghlacadh le breathnú ar a beag saintréithe anseo. Mar sin, tá an stuif suas anseo den chuid is mó ar an eolas, agus beidh muid a teacht ar ais chuig cad nach bhfuil eolas i díreach nóiméad. Seo ar ndóigh, tá lena n-áirítear mo chuid féin comhad header, atá nua, chomh maith, ach amháin i gcás PSet 3 más rud é, chun cuimhne, ní mór dúinn helpers.h. Ionas go dtiocfadh leat a thabhairt chun cuimhne helpers.h #include. Cén fáth cé go bhfuil mé ag baint úsáide as Sleachta in ionad na lúibíní dronuilleach? Cathain is féidir liom a roghnú idir iad? Beagnach i gcónaí cosúil mé úsáid a bhaint as lúibíní dronuilleach. Agus ansin, ar fad ar tobann ar líne sé mé ag baint úsáide Sleachta dúbailte. Cén fáth a d'fhéadfadh a bheith? Yeah? LUCHT ÉISTEACHTA: [inaudible] DAVID J. MALAN: Sin an iarbhír, cad é? LUCHT ÉISTEACHTA: Sin i do IDE. DAVID J. MALAN: Yeah, go i mo IDE iarbhír. Agus a ligean ar Ná dwell ar an IDE, mar gheall ar go díreach uirlis go bhfuil mé ag baint úsáide as. Sin i mo láthair eolaire, go sonrach. Dá bhrí sin tá structs.h mo chomhad féin Ní suiteáilte sa IDE, sa chóras oibriúcháin féin, in áit tá sé i mo chomhadlann reatha. Mar sin, tá an coinbhinsiún más mian leat a chur san áireamh do chomhad header féin, leat é a úsáid ach Sleachta dúbailte. Cad a dhéanann muid ag glaoch an rud i líne 8, tríd is tríd? Is é seo a? rud éigin #define. Léiríonn sé seo tairisigh, ceart? Más mian leat a bheith acu luach i do chlár go n-úsáideann tú ina n-iomláine bunch na n-amanna, tá sé coinbhinsiún maith a fhachtóir amach, dhearbhú, leis an siombal hash shainmhíniú, ansin, de réir an ghnáis, i ngach an cás uachtair word-- cé nach bhfuil sé fíor-riachtanach, ach tá sé choinbhinsiún an duine chun an leas is tairisigh ionas go mbeidh léim siad amach ag visually-- tú spás agus ansin an luach is mian leat a bheith coibhéiseach leis an ainm sin tairiseach ar. Níl Leathstad, ach tú go simplí leanúint go patrún ann. Mar sin, cad tá mé ag déanamh ar an cód iarbhír. Mar sin, a ligean ar ghlacadh le breathnú ar an príomhchlár anseo. Ag teacht 12 mar gheall mé a bheith san áireamh structs.h, Tá mé anois magically ag mo ar fáil duit le cineál nua sonraí. Ní dóigh liom go bhfuil ach rochtain ag slánuimhir, agus ruabhric, agus snámh, agus corda, agus gorm agus daoine eile. Tá mé anois le rochtain ar cineál sonraí mac léinn. Mar sin, i gcomhréir 12, tá mé ag le chéile dhá cheann ideas-- amháin le cineál sonraí saincheaptha agus dhá, ag baint úsáide as sraith. Agus mar sin sa chlár seo má Ba mhaith liom chun tacú i ndáiríre triúr mac léinn éagsúla i mo chlár, mé Is féidir a rá go simplí a thabhairt dom athróg ar a dtugtar mic léinn, gach ceann acu Is mac léinn de chineál, a Is é mo cineál sonraí saincheaptha. Agus, go sonrach, a thabhairt dom trí cinn de na daoine i mo eagar. Mar sin anois cad a dhéanaimid sa chlár seo? Seo ach le iterating lúb 0-3, mar gheall ar go bhfuil cad é an luach na mac léinn. Tá mé ag spreagadh an t-úsáideoir a thabhairt dom ainm an mhic léinn. Agus ansin i gcomhréir 17, linn a bhfuil líne den chuid is mó ar an eolas. Tá ár seanchara GetString ar an gceart. Agus cad píosa error Is cosúil nua, má tá tú riamh cláraithe i C roimh, agus tá riamh a úsáidtear na structs? Yeah? LUCHT ÉISTEACHTA: An .name. DAVID J. MALAN: An .name. Ach nach bhfuil sé seo i bhfad ró-de léim, mar anois léinn lúibín mé Tugann tú an mac léinn i-ú. Agus más mian leat chun tumadóireacht a dheanamh taobh istigh den déanmhas, leat é a úsáid ach ar feadh tréimhse amháin agus ansin an t-ainm ar an athróg taobh istigh, nó maoin taobh istigh go ba mhaith leat chun rochtain a fháil. Mar an gcéanna ansin, más rud é go pras mé ansin ar an úsáideoir, a thabhairt dom dorm an mhic léinn, Is féidir leat a stóráil dul céanna go teaghrán san athróg dorm taobh istigh den déanmhas mac léinn. Agus anois rudaí a fháil mhaisiúil beagán. Agus is é seo ag dul chun breathnú ag b'fhéidir go leor leor go luath. Ach go mbainfidh tú a fheiceáil seo i bhfad níos mó i PSet 4, a ligean mar sin ach Sracfhéachaint ar sé anois. Tharlaíonn sé go raibh i líne 23 trí 38, cad a cheapann tú mé ag déanamh b'fhéidir? Tá mé deireadh leis an tuairimí don lá atá inniu, ach an leagan de chód ar líne le haghaidh Tá tagairt na tuairimí uile. Cad is féidir liom is cosúil a bheith ag déanamh? LUCHT ÉISTEACHTA: Shábháil an comhad le gach an fhaisnéis a tháinig an t-úsáideoir. DAVID J. MALAN: Yeah, go díreach, is é seo ar bhealach nua go bhfuil muid ag feiceáil dhá, Gné eile de C, inar féidir liom a chruthú mo chomhaid féin. Go dtí seo, beagnach gach clár atá scríofa agat go bhfuil gan stát. Chomh luath agus a dhéanfar é ag rith, sin é. Níl aon chuimhne nó chuimhne air. Níl aon comhad a shábháil. Ach má dhéanann tú ag iarraidh a ionchur go bhfuil a shábháil tharla, cosúil i gcluiche nó clár mar seo, casadh sé amach is féidir linn a dhéanamh. Agus beidh tú a fheiceáil seo níos mó i PSet 4 agus i Roinn. Ach an líne seo 23 go bunúsach Cruthaíonn comhad a dtugtar students.csv. Agus d'fhéadfadh tú a bheith le feiceáil seo roimhe seo. Fiú má tá tú riamh staidéar CS roimh, Is CSV athróg camóga-scartha. Tá sé cosúil le fear an-lag ar Leagan de comhad Excel, rud a chiallaíonn go bhféadfaí é a oscailt i Excel agus i Uimhreacha Apple, agus tá sé sraitheanna agus colúin. Ach nach bhfuil sé ina dílseánaigh formáid cosúil le Microsoft nó Apple. Tá sé díreach camóga ag deighilt na luachanna beidh orainn a fheiceáil i láthair. Agus a ghlacadh ach buille faoi thuairim. Ag teacht 23, ag an an- deireadh, mo dara argóint a ghabhann leis an fheidhm nua ar a dtugtar f oscailt le haghaidh a oscailt comhad is w. Cad a d'fhéadfadh w iúl? Yeah? LUCHT ÉISTEACHTA: Ligeann sé duit scríobh chuig an gcomhad? DAVID J. MALAN: Ligeann sé scríobhann tú an comhad. Mar sin níl cúpla leaganacha gur féidir linn a breiseán i anseo. Ach más mian leat ach a léamh an comhad, is é sin breathnú ar sé agus é a léamh i gcuimhne, tú ach úsáid ceanglófar comharthaí athfhriotail "r". Más mian leat a scríobh chuig an comhad, a úsáideann tú ceanglófar comharthaí athfhriotail "w". Níl iarcheangail freisin agus cúpla rudaí eile más mian leat chun comhaid ann cheana a mhodhnú. Anois, tá muid ag dul a choinneáil ar féachaint ar seo rud, ansin beidh muid ag teacht ar ais go dtí an líne 24. NULL, casadh sé amach, tá luach speisialta Is féidir a chur ar ais ag feidhmeanna áirithe más rud é go bhfuil rud éigin imithe wrong-- más rud é nach bhfuil an comhad a bheith ann, má tá tú ag rith amach as cuimhne, nó a bunch de earráidí eile. Ach do anois, a ligean ar glacadh leis ar go díreach seo Tá seiceáil earráid ach traidisiúnta. Anseo i gcomhréir 26, tá mé ag iterating 0-3 thar gach mo mhic léinn. Agus tá sé seo de chineál ar chineál feidhme nua, fprintf, ach a ghlacadh ach buille faoi thuairim. Má tá printf ach cló teaghrán formáidithe, cad fprintf is dócha chiallaíonn? LUCHT ÉISTEACHTA: Priontáil chun an comhad. DAVID J. MALAN: Priontáil ar teaghrán formáidithe go comhad. Go bhfuil an méid an breise Is f ciallaíonn comhad. Agus tá an chéad argóint nua a bheith an athróg a dhéanann ionadaíocht do chomhad. Ansin, ní mór dúinn ach bhformáid teaghrán díreach cosúil printf. Agus cé seo Tá error nua, seo ach ciallaíonn breiseán i ainm an mhic léinn, plug-in dorm mac léinn, agus ansin le fclose, dún an comhad. Agus ansin lastly-- é seo nua agus beidh muid ag teacht ar ais go dtí an roimh long-- tá mé ag freeing an mac léinn ar chúiseanna a tharla suas os cionn ann. Ach beidh muid ag teacht ar ais leis sin roimh long-- go bhfuil mar gheall ar an gcaoi a bhfuil GetString ag obair iarbhír thíos an cochall. Mar sin a ligean ar ghlacadh le breathnú tapaidh anseo. Má chlóscríobhann mé ls i mo eolaire, faoi ​​deara nach féidir liom go mbeadh comhad a dtugtar students.csv, ach ní nach bhfuil, ann. Mar sin, má tá mé an clár seo le chéile anois, structs-1 a dhéanamh,. / structs-1, agus tá mé ag dul chun dul ar aghaidh agus cineál i Andi, a bhfuil cónaí i Berkeley ag Yale. Táimid ag dul a bheith acu a Rob ina chónaí i Thayer na laethanta. Agus a ligean ar teacht suas le áit is é, dar liom, tá Maria i Mather, má tá mé cuimhne i gceart. Mar sin, is cosúil aon rud a tharlóidh. Ach má cineál mé ls anois, tá students.csv. A ligean ar dul ar aghaidh agus students.csv oscailte. Tá sé seo arís an- Formáid comhaid lightweight. Ach tá mé a glacadh go simplí coinbhinsiún go bhfuil mé dhá sraitheanna agus colúin anseo. Is é an chéad cholún daoine den chéad uair ainmneacha. Is é an dara colún ag an mac léinn dorm, nó coláiste, nó an teach, nó whatnot. Agus anois tá mé shábháil seo go buan i gcomhad. Mar sin, nach bhfuil sé ar fad go suimiúil. Ach tá sé seo ach cloch stepping anois a bheith in ann eolas a seasfaidh siad buan. Mar sin a ligean ar a fheiceáil anois cad níos mó is féidir linn dhéanamh le gnéithe seo agus eile. Ach ar dtús, ceist ar bith? Ba é sin go leor, agus go raibh go tapa. Ach go mbainfidh tú a fheiceáil go leor níos mó i PSet 4, chomh maith. Yeah? LUCHT ÉISTEACHTA: An bhfuil bealach chun leanúint ar aghaidh ag cur leis ainmneacha chomhad? DAVID J. MALAN: Good question. An bhfuil bealach chun leanúint ar aghaidh ainmneacha cur chomhad? Yes. Agus, go deimhin, má tá tú ag deireadh suas ath-oscailt an comhad, d'úsáidfeá ceanglófar comharthaí athfhriotail "a" le haghaidh iarcheangail, rud a chur díreach ar líne nua, a líne nua arís agus arís eile, go díreach. Ceist mhaith. Ceisteanna eile? Yeah? LUCHT ÉISTEACHTA: Má bhí ar siúl tú an clár arís ceart anois, Bheadh ​​sé a choinneáil ainmneacha ar an cur comhad nó go mbeadh sé a oscailt suas comhad nua? DAVID J. MALAN: Ah, ceist mhaith. Má bhí ar siúl tú ar an gclár arís ceart anois, b'fhéidir chlóscríobh i ainmneacha nua, bheadh ​​sé leis an gcomhad nó scríobh an comhad? An dara ceann, mar go bhfuil mé nach n-úsáideann modh iarcheangail. Agus mar go bhfuil mé díreach tar éis blindly oscailt an comhad do scríobh, tá sé ag dul ach a scríobh an comhad. Mar sin ba mhaith liom gá go deimhin a dhéanamh ná gceangal, más mian liom a bheith fadtéarmach iarbhír bunachar sonraí. Anois tá CSV úsáideach, frankly, fiú do mhaith má tá tú writing-- agus beidh orainn a fheiceáil sa deireadh an níos déanaí sa seimeastar nuair úsáidimid CSVs chun críocha eile. Más mian leat a stóráil ar fad de na daoine atá cláraithe do roinnt ócáid, nó arna síniú suas do do mhic léinn grúpa, nó rud éigin mar sin, na sonraí a stóráil sa chineál seo bhformáid Is Super áisiúil. Toisc literally, má tá mé Bhí a íoslódáil an comhad seo. Raibh mé in double-- agus a ligean ar iarracht iarbhír an má tá mé Excel nó Uimhreacha ar anseo. Tá mé ag dul go dtí ar dheis-cliceáil nó rialú-cliceáil ar mo chomhad. Whoops. Deaschliceáil nó a rialú-cliceáil ar mo chomhad. Teacht ar, nach bhfuil mo luch comhoibriú. Download-- Tá mé ag dul go dtí íoslódáil na comhaid anseo mar sin ach mar sin is féidir liom a grab an ceann seo. Agus a ligean ar a fheiceáil má oibríonn seo students.csv-- chéad uair Tá mé i ngníomh. Anois is mian leo a fheiceáil mo teagmhálacha. Anois, ní mór dom a chlárú. Féach ar conas éasca é a úsáid CSVs? Sea, a choimeád cothrom le dáta. OK, anois tá muid réidh le haghaidh rang. OK, ó, cad atá nua? OK, gar. Go raibh draíochta. OK, anois ní mór dúinn a thabhairt cothrom le dáta. Agus anois, Forgot sé cad comhad oscail mé ar dtús, ach cad a-- ann a théann muid. OK, mar sin anois tá comhad Excel. Go raibh maith agat. OK, mar sin bhí cad a rinne mé an chuid éasca. Ar ndóigh, raibh mé in ann a bheith réamh-suiteáilte Excel, nó Uimhreacha, nó clár cibé. Ach tá sé seo deas, mar gheall ar anois is féidir liom a ionramháil na sonraí i bhformáid chaighdeánach. Comhthéacs é a ligean anois ar aistriú go dtí áit a d'fhág muid amach uair dheireanach, a bhí le tosú chun éirí de thalamh rothaí oiliúna. Ach ar dtús, ní raibh tú féach ar an lón roimhe atá ag tarlú arís anseo ag Dóiteáin agus Oighear i Cambridge, Sitar i New Haven. Cláraigh ar láithreán gréasáin CS50s ASAP a bheith páirteach mhic léinn CS50 agus an fhoireann. Mar sin, thóg muid rothaí oiliúna uaire ar an Luan mar follows-- Tá teaghrán ar dearbhaíodh i Leabharlann CS50s ar feadh tamaill. Agus tá sé deas, mar is féidir dúinn chun labhairt faoi athróga mar focail a chomhlánú agus abairtí agus níos mó. Ach casadh sé amach teaghrán gan a bheith ann. Is é sin ach synonym, nó ailias, go mór dúinn a cruthaíodh as rud éigin go Is iarbhír beagán níos mó teicniúla a dtugtar ruabhric *. Agus go deimhin, chonaic muid sampla de chlár ar an Luan Ní raibh go féin a iompar go leor mar súil againn. Ba é seo an comhad, a chur i gcomparáid-0. Agus cuimhne go i gcomparáid-0, más rud é Recompile mé clár Dé Luain agus a reáchtáil a chur i gcomparáid-0 agus cineál i mam i litreacha beaga, agus mam i litreacha beaga arís. An clár áitigh mé cineál rudaí éagsúla, cé mam, ar fad i CásÍochtair é, comhionann amhairc. Mar sin, cad a bhí an freagra gairid cén fáth cuí leis an ríomhaire Tá na dhá teaghráin éagsúla? Yeah? LUCHT ÉISTEACHTA: [inaudible] DAVID J. MALAN: Ceart. Mar sin, mam, an chéad uair Cineál mé é i, á stóráil áit éigin i mo ríomhaire le cuimhne ach i láthair difriúil ná an dara uair a scríobhann mé i mam. Anois d'fhéadfaí é a uasmhéadú cinnte. D'fhéadfadh an ríomhaire a bheith cliste agus a bhaint amach dá teaghráin, hug, tá siad comhionann. Lig dom nach stóráil redundantly é. Ach ná ríomhairí é sin a dhéanamh leas iomlán a bhaint ach amháin má insint duit iad a. Mar sin, de réir réamhshocraithe, tá siad ach dul go dtí deireadh suas in dhá áiteanna éagsúla i gcuimhne. Agus mar sin a bheith níos soiléire, nuair i gcomparáid againn ar an dá teaghráin, na s bhí ar a dtugtar ar dtús, Glaodh an dara t, cad a bhí mé go sonrach i gcomparáid anseo ar líne 13? Yeah. LUCHT ÉISTEACHTA: Tá sé an áit i gcuimhne go mbeidh an athróg pointe ar. DAVID J. MALAN: Go díreach, bhí mé i gcomparáid leis an áit i gcuimhne go chuir na hathróga a. Mar sin, go sonrach, bhí más rud é mam ag Uimhir beart 1, agus 2, agus 3, agus 4-- cuimhneamh mar gheall ar an cúlslais 0 gá a bheith léir ar an mbealach ag an deireadh. Agus ar an gcéad dul eile mam, m-o-m, a bhí ag seoladh 10, 11, 12, agus 13. Bhí mé ag i gcomparáid 1, an seoladh sin, go suíomh i gcuimhne, in aghaidh 10, a bhfuil ar ndóigh ní mar an gcéanna. Níl an 10 1. Mar sin, is é seo deas sa mhéid is go tá sé deas simplí. Ach tá sé fadhbanna sa mhéid ní féidir linn a cosúil go teaghráin i gcomparáid. Mar sin, fundamentally-- agus ag an leibhéal íseal, má raibh tú a chur i bhfeidhm clár a chur i gcomparáid dhá fhocal ar leith go bhfuil an Tá an úsáideoir clóscríofa i do chaighdeán, a dhéanann siad ag teacht suas le haghaidh Char Char, ach i dtéarmaí ginearálta, cad is gá dúinn a dhéanamh, is cosúil? Níl sé go leor ach a féachaint ar an dá seoltaí. Cad is gá dúinn a dhéanamh? Yeah? LUCHT ÉISTEACHTA: Abair leo tríd an teaghrán [inaudible]. DAVID J. MALAN: Yeah, a ligean ar iterate tríd an teaghrán. A ligean ar úsáid ar feadh lúb, lúb tamaill, nó is cuma cad tá tú an chuid is mó compordach leis. Agus má tá muid fuair dhá teaghráin áit éigin i gcuimhne, a ligean ar breathnú ar gach s chéad charachtar, ansin gach dara tá carachtar, ansin an tríú, an ceathrú agus, agus an cúigiú, go dtí go bhuail muid cén luach fairtheora speisialta? LUCHT ÉISTEACHTA: [inaudible] DAVID J. MALAN: Yeah, an cúlslais náid, ag an bpointe sin i gceachtar téad is féidir linn a chinneadh go bhfuil sé. An bhfuil a mheaitseáil againn gach carachtar amháin? Mura bhfuil, ar ais bréagach. Má tá, ar ais fíor. Agus mar sin go díreach cad leagan seo den chlár a chur i gcomparáid-1.c dhéanann. Is comhionann leis an méid a táimid ag d'fhéach sé ar Dé Luain ach amháin go Bainim gotten réidh leis an focal string-- cé nach bhfuil aon impact-- feidhme go léir Tá mé ag déanamh anois tá a bhaint roinnt rothaí oiliúna amhairc, ach a fheiceáil go soiléir go Tá s agus t seoltaí. Agus sin cad é an réalta, Léiríonn an réiltín, Is seoladh, ar shlí eile ar níos go teicniúil mar pointeoir. Mar sin, nuair Dearbhaím s ar líne 9 agus a rá Char * s, ní chiallaíonn go a thabhairt dom teaghrán. Ciallaíonn a thabhairt dom athróg a bhfuil a Is é cuspóir sa saol a stóráil ar seoladh. Mar tá mé ar tí é a chur ar an seoladh an teaghrán isteach é. Agus go deimhin, GetString, a bheith soiléir nach bhfuil, ar ais ar shraith. Ní chuireann sé ar ais mam cúlslais náid, per se. Cad a dhéanann GetString sonrach agus go beacht, ar ais? LUCHT ÉISTEACHTA: [inaudible] DAVID J. MALAN: An seoladh, an seoladh an chéad charachtar i roinnt teaghrán tá sé gotten. Agus mar sin anois táimid ag féachaint eochairfhocal speisialta arís. Agus, luaigh mé go dtí seo níos luaithe. Tá sé seo ag dul a bheith choinbhinsiún maith go beidh orainn a fheiceáil arís agus arís eile anois. Tá mé ag seiceáil a dhéanamh cinnte go Níl an s null agus nach bhfuil t null. Mar atá bunaithe ar mo ndáiríre lua tapaidh níos luaithe, cad a d'fhéadfadh a chiallaíonn mura tuairisceáin GetString seoladh ach N-U-L-L, a bhfuil arís, roinnt luach speisialta? LUCHT ÉISTEACHTA: Earráid. DAVID J. MALAN: Tá sé earráid. Chuaigh rud eigin mícheart. Agus cad de ghnáth d'fhéadfadh tarlú, go háirithe le strings-- a d'fhéadfadh a bheith de fhad anaithnid i advance-- b'fhéidir na ríomhairí ' as chuimhne, b'fhéidir chlóscríobh tú i sórt focal fada nó abairt nó pasted den sórt sin a aiste ollmhór níl ní hamháin cuimhne go leor. Agus mar sin ní féidir GetString ais an seoladh an rud ar fad, mar sin ar ais sé ach rud ar bith. Agus deir sé earráid a tharla ag filleadh ar an luach NULL speisialta. Tá sé an seoladh náid, mar a déarfá. Anois casadh sé amach a thagann C le fheidhm go ndéanann sin atriall. Nach bhfuil againn a chur i bhfeidhm seo le a d'lúb nó lúb tamaill dúinn féin. Is féidir linn a úsáid le feidhm, ar a dtugtar gonta, stir COMP, nó téad a chur i gcomparáid, a bhfuil a Is é cuspóir sa saol a dhéanamh go díreach. A thabhairt duit é dhá threo, dhá seoltaí, agus beidh sé dul leis na seoltaí agus ansin i gcomparáid litir haghaidh litir haghaidh litir haghaidh cáilíochta, stopadh ach amháin nuair a bhfuil fíor? Nuair ba chóir stir intuitively COMP stop iterating, ach a bheith soiléir? Nuair a bhuaileann sé ina cúlslais 0 i gceachtar teaghrán, ag an bpointe sin is féidir é a chinneadh Tá gach rud a mheaitseáil, nó tá neamhréiteach? Mar sin, má ritheann muid seo anois agus iarracht ár gcluiche caipitlithe beag, mar sin déan comparáid-1, ./compare-1, agus cineál mam i litreacha beaga dá uair. Anois, tá sé an rud céanna. Agus má dhéanann mé é arís le litreacha beaga agus ansin b'fhéidir chás uachtair. Anois idirdhealú sé go deimhin idir uachtair agus litreacha beaga. Mar sin, ní léir go crua nó draíochta, ach é a mhíniú anois cad atá ar siúl thíos an cochall. Mar sin, cad eile is féidir linn a bhaint as an gcineál seo cheachta? Mar sin, a ligean ar ghlacadh le breathnú ar seo. Tá mé ag dul chun dul ar aghaidh agus scríobh clár tapaidh ar a dtugtar anseo cóip-0. Agus lig anois ar dul ar aghaidh agus ar ndóigh, a ligean ar a dhéanamh this-- le cóip-0, chur le breathnú ar an méid a fuair mé anseo. Liom a rá ar dtús an t-úsáideoir, rud éigin a rá. Ansin liom a fháil ar shraith agus a stóráil mé é i s. Ansin mé seiceáil má cothrom s ionann NULL, ar ais díreach 1. Mar sin, tá sé seo ach caighdeánach seiceáil earráid. Ní dhéanfaidh aon ní suimiúil a tharla. Agus go deimhin, má fhaigheann muid réidh leis an earráid seiceáil, Breathnaíonn seo cosúil le seachtain 1 cód i láthair na huaire. Ach tá mé a thosaigh a fháil ar beagán níos fearr faoi sin. Anois i líne 16, in aghaidh na seachtaine ó shin, b'fhéidir lá fiú cúpla nó nóiméad ó shin, go dtiocfadh leat a rá go bhfuil ag teacht 16 a chruthú athróg ar a dtugtar t agus s chóipeáil isteach é. Agus sin breá takeaway réasúnta. Ach a bheith níos cruinne anois. Cad atá ag tarlú i líne 16? Cad é ag dul a chóipeáil ó ceart ar chlé? Yeah? LUCHT ÉISTEACHTA: An bhfuil t ag fáil seoladh an s? DAVID J. MALAN: Go díreach, t ag fáil an seoladh an s. Mar sin, a bheith soiléir anois, má théann mé ar ais go dtí sin sampla níos luaithe agus mé a tharraingt amach an rud Tá mé clóscríofa i. Agus cad tá mé clóscríofa in-- anseo s, agus anseo Tá an méid atá agam clóscríofa i áit éigin i chuimhne, mamaí agus ansin cúlslais 0 go chuirtear dom. Cad a stóráil mé i anseo, chun cuimhne, tá sé seo ar a suíomh 1, 2, 3, 4, is é seo cad atá faoi láthair i s. Mar sin, más ar líne 16, a rá liom a thabhairt dom athróg a dtugtar eile agus a stóráil t i ag an luach an s, cad Faigheann stóráil anseo ní bheidh mam ach amháin an uimhir 1. Mar sin, má táimid chun tosaigh sa chlár seo anois, tá cad a dul a tharlóidh? Mar sin, faoi deara go níl an fheidhm seo dtiocfadh leat bhain úsáid as an tamall ó shin do Caesar, nó Vigenere, nó b'fhéidir nach bhfuil ag gach. Éilím le mo printf, tá mé ag dul go dtí an leas is an chóip t. Chéad líne 19, sanity tapaidh seiceáil, seiceálacha strlen fad na t. Toisc nach bhfuil mé ag iarraidh a iarracht rud éigin chun an leas is má tá aon teaghrán ann. Má tá an t-úsáideoir bhuail ach Iontráil, níl aon rud chun an leas is. Mar sin níl mé ag iarraidh teacht 21 a dhéanamh. Dá bhrí sin tá líne 21 caipitliú a litir, is cosúil, in t? LUCHT ÉISTEACHTA: m? DAVID J. MALAN: Breathnaíonn sé mar tá sé chóipeáil atá ar cheann? LUCHT ÉISTEACHTA: m. DAVID J. MALAN: Uh, m. OK, mar sin an chéad m, mar gheall ar fhógra go bhfuil mé dul chun toupper, a má tá tú riamh le feiceáil air sé ach feidhm a an leas is mar a ionchur. Ciallaíonn t lúibín náid a thabhairt dom an carachtar nialasach de t. Agus mar sin conas a dhéanann sé seo athrú ar pictiúr, a bheith soiléir? Cad is gá a fháil athscríobh nó a athrú maidir le s agus t agus mam nialas cúlslais. LUCHT ÉISTEACHTA: [inaudible] DAVID J. MALAN: Yeah, mar sin an ceann seo anseo ach riachtanais a fháil athrú to-- shocrú this-- Ní mór a fháil athrú le m caipitil. Ach anois, táim níos déanaí sa clár, má phriontáil mé amach s agus t agus is glan mé anseo, féachaint ar cad atá ag dul a tharlóidh a phriontáil amach s agus t. Mar sin, cóip-0, ./copy-0 dhéanamh. Lig dom dul ar aghaidh agus cineál i mam i ngach litreacha beaga. Fógra an dá an bunaidh agus an chóip a bheith caipitlithe. Cén fáth? Bhuel, s agus t araon dírithe ar, más maith leat, an smután céanna de chuimhne. Agus frankly, is é seo ag fáil i ndáiríre uninteresting-- an bhfíric go bhfuil muid ag baint úsáide as seoladh náid anseo. Ciallaíonn mé, ní féidir liom cúram i ndáiríre sa chás go bhfuil rudaí i gcuimhne. Tá brón orm Tá mé erasing beagán i bhfad ró. Ach ní féidir liom cúram i ndáiríre i gcás ina bhfuil rudaí i gcuimhne. Agus mar sin, go deimhin, cad claonadh a bhíonn ríomhchláraitheoirí smaoineamh ar is é sin nuair a labhairt leat faoi seoladh, nó pointeoir, a cares áit a bhfuil sé i gcuimhne. Ní féidir liom cúram má tá sé ag beart amháin nó aon billiún. Cúram mé díreach tar éis go bhfuil an Tá athróg héifeachtach ag cur in iúl ag an smután de chuimhne. Agus mar sin, feasta, seachas quibble níos mó ná seoltaí cuimhne treallach, a ligean ar ach tús a leideanna a tharraingt mar leideanna, mar saigheada. Mar sin, cad atá agus go bhfuil siad t ndáiríre, de réir an chláir seo, mar gheall ar an gcaoi a chruthaigh mé t, tá sé ach dhá athróg ar leith ag cur in iúl ag an smután céanna de chuimhne. Agus ní dhéanaimid cúram áit a bhfuil siad. Mar sin, is féidir linn teibí ar shiúl go mion. Mar sin, conas is féidir liom a shocrú seo? Más mian liom a scríobh ar leagan den chóip clár go cóipeanna i ndáiríre an teaghrán agus mbaintear ach an cóip, ach intuitively, cad a fuair a bheith ina comhábhar ar ár réiteach? LUCHT ÉISTEACHTA: [inaudible] DAVID J. MALAN: Ní mór dúinn a cad é? LUCHT ÉISTEACHTA: Smután de chuimhne. DAVID J. MALAN: Ní mór dúinn smután eile de chuimhne, ceart? Níl a fhios againn conas a é a dhéanamh go fóill, de riachtanas. Ach mé de chineál ar gá go dtarlódh sin go bhfuil an mam bunaidh i gcás íochtair chríochnaíonn suas sa mhéid is go smután breise de chuimhne. Agus ansin nuair a athraíonn mé an chóip, mé nach mian an chóip a athrú anseo. Ba mhaith liom ina ionad sin a athrú ach amháin an cóip ionas go mbeidh an bunaidh gan athrú. Mar sin, a ligean ar a fheiceáil conas a d'fhéadfadh muid a dhéanamh. I gcóip-1, a bhfuil cheana curtha stripped trácht, ach tá trácht ar líne. Déanann muid ina ionad an following-- na Tá línte comhionann, fháil dom ar shraith agus glao sé. Ach lig anois ar breathnú ar cheann de na ár is mó casta ach an ceann deireanach de chastacht do awhile, a dhéanann líne 16 díreach seo. Mar sin, má tá do comfy leis an pictiúr táimid ag drew-- díreach a thabhairt dom le smután nua de chuimhne, gach rud a chóipeáil isteach é, a ligean ar a fheiceáil conas a aistriú go dtí cód. Mar sin, ag teacht 16, ar thaobh na láimhe clé, Tugann char * t dom an bosca seo thar anseo. Sin go léir a dhéanann sé. Ar thaobh na láimhe deise, m alloc, nó malloc, Tá leithdháileadh chuimhne, Super mhaisiúil, ar bhealach cryptic de díreach ag rá a thabhairt dom le smután de chuimhne. Cé mhéad cuimhne ag teastáil uainn? Bhuel, tá, de chineál ar léiriú mór. Ach a ligean ar a fheiceáil cad a deir sé anseo. Mar sin, seo, ar ndóigh, tá, a thabhairt dom an fad teaghrán s. Mar sin, mam ba chóir é a cad é? Mar sin, ach trí, ceart? Tá mam trí carachtair. Ní gá duit a chomhaireamh an cúlslais náid nuair a dhéanann tú labhairt faoi an fad teaghrán tá sé iarbhír na litreacha le feiceáil an duine. Mar sin, mam, mar sin tugann sé seo dom 3. Ach fan nóiméad, tá mé ag cur anois 1. Cén fáth ar mhaith liom i ndáiríre go leithdháileadh 4 bytes agus ní hamháin 3? Yeah? LUCHT ÉISTEACHTA: Don luach fairtheora? DAVID J. MALAN: Go díreach, don luach fairtheora. Maidir leis an cúlslais náid, Is gá dom 4 bytes iomlán. Mar sin, is gá dom an fad na sreinge móide 1. Agus ansin ach le haghaidh measure-- maith cé ar an gcóras, tá sé ag dul i gcónaí a bheith 1-- Tá mé ag rá iolrú seo ag an méid Char. Géara amach go bhfuil o, oibreoir i C go ach insíonn tú an líon na mbeart sin ag teastáil le haghaidh cineál áirithe sonraí. Ní chuireann sé ag obair le haghaidh arrays, de ghnáth, uaireanta a dhéanann sé. Ach i gcás go ginearálta, gan aon. Ach beidh sé ag insint dom conas bytes mhéad a Char tá, a casadh amach i gcónaí 1. Mar sin, tá sé seo cosúil iolrú faoi 1. Líne a lorg Mar sin cryptic Super de chód. Ach tá go léir a dhéanann sé Tugann dom le smután de chuimhne. Ach é a cosúil le bheith chóipeáil rud ar bith isteach sa chuimhne? Fós. Agus mar sin cad a dhéanfaidh mé ar líne 22, agus 23, 24, 25, go maith, is féidir liom ach seo. Agus tá sé seo saghas stuif scoil d'aois anois. Tá sé seo cosúil PSet 2, i gcás ina tá tú díreach rudaí ag gluaiseacht timpeall i gcuimhne, nó in áit i teaghráin. Mar sin, tá mé ag iterating ó 0 go fad na s teaghrán. Agus tá mé ag cóipeáil an carachtar i-ú i s isteach an carachtar i-ú in t. Agus mar gheall mé, an Ríomhchláraitheoir, a rinneadh cinnte a leithdháileadh go díreach mar go leor beart mar is gá dom, tá sé foirfe duine-le-duine caidreamh. Agus cóip mé mam i an cás íochtair go dtí an ceann nua. Agus ansin ar deireadh, is féidir liom an líne seo. Agus mar sin is é an éifeacht ach amháin chun leas a an t anseo. Mar sin a lán a ionsú, ach má tá tú a bheith cóir cad atá ar siúl i ndáiríre ar thíos an cochall é ag gluaiseacht ach ar na bytes thart, go léir go atá ag teastáil chun an fhadhb seo a réiteach é ach a thabhairt dúinn ar an smután de chuimhne. Anois ag an riosca mór, lig dom a thaispeáint sampla amháin eile go bhfuil beagnach comhionann, ach amháin i gcás an ceann seo líne de chód. Mar sin, is é seo an leagan hacker den chlár seo, más maith leat. Ach a ligean ar distill díreach sé isteach cad atá ar siúl. Líne 24 a úsáidtear a bheith ar an t lúibín Faigheann i s lúibín i. Anois, tá mé ag athrú seo a an réalta t bhfad níos cryptic móide 1 ionann réalta s móide 1. Mar sin, cad atá ag tarlú agus cén fáth bhfuil againn carachtar réalta? Againn atá le feiceáil ar an réalta roimh, agus tá sé á n-úsáid ar bhealach éagsúil anseo. Chonaic muid cheana ruabhric *, anois tá mé ag féachaint ar a réalta ag an tús, agus go bhfuil ceart go leor. Mar gheall ar casadh sé amach a chuirimid Is féidir de chineál ar tátal a bhaint astu ach ó na chéad prionsabail cad atá ar siúl. Mar sin, ach a bheith soiléir, cad é s? An tseachtain seo caite, bhí sé ina teaghrán. Ní sin leor níos mó. Cad é s, go sonrach? LUCHT ÉISTEACHTA: [inaudible] DAVID J. MALAN: Tá sé ina pointeoir. Tá sé an seoladh an chéad charachtar clóscríofa muid i. OK, cad is t? LUCHT ÉISTEACHTA: [inaudible] DAVID J. MALAN: An seoladh an chéad bheart in t, go smután de chuimhne athdháileadh. Mar sin, casadh sé amach go nuair a muid iterate ó 0 go dtí an teaghrán ar suas length-- gcéad dul síos, i Tosaíonn amach ag 0, mar gheall ar den scoil d'aois le haghaidh rud lúb. Mar sin, ach le haghaidh simplíocht, a ligean ar glacadh leis go bhfuil an chéad líne de chód i ndáiríre ach seo, ar dheis. Má tá mé náid, ag cur náid chun rud éigin is dócha nach bhfuil ag dul go mbeadh tionchar. Mar sin, cad é seo a rá? Tharlaíonn sé go raibh an réalta oibreoir sa chomhthéacs seo Is é an téigh i oibreoir, a bhfuil ach ar bhealach mhaisiúil de rá dul chuig an seoladh a leanas. Mar sin má s é an seoladh ar an chéad carachtar sa smután de chuimhne, * s ciallaíonn dul ann. Agus mar tá muid tharraingt an pictiúr ar an mbealach seo, is féidir leat a ghlacadh ar an tar éis múnla mheabhrach. Má tá an s, agus a rá leat * s, * s cineál cosúil sleamhnáin agus dréimirí, más cuimhin leat an cluiche ó óige, Is cosúil leanúint go arrow agus dul chuig an seoladh. * arb é t an rud céanna. Mar sin tús a chur anseo, téigh go dtí a smután. Ní féidir liom ach a tharraingt ar scáileán seo ar an mbealach. * t ciallaíonn chun dul anseo. Agus ansin, is é an do lúb díreach ag rá bogadh an carachtar anseo, bogadh an carachtar anseo, bogadh an carachtar anseo. Ach conas a dhéanfaidh mé go incrementation? Is gá dom a Cealaigh cad scriosadh mé díreach. Tá sé seo cad atá ar a dtugtar de ghnáth uimhríocht pointeoir, a Ciallaíonn math le seoltaí. Más rud é, i seo le haghaidh lúb, Coinneoidh mé incriminteach i, agus s seoladh agus is t ar seoladh, má tá mé a choinneáil ach ag cur 1, ciallaíonn sin go díreach a choinneáil ag bogadh ar aghaidh, agus ar aghaidh, agus ar aghaidh sa chuimhne. Tá sé cosúil le Shráid Oxford, an sráide go bhfuil an foirgneamh CS ar. Is é an foirgneamh CS ag 33 Sráid Oxford. Mar sin, má bhí tú a dhéanamh 33 Sráid Oxford móide 1, a thugann tú go dtí 34 Oxford Sráid, ansin 35 Sráid Oxford, ansin 36 Sráid Oxford, is cuma cad iad siúd Tá foirgnimh i ndáiríre - más ann dóibh. Agus mar sin, sin uile táimid ag déanamh anseo le uimhríochtúil pointeoir. Mar sin tá sé ar bhealach Super arcane chur in iúl dúinn féin. Ach tá go léir go bhfuil ag tarlú thíos an cochall Tá díreach tar éis na seoltaí, cosúil le seo a leanas le léarscáil, más maith leat, nó saighde cosúil le seo a leanas tá muid a tharraingt ar an scáileán. OK, go leor a díolama. Aon cheist ar error, coincheapa, leideanna, malloc, nó a leithéidí. Yeah, thar anseo ar dtús. LUCHT ÉISTEACHTA: Mar sin, nuair a Deir * t ionann toupper * t, is é sin ag dul chun leas na litreacha nó just-- DAVID J. MALAN: Ah, ceist gur maith. Mar sin, sa líne seo anseo, 31, Tá sé seo ag dul chun leas a an chéad litir nó gach ceann de na litreacha. Mar sin, a ligean ar a fhreagairt go bhfuil ag dul ar ais go dtí bhunphrionsabail. Agus an chéad prionsabail anseo Ciallaíonn mé ach dul go dtí na sainmhínithe bunúsacha de cad atá i gceist. Mar sin, toupper tá feidhm go mbaintear a Char. Sin é an méid. * t ciallaíonn téigh go dtí an first-- téigh go dtí an seoladh in t. Mar sin, sa phictiúr, má tá sé seo an smután de chuimhne leithdháilte againn le malloc, agus tá sé seo t, ciallaíonn * t go here. Idir an dá linn, tá tú ag dul an luach, CásÍochtair m go toupper, tá tú ag dul ar ais caipitil M, áit a bhfuil tú a chur air? Bhfuil tú ag chur san suíomh céanna. Agus mar sin ag an loighic na ndaoine sainmhínithe bunúsacha tá sé ach caipitliú an chéad litir ach amháin má iterate tú le liom nó a ar feadh lúb nó lúb tamaill, níl sé ag dul rud ar bith níos mó ná a iarraidh ort é sin a dhéanamh. Ceist mhaith. Yeah? LUCHT ÉISTEACHTA: Cén fáth go raibh tú ag úsáid an téigh i modh seachas an eagar? DAVID J. MALAN: Ah, ceist mhaith. Cén fáth go mbeadh tú ag úsáid an téigh i Modh ionad an modh eagar? Aon chúis ar leith, a bheith macánta. Agus, go deimhin, ar an de chineál ar shampla, ceart, Tá mé ag argóint a dhéanamh ar an clár níos casta, níos súile gloiniú os a chionn, daoine ag seiceáil amach mar tá sé seo Super arcane, ach cé tá sé ag déanamh an rud céanna. Agus mar sin, frankly, is é seo réiteach gan ghá casta amhairc ar an bhfadhb. Tá sé fós dea-dhearadh, cúig as cúig dhearadh, bíodh sé sa lúibín nodaireacht nó ar an nodaireacht pointeoir. But-- háirithe nuair a fhaigheann muid níos déanaí i gcúrsa i PSet 5 nuair a muid a chur i bhfeidhm go foclóir a Tá mé luaite cúpla times-- beidh orainn cúram i ndáiríre mar gheall ar an seoltaí cuimhne leibhéal íseal go dtuigeann muid i ndáiríre cad atá ar siúl. Ach, do anois, casadh sé amach go bhfuil an líne de chód lúibíní anseo cearnach nach ann i ndáiríre. Tá siad cad atá ar a dtugtar siúcra syntactic, a ach ar bhealach weirdly fionnuar ag rá an Athraíonn tiomsaitheoir lúibíní cearnacha a bheith abairt sin mhatamaiticiúil. Mar sin, tá sé ina choinbhinsiún an duine a bheith in ann a scríobh ach na lúibíní an-éasca le húsáid. Ach cad é an tiomsaitheoir, clang, ag déanamh i ndáiríre aon am scríobhann tú cad atá aibhsithe ag teacht 24, thíos an cochall tá sé i ndáiríre athrú sé chun an. Tá sé díreach níos pleasurable mar an duine a léamh agus a scríobh cód mar líne 24. Ach sa deireadh iad siúd rothaí oiliúna a thagann freisin as nuair a fhaigheann duine ar do chompord féin níos láidre. Ceart go leor, mar sin chun cuimhne ansin go bhfuil an ba é an saghas fhadhb is mó ar siúl againn i. Agus sin an méid seo ar fad spreag comhrá diabhal faoi leideanna, agus seoltaí, agus rudaí a chóipeáil. Bhí sé mar gheall ar tripped muid thar seo dúr, a eisiúint dúr, trína Curtha i bhfeidhm mé logically-- le Lauren suas anseo ar an taispeántas agus an sú oráiste sa milk-- breá fheidhm algorithmically ceart chun swapping dhá athróg ' luachanna, ach an rud diabhal Ní raibh aon leanúnach, nó buan, éifeacht ar mo cód. Agus cén fáth go raibh sin? In a nutshell, cén fáth go bhfuil sé seo cur i bhfeidhm babhtála loighciúil ceart, ach nach bhfuil aon tionchar ar na hathróga atá ar aghaidh chuig dó, cosúil le x agus y le haghaidh phríomh? Cad é an gist an cheist? Yeah? LUCHT ÉISTEACHTA: Mar gheall athróg rinneadh cóipeanna de athróg sa pas trí fheidhm. DAVID J. MALAN: Go díreach, nuair a théann tú athróg isteach i fheidhm, nó argóintí isteach i fheidhm, tá siad rith ag chóip, a ciallaíonn fhaigheann tú comhionann lorg patrún na giotán do x agus y, ar a dtugtar anseo a agus b. Agus is féidir leat aon ní a dhéanamh ba mhaith leat leis na cóipeanna, ach tá siad ag dul a bheith acu ar bith bhfeidhm ar an bhfeidhm ag glaoch. Agus, go deimhin, tharraing muid go pictiúr ar an scáileán, cuimhne uair dheireanach, trína má tá tú i ndáiríre smaoineamh ar cad atá dul ar thíos an hood-- má is é seo do ríomhaire a chuimhne, agus síos anseo tá an smután de Cuimhne á n-úsáid le haghaidh is mó, is é seo an smután de Cuimhne á n-úsáid le haghaidh babhtála, agus mar sin fiú má tá príomh dhá athróg, x agus y, D'fhéadfadh go mbeadh babhtála comhionann lorg luachanna, an dá cheann acu 1 agus 2, ach tá siad go hiomlán smután éagsúla de chuimhne. Mar sin ní mór dúinn a réiteach ar an. Agus frankly, is cosúil go againn anois go mbeadh réiteach ar an fhadhb, ceart. Má ní mór dúinn anois an cumas a rudaí a ionramháil ar mhodh seoltaí agus, saghas sleamhnáin agus dréimirí stíl, lean na saigheada agus dul in áit ar bith ba mhaith linn i gcuimhne nach bhféadfaí, táimid ag an fhadhb seo ag réiteach a rith ó mó a mhalartú Níl na luachanna ba mhaith linn a babhtála, ach amháin intuitively cad a d'fhéadfadh muid a pas a mhalartú ina ionad? [GUTH interposing] DAVID J. MALAN: Cén fáth nach bhfuil muid ach pas a fháil sé na seoltaí, ceart? Cén fáth nach féidir linn a thabhairt babhtála le léarscáil taisce, más maith leat, go thoradh sé leis an luachanna a x agus y iarbhír. Babhtála A ligean ar, athrú iarbhír na píosaí bunaidh, seachas ach dul cóipeanna de na giotán. Agus mar sin, go deimhin, go bhfuil an méid atá ag dul a bheith ar an réiteach. Is é seo an leagan anseo go soiléir olc agus lochtach. Agus anois, ag an gcéad amharc, tá sé ach mar a chuir muid a bunch de réaltaí randamach agus thrasnaigh ár n-mhéara go mbeadh sé thiomsú. Ach, bheadh ​​sé a thiomsú anois. Ach a ligean ar a fheiceáil cad is ciall na rudaí seo. Agus, ar an drochuair, an údair D'fhéadfadh C roghnaithe siombail eile a dhéanamh ar an beag níos soiléire, ach an t-oibreoir réalta Tá brí éagsúil i dhá gcomhthéacsanna difriúla. Agus againn le feiceáil araon, ach ligean ar idirdhealú. Mar sin, suas ag an mbarr ann, nuair a tá mé athrú a agus b ó bheith slánuimhir sa dona leagan a slánuimhir réaltaí, a agus b, roimhe, bhí slánuimhreacha. Cad iad a agus b anois i an maith, leagan glas? Tá siad seoltaí. Seoltaí ar cad, a bheith soiléir? Seoltaí na slánuimhreacha. Mar sin, an bhfíric go bhfuil mé ciallaíonn réalta slánuimhir ag rá is é seo an seoladh ar slánuimhir, go sonrach. Mar sin, faoi deara anois i línte de chód, Tá rud éigin eile a athrú freisin. tmp fhanann an gcéanna, mar gheall ar tá sé ach an slánuimhir sealadach, aon draíochta chuimhne ann. Ach ní mór a anois le réalta. Agus, go deimhin, gach lua eile de a agus b, faoi ​​deara go bhfuil gach go bhfuil athrú ó dearg go glas Is go bhfuil mé ag le línte na hathróga a bhfuil réaltaí. Toisc nach bhfuil mé ag iarraidh a chóipeáil a agus b. Mar má a chóipeáil mé díreach tar éis a agus b agus babhtála a agus b, cad tá mé i ndáiríre swapping? Just a seoltaí, ba mhaith liom a mhalartú cad atá ag na seoltaí. Ba mhaith liom dul ann. Agus mar sin an t-oibreoir réalta taobh istigh de mo fheidhm, ní taobh istigh an liosta paraiméadar, ciallaíonn leat dul go dtí na seoltaí agus ar ndóigh, a athrú na luachanna sin. Mar sin, cad a dhéanann an pictiúr anois cuma mhaith ina ionad. Bhuel, más rud é in ionad tá mé ag dul i do agus b ní 1 agus 2-- Gá dom i ndáiríre a chur leis sainmhíniú amháin eile anseo. Mar sin, is dócha go bhfuil an smután de chuimhne ag suíomh 10. Tá sé seo ag suíomh 11, ach tá sé seo Is le beagán de simpliú, Tá mé anois dhá rogha a dhéanamh pas mé x agus y nó is féidir liom pas a gcuid seoltaí? Má éiríonn liom a gcuid seoltaí mar seo, mé díreach tar éis Ní mór anois a chur i bhfeidhm babhtála in aghaidh an cód glas ionas gur nuair a fheiceann sé agus nuair a dhéanamh air Feiceann b, ní chuireann sé a chóipeáil ach a agus b agus bogadh an bainne agus sú oráiste. An bainne agus oráiste sú meafar bhriseann síos anois, mar gheall ar na cupáin Tá de léarscáileanna leachtacha agus nach bhfuil. Ní mór dúinn ina ionad dul chun aghaidh a thabhairt 10 agus muid gá atá le dul chun aghaidh a thabhairt 11, agus ansin an fheidhm sin a loighic swapping. Dá bhrí sin tá an loighic an gcéanna, ach ní mór dúinn ar bhealach beagáinín difriúil de rochtain na hathróga. Agus mar sin sa deireadh, cad é an Tá clár chun breathnú cosúil tá sé seo. I swap.c chóipeáil literally agus a ghreamú an leagan glas. Ach is gá dom a dhéanamh athrú amháin. Níl sé go leor ach babhtála a athrú. Cad líne eile de chód is gá dom a athrú? Yeah? LUCHT ÉISTEACHTA: Nuair a thógann sé na hargóintí. DAVID J. MALAN: Cá a thógann sé a argóint. Mar sin má scrollú mé suas go dtí mó, mé Ní féidir pas a fháil ach in x agus y, agus, geallaim, an ceann deireanach píosa chomhréir nua lá atá inniu ann. Is gá dom chun pas a fháil i gan x agus y ach an seoladh an x ​​agus y. Agus casadh sé amach, an tsiombail go an údair C roghnaigh Is má úsáideann tú ampersand anseo, gan a mheascadh leis an ampersand bitwise, má úsáideann tú ampersand anseo agus ina ampersand anseo, figiúirí seo amach ar do shon, cad é an seoladh ar x, b'fhéidir go bhfuil sé 10, cad é an seoladh an y, b'fhéidir go bhfuil sé 11, agus Gabhann iad siúd i ina ionad. Mar sin a lán a ionsú go léir ag an am céanna. Ach a ligean ar a fheiceáil anois go tapa i ár ceithre nóiméad fágtha nuair is féidir rudaí a théann awry. Agus mar leataobh, i ndáiríre Ghlac mé an pictiúr, TF Ghlac an pictiúr in aghaidh na bliana nó dhó ó shin. Mar sin, is é seo an choirnéal chúl de Halla itheacháin Eliot. Tá leideanna dócha gurb é an deacra ábhar a chlúdaíonn againn i CS50. Mar sin, má tá imní ort an saghas de fána cosúil b'fhéidir go bhfuil sé níos mó de maide haca mar seo, a bhaint amach tá muid ag de chineál ar beagnach buaic i théarmaí an chastacht coincheapúil. Agus a thabhairt mé suas seo grianghraf, mar gheall ar swear go Dia, i titim 1996, nuair a thóg mé CS50 le mo chomhbhaill teagaisc, Nishat Mehta, shuigh sé liom síos sa cúinne den Eliot D. Halla thar lóin, nó dinnéar, nó rud éigin chun iarracht a dhéanamh chun cabhrú liom a thuiscint leideanna. Agus é seo nuair a bhí mé seachtaine tar éis tugadh isteach é i léacht nuair Thuig mé deireadh leideanna. Agus tá mé dóchasach go bhfuil an Beidh cliceáil bhfad níos luaithe ar do shon. Ach a bhaint amach go hiomlán i measc seo na topaicí níos sofaisticiúla againn d'fhéach sé ar. Ach tá sé i measc na is cumhachtaí. Agus nuair a gheobhaidh tú é, tá sé i ndáiríre go léir ach ag dul chun teacht ar deireadh le chéile. Mar sin, eile cinnte nach ndéanann sé Ní mór do gach doirteal sa lá atá inniu. Mar sin, tá anseo an gclár seo caite táimid ag dul chun breathnú ar. Agus táimid ag dul go dtí deireadh le trí nóiméad tapa claymation déanta ag ár gcara, Nick Parlante. Seo a clár, go bhfuil ar an dá barr línte dhearbhaíonn x athraitheach agus y. Araon atá seoltaí de slánuimhreacha, leideanna aka. Táimid ag leithdháileadh ansin go leor cuimhne a stóráil ina slánuimhir agus a stóráil ar an seoladh den chuimhne in x. Mar sin, tá sé fiú níos simplí ná an sampla roimhe seo. Tabhair dom ceithre bytes de chuimhne, sin an méid de ina slánuimhir, agus a chur go seoladh i x. Ciallaíonn sé seo ag teacht anseo téigh go dtí an seoladh in x agus a chur ar an bhrí saol, an uimhir 42 ann. Ach imní líne seo dom. Star ciallaíonn y dul go dtí an seoladh i y, agus a chur ar an uimhir unlucky 13 ann. Cén fáth go bhfuil contúirteach é, ag an bpointe seo sna story-- cé a dúirt go tapa inár nóiméad Gibbous here-- fáth go bhfuil sé go dona dom a rá, téigh go dtí an seoladh i y? LUCHT ÉISTEACHTA: Ní Tá tú [inaudible]. DAVID J. MALAN: nach bhfuil mé rud ar bith a chur i y. Mar sin, cad é an luach y, ag an bpointe seo sa scéal? Ní mór dúinn aon smaoineamh. Tá sé roinnt luach truflais agus ní bhfuil a fhios Binky. Má d'fhéadfadh muid ag deireadh ar nóta seo. [VIDEO Archives] -Hey, Binky, múscail. Tá sé in am le haghaidh spraoi pointeoir. -Cad É sin? Foghlaim faoi threo? Ó, goody. -Bhuel, Chun tús a, buille faoi thuairim mé tá muid ag dul go mór a leideanna lánúin. -OK. Leithdháileann an cód seo ar dhá threo is féidir pointe a slánuimhreacha. -OK, Go maith Feicim an dhá threo, ach tá siad Ní gá cosúil le bheith dírithe ar rud ar bith. -Go Ceart. Ar dtús leideanna ná pointe le rud ar bith. Is iad na rudaí a pointe siad go ar a dtugtar pointees agus iad a chur ar bun Is céim ar leith. -Oh, Ceart, ceart. Bhí a fhios agam go. Is iad na pointees ar leith. Mar sin, conas a dhéanann tú a leithdháileadh ar pointee? -OK, Go maith an cód leithdháileann a pointee slánuimhir nua, agus tá sé seo leagann páirt x go pointe dó. -Hey, Breathnaíonn go níos fearr. Sin a dhéanamh a dhéanamh ar rud éigin. -OK, Feicfidh mé dereference téigh an pointeoir x go stóráil an uimhir 42 isteach ina pointee. Ar an trick, beidh mé gá mo wand draíocht dereferencing. -Do Wand draíocht dereferencing? Uh, go, go mór. -Is Conas mar a bhreathnaíonn an cód nós. Feicfidh mé a leagtar ach suas ar an líon and-- [POP SOUND] -Hey, Breathnú ansin téann sé. Mar sin, ag déanamh téigh i ar x a leanas an arrow chun rochtain a pointee. Sa chás seo, a stóráil 42 i ann. Hug, déan iarracht úsáid a bhaint as é a stóráil ar an líon 13 tríd an pointeoir eile, y. -OK. Beidh mé ag dul díreach os cionn anseo chun an y, agus a fháil ar an uimhir 13 a leagan síos suas. Agus ansin a chur ar an wand ar dereferencing agus just-- [Dordánaí SOUND] -Oh, Hug nach raibh an obair. Abair, uh, Binky, ní féidir liom I mo thuairimse, dereferencing Is y smaoineamh maith, mar gheall ar a leagan síos suas an pointee is céim ar leith. Agus ní dóigh liom go raibh muid riamh é. -Hmm, Pointe maith. -Yeah, Leithdháilte againn ar an pointeoir, y, ach Riamh a leag muid é a chur in iúl go pointee. -Hmm, An-observant. -Hey, Tá tú ag lorg maith ann, Binky. An féidir leat é a shocrú ionas go mbeidh pointí y leis an pointee céanna le x. -Sure, A úsáid mé mo wand draíochta de sannadh pointeoir. -An Go dul chun bheith ina fhadhb, mar a bhíodh? -Ní, Ní hionann sin teagmháil leis an pointees. Athruithe sé ach pointeoir amháin a chur in iúl do na thing-- céanna [Popping SOUND] --as eile. -Oh, Féach mé. Anois pointí y go dtí an áit chéanna mar x. Mar sin, fan, anois tá y socraithe. Tá sé pointee. Mar sin, is féidir leat triail an wand de dereferencing arís a sheoladh chuig an 13 os a chionn. -Oh, OK, téann anseo. -Hey, Ag féachaint ar sin. Anois dereferencing oibreacha ar y. Agus mar gheall ar na leideanna ag roinnt go pointee amháin, siad araon a fheiceáil ar an 13. -Yeah, A roinnt, uh, is cuma cad. Mar sin, táimid ag dul chun áiteanna a athrú anois? -Oh, Breathnú tá muid amach as an am. -But-- -Just Cuimhneamh ar na trí riail pointeoir. Uimhir 1, an struchtúr bunúsach Is go tá tú pointeoir, agus pointí sé thar a pointee. Ach an pointeoir agus Tá pointee ar leith. Agus an earráid coitianta Is a chur ar bun le pointeoir ach chun dearmad a thabhairt dó pointee. Uimhir 2, dereferencing pointeoir thosaíonn ag an pointeoir agus seo a leanas a arrow thar rochtain a fháil ar a pointee. Mar is eol dúinn go léir, seo oibríonn ach amháin má tá Is pointee, a fhaigheann chineál ar ais chun rialú a thabhairt uimhir 1. Uimhir 3, pointeoir Bíonn sannadh pointeoir amháin agus athruithe sé a chur in iúl do na pointee céanna le pointeoir eile. Mar sin, tar éis an sannadh, an dá threo Beidh pointe ar an pointee céanna, uaireanta ar sin ar a dtugtar a roinnt. Agus sin ar fad atá ann chun é, i ndáiríre. Fo-beannacht anois. [END Archives] DAVID J. MALAN: Sin é do CS50. Go raibh maith agat leis an Ollamh Nick Parlante. Beidh orainn a fheiceann tú an tseachtain seo chugainn. [Seinm ceol ELECTRONIC]