1 00:00:00,000 --> 00:00:00,499 2 00:00:00,499 --> 00:00:11,261 [Seinm ceoil] 3 00:00:11,261 --> 00:00:12,640 >> DAVID J. MALAN: Gach ceart. 4 00:00:12,640 --> 00:00:14,525 Is é seo an CS50. 5 00:00:14,525 --> 00:00:16,009 Agus is é seo an tús na seachtaine 5. 6 00:00:16,009 --> 00:00:18,050 Agus mar a fhéadfadh a bheith agat faoi deara, cuid den ábhar 7 00:00:18,050 --> 00:00:21,050 ag fáil beagán níos mó casta, an denser beag. 8 00:00:21,050 --> 00:00:24,560 >> Agus tá sé an-éasca, go háirithe má atá tú a bhí sa nós le tamall, 9 00:00:24,560 --> 00:00:28,600 a bheith ag iarraidh a Scribble síos an chuid is mó aon rud a dhéanann muid, tá muid ag rá sa rang. 10 00:00:28,600 --> 00:00:31,626 Ach a bhaint amach, nach bhfuil b'fhéidir an gcur chuige oideolaíoch idéalach 11 00:00:31,626 --> 00:00:34,250 chun foghlaim den chineál seo ábhar, agus ábhar níos ginearálta. 12 00:00:34,250 --> 00:00:37,250 Agus mar sin tá áthas orainn a fhógairt go CS50 ar Gheng féin 13 00:00:37,250 --> 00:00:39,780 Tá tús curtha Gong a ullmhú sraith Canonical de nótaí 14 00:00:39,780 --> 00:00:42,100 don chúrsa, an dóchas a mbeidh, ar cheann, na 15 00:00:42,100 --> 00:00:44,030 freastal, ní hamháin mar tagartha agus acmhainn 16 00:00:44,030 --> 00:00:47,410 haghaidh ábhar a athbhreithniú agus ag dul ar ais trí ábhar a d'fhéadfadh a bheith 17 00:00:47,410 --> 00:00:51,230 éalaigh tú an chéad uair timpeall, ach freisin ionas gur féidir le do cinnirí bheith níos 18 00:00:51,230 --> 00:00:53,740 suas ná síos, nuair a sé Tagann an t-am chun léacht, 19 00:00:53,740 --> 00:00:56,960 ionas go dtiocfadh leat a bheith páirteach níos thoughtfully, mar 20 00:00:56,960 --> 00:00:59,170 i gcomparáid le níos scribbly. 21 00:00:59,170 --> 00:01:02,510 >> Leis sin ráite, cad a gheobhaidh tú ar Is é an láithreán gréasáin doiciméid den sórt sin mar seo. 22 00:01:02,510 --> 00:01:04,660 Agus fógra, ar chlé barr, níl Ní amháin go bhfuil an clár ábhair, 23 00:01:04,660 --> 00:01:06,920 ach freisin cóid am go Beidh léim láithreach tú 24 00:01:06,920 --> 00:01:09,077 leis an chuid iomchuí sa líne físeáin. 25 00:01:09,077 --> 00:01:11,410 Agus cad Chang anseo atá déanta Tá, go bunúsach, a dhoiciméadú 26 00:01:11,410 --> 00:01:13,340 an méid a tharla sa léacht ar leith. 27 00:01:13,340 --> 00:01:16,370 Agus tá go leor de na léachtaí cheana féin ar líne anois leis an URL seo. 28 00:01:16,370 --> 00:01:20,110 Agus beidh muid ag leanúint ar aghaidh go dtí an iar an chuid eile díobh siúd faoi dheireadh an tseachtain seo, 29 00:01:20,110 --> 00:01:22,380 mar sin, ná leas a bhaint as an acmhainn sin. 30 00:01:22,380 --> 00:01:25,740 >> Mar sin, gan a thuilleadh moille, thosaigh muid a craiceann ar ais 31 00:01:25,740 --> 00:01:28,180 an ciseal a bhí teaghrán ar feadh tamaill. 32 00:01:28,180 --> 00:01:30,670 Agus cad a rinne linn a rá ar shraith Tá i ndáiríre an tseachtain seo caite? 33 00:01:30,670 --> 00:01:31,720 34 00:01:31,720 --> 00:01:32,900 Réalta sin Char. 35 00:01:32,900 --> 00:01:34,900 Agus réalta ruabhric, go maith, cad a raibh a chiallaíonn i ndáiríre? 36 00:01:34,900 --> 00:01:37,150 Bhuel, ar fad an t-am seo, más rud é tá muid curtha ag glaoch feidhm, 37 00:01:37,150 --> 00:01:40,450 cosúil le getString, agus a stóráil an tuairisceán sin ar a dtugtar 38 00:01:40,450 --> 00:01:42,910 luach getString i variable-- tá sé ar a dtugtar 39 00:01:42,910 --> 00:01:47,721 s cineál string-- tá muid ag scríobh an líne de chód suas ann thuas. 40 00:01:47,721 --> 00:01:49,970 Agus tá sé ach amháin nuair a fheiceann mé mo peannaireacht magnified anseo 41 00:01:49,970 --> 00:01:51,930 dhéanamh a bhaint amach mé díreach cé atrocious é seo. 42 00:01:51,930 --> 00:01:54,180 >> Mar sin féin, a ligean ar glacadh leis go bhfuil, ar thaobh na láimhe deise 43 00:01:54,180 --> 00:01:57,070 is é, mar sin féin, a réasúnta Léiriú cad 44 00:01:57,070 --> 00:01:58,880 dul ar seo go léir am le getString. 45 00:01:58,880 --> 00:02:00,380 getString, ar ndóigh, faigheann, ar shraith. 46 00:02:00,380 --> 00:02:01,691 Ach cad a chiallaíonn i ndáiríre? 47 00:02:01,691 --> 00:02:04,190 Ciallaíonn sé go bhfaigheann sé le smután de cuimhne as an córas oibriúcháin 48 00:02:04,190 --> 00:02:06,040 trí ghlaoch feidhm, ar a dtugtar malloc. 49 00:02:06,040 --> 00:02:07,390 Ach níos mó ar an níos déanaí. 50 00:02:07,390 --> 00:02:09,139 Agus ansin populates sé go smután de chuimhne 51 00:02:09,139 --> 00:02:11,764 leis na litreacha ag an úsáideoir clóscríofa i, agus ina dhiaidh, ar ndóigh, 52 00:02:11,764 --> 00:02:14,800 carachtar nialasach, nó cúlslais nialas ag an deireadh an-. 53 00:02:14,800 --> 00:02:18,280 >> Idir an dá linn, ar an thaobh na láimhe clé den scéal seo, am seo go léir, 54 00:02:18,280 --> 00:02:20,850 tá muid dhearbhú athraitheach, ar nós s. 55 00:02:20,850 --> 00:02:24,770 Agus is é sin an méid athróg anois Beidh tús a ghlaoch ar pointeoir. 56 00:02:24,770 --> 00:02:29,190 Níl sé bosca taobh istigh de chuir muid ar an téad, Daven, per se, 57 00:02:29,190 --> 00:02:32,550 ach chuir muid sa chearnóg bosca ar an taobh clé cad é go díreach? 58 00:02:32,550 --> 00:02:34,890 59 00:02:34,890 --> 00:02:35,390 Yeah? 60 00:02:35,390 --> 00:02:37,118 >> LUCHT ÉISTEACHTA: D'fhéadfadh an seoladh ar áit a bhfuil sé suite i gcuimhne. 61 00:02:37,118 --> 00:02:38,118 >> DAVID J. MALAN: Go díreach. 62 00:02:38,118 --> 00:02:40,690 D'fhéadfadh an seoladh ar an áit Daven Tá sí suite i gcuimhne. 63 00:02:40,690 --> 00:02:44,650 Agus ní i gcás gach ceann de Daven suite, per se, ach go háirithe an seoladh 64 00:02:44,650 --> 00:02:45,150 ar cad é? 65 00:02:45,150 --> 00:02:46,311 66 00:02:46,311 --> 00:02:46,810 Yeah? 67 00:02:46,810 --> 00:02:47,460 >> LUCHT ÉISTEACHTA: An chéad charachtar. 68 00:02:47,460 --> 00:02:50,209 >> DAVID J. MALAN: an chéad charachtar i Daven, a, sa chás seo, 69 00:02:50,209 --> 00:02:53,820 Proposed mé treallach agus ró 1, OX1, 70 00:02:53,820 --> 00:02:55,910 rud ach ciallaíonn an líon heicsidheachúlach de 1. 71 00:02:55,910 --> 00:02:57,993 Ach tá sé ag dul is dócha a bheith ina líon i bhfad níos mó 72 00:02:57,993 --> 00:03:01,260 go bhféadfaimis a tharraingt le 0x mar réimír, 73 00:03:01,260 --> 00:03:02,806 a léiríonn carachtar heicsidheachúlach. 74 00:03:02,806 --> 00:03:05,930 Agus ós rud é nach mór dúinn a fhios áit an chuid eile de na carachtair de Daven 75 00:03:05,930 --> 00:03:09,860 Tá, mar gheall ar cad a dhearadh simplí Rinneadh cinneadh go blianta fada ó shin? 76 00:03:09,860 --> 00:03:10,548 Yeah? 77 00:03:10,548 --> 00:03:11,651 >> LUCHT ÉISTEACHTA: Cúlslais 0. 78 00:03:11,651 --> 00:03:12,900 DAVID J. MALAN: Yeah, go díreach. 79 00:03:12,900 --> 00:03:18,100 Ceadaíonn an cúlslais 0 tú, cé gur i am líneach, a lean an teaghrán, 80 00:03:18,100 --> 00:03:20,400 siúlóid ó chlé go deas, le haghaidh lúb, nó ar feadh tamaill 81 00:03:20,400 --> 00:03:22,608 lúb, nó rud éigin mar sin, agus a chinneadh, ó, anseo 82 00:03:22,608 --> 00:03:24,751 Is é an deireadh an teaghrán ar leith. 83 00:03:24,751 --> 00:03:27,000 Mar sin, a bhfuil ach an seoladh ag tús an teaghrán, 84 00:03:27,000 --> 00:03:30,290 is féidir linn rochtain a fháil ar an iomlán é, mar gheall ar fad le linn sin, 85 00:03:30,290 --> 00:03:32,030 Tá ar shraith bhí díreach réalta Char. 86 00:03:32,030 --> 00:03:36,370 >> Mar sin, tá sé cinnte fíneáil chun leanúint ar aghaidh ag baint úsáide as an leabharlann CS50 agus an astarraingt, 87 00:03:36,370 --> 00:03:38,440 mar a déarfá, ach beidh muid ag tús a fheiceáil go díreach 88 00:03:38,440 --> 00:03:41,230 cad atá ag dul ar thíos an-am ar fad. 89 00:03:41,230 --> 00:03:45,260 Mar sin, is féidir leat a thabhairt chun cuimhne an sampla seo, freisin, ó uair dheireanach, i gcomparáid 0, 90 00:03:45,260 --> 00:03:47,300 nach raibh a chur i gcomparáid i ndáiríre. 91 00:03:47,300 --> 00:03:49,070 Ach thosaigh muid chun an fhadhb seo. 92 00:03:49,070 --> 00:03:52,020 >> Ach mar b'fhéidir athnuachana, d'fhéadfadh mé suim duine éigin 93 00:03:52,020 --> 00:03:54,261 i eilifint bándearg lá atá inniu ann, chomh maith déanta ag Chang? 94 00:03:54,261 --> 00:03:55,760 Cad é faoi tú os? [Inaudible]. 95 00:03:55,760 --> 00:03:56,660 Teacht ar bun. 96 00:03:56,660 --> 00:03:58,740 >> Agus idir an dá linn, mar a thagann tú suas, a ligean ar 97 00:03:58,740 --> 00:04:01,670 mheas le haghaidh nóiméad ach cad Cuireadh cód seo a dhéanamh i ndáiríre. 98 00:04:01,670 --> 00:04:04,917 Tá sé seo á dhearbhú dhá athróg suas barr, s agus t, agus ag glaoch getString. 99 00:04:04,917 --> 00:04:08,250 Ní hé seo an clár atá éasca le húsáid an-, toisc nach bhfuil sé a insint duit cad atá le déanamh. 100 00:04:08,250 --> 00:04:10,541 Ach a ligean ar glacadh leis go díreach go bhfuil muid ag díriú ar an chuid juicy. 101 00:04:10,541 --> 00:04:14,470 Agus ansin a dhéanann muid, más ionann í ionann t, ba chóir é a rá printf, 102 00:04:14,470 --> 00:04:16,170 chlóscríobh tú an rud céanna. 103 00:04:16,170 --> 00:04:16,670 Dia duit. 104 00:04:16,670 --> 00:04:17,050 Cad is ainm duit? 105 00:04:17,050 --> 00:04:17,779 >> Janelle: Janelle. 106 00:04:17,779 --> 00:04:19,529 DAVID J. MALAN: Janelle, Is deas liom bualadh leat. 107 00:04:19,529 --> 00:04:21,800 Mar sin, le do dúshlán ag láimh don eilifint 108 00:04:21,800 --> 00:04:25,230 Is é a tharraingt ar dtús dúinn pictiúr de cad á ionadaíocht sna chéad dhá 109 00:04:25,230 --> 00:04:25,970 línte. 110 00:04:25,970 --> 00:04:28,139 Mar sin, d'fhéadfadh s agus t a ionadaíocht ar conas ar an scáileán? 111 00:04:28,139 --> 00:04:30,680 Agus is féidir leat a tharraingt ach é le do mhéar ar an scáileán mór. 112 00:04:30,680 --> 00:04:31,780 113 00:04:31,780 --> 00:04:34,510 >> Mar sin, níl dhá leath go gach taobh den chothromóid. 114 00:04:34,510 --> 00:04:37,760 Mar sin, níl s ar thaobh na láimhe clé, agus ansin getString ar dheis. 115 00:04:37,760 --> 00:04:40,540 Agus ansin níl t ar thaobh na láimhe clé, agus ansin getString ar dheis. 116 00:04:40,540 --> 00:04:42,630 Mar sin, conas a d'fhéadfadh muid tús a chur ag tarraingt pictiúr a 117 00:04:42,630 --> 00:04:46,340 Léiríonn cad atá ar siúl anseo i gcuimhne, ba mhaith leat a rá? 118 00:04:46,340 --> 00:04:49,150 Agus lig dom a lig tú a mhíniú cad atá tú a dhéanamh mar a théann tú. 119 00:04:49,150 --> 00:04:49,820 >> Janelle: OK. 120 00:04:49,820 --> 00:04:58,890 Bhuel, ar an gcéad, go mbeadh sé a bheith ag iarraidh tú a fháil ar an teaghrán ionchur. 121 00:04:58,890 --> 00:05:00,439 Agus bheadh ​​sé store-- OH, tá brón orainn. 122 00:05:00,439 --> 00:05:01,230 DAVID J. MALAN: OK. 123 00:05:01,230 --> 00:05:01,730 Dea. 124 00:05:01,730 --> 00:05:03,330 Agus is é seo ar a dtugtar cad é? 125 00:05:03,330 --> 00:05:03,950 Ó, ceart go leor. 126 00:05:03,950 --> 00:05:04,450 Coinnigh ag dul. 127 00:05:04,450 --> 00:05:05,575 Ní raibh mé chiallaíonn cur isteach. 128 00:05:05,575 --> 00:05:07,060 Janelle: Tá brón orm. 129 00:05:07,060 --> 00:05:14,237 Mar sin, bheadh ​​sé ionchur sé isteach Ní of-- an seoladh cinnte. 130 00:05:14,237 --> 00:05:17,320 Ní féidir liom cuimhneamh go díreach ar an líon, ach creidim go raibh sé ag tosú le 0. 131 00:05:17,320 --> 00:05:18,420 >> DAVID J. MALAN: Sin ceart go léir, mar rinne mé na huimhreacha ar bun, 132 00:05:18,420 --> 00:05:19,650 mar sin níl aon freagra ceart. 133 00:05:19,650 --> 00:05:22,105 >> Janelle: Ag tosú leis an 0 stua. 134 00:05:22,105 --> 00:05:24,000 >> DAVID J. MALAN: OK, mar sin eilimint 0. 135 00:05:24,000 --> 00:05:24,765 Cinnte. 136 00:05:24,765 --> 00:05:28,295 >> Janelle: Agus ansin má bhí cosúil le ach dhá letter-- 137 00:05:28,295 --> 00:05:30,496 >> DAVID J. MALAN: OK, ar ais chugat. 138 00:05:30,496 --> 00:05:33,629 >> Janelle: Mar sin eilimint 0, agus ansin eilimint 1 nó eilimint 2. 139 00:05:33,629 --> 00:05:36,670 DAVID J. MALAN: Agus a píosa an pictiúr ag tarraingt ceart agat anois? 140 00:05:36,670 --> 00:05:37,690 An glao a getString? 141 00:05:37,690 --> 00:05:38,830 Nó an dearbhú s? 142 00:05:38,830 --> 00:05:42,890 >> Janelle: an dearbhú d's, creidim. 143 00:05:42,890 --> 00:05:45,980 Ó, an getString, toisc go mbeadh sé a ionchur isteach i ngach [? cheantar. ?] 144 00:05:45,980 --> 00:05:46,510 >> DAVID J. MALAN: Maith. 145 00:05:46,510 --> 00:05:47,051 Go díreach. 146 00:05:47,051 --> 00:05:49,300 Cé sin go héifeachtach tuairisceáin eagar, cuimhne, 147 00:05:49,300 --> 00:05:53,300 nuair a fhaigheann muid ar ais ar shraith, is féidir linn Innéacs isteach teaghrán ag baint úsáide as 01 agus 2. 148 00:05:53,300 --> 00:05:56,180 Go teicniúil, is iad seo is dócha ionadaíocht ag seoltaí aonair, 149 00:05:56,180 --> 00:05:57,100 ach sin fíneáil. 150 00:05:57,100 --> 00:06:00,170 >> Mar sin, is dócha, más féidir liom ach go tapa ar aghaidh chuig nuair a d'fhág muid amach 151 00:06:00,170 --> 00:06:04,320 uair dheireanach, más rud é ar cheann de na Bhí na teaghráin g a b e, 152 00:06:04,320 --> 00:06:10,337 cúlslais 0, rud a ionadaíonn Gabe ar ionchur, conas a d'fhéadfaimis ionadaíocht s anois? 153 00:06:10,337 --> 00:06:12,670 Más é seo an chuimhne go curtha ar ais ag getString? 154 00:06:12,670 --> 00:06:14,415 155 00:06:14,415 --> 00:06:17,610 >> Janelle: An mbeadh sé ionadaíocht ag stua? 156 00:06:17,610 --> 00:06:18,750 >> DAVID J. MALAN: De réir stua? 157 00:06:18,750 --> 00:06:19,130 Bhuel, uimh. 158 00:06:19,130 --> 00:06:21,171 Ligean ach a rá, go pictiúrtha, lig dom dul díreach ar aghaidh 159 00:06:21,171 --> 00:06:25,710 agus molfaidh sé go, más rud é go bhfuil an s, seo Is é an luach ar ais getString. 160 00:06:25,710 --> 00:06:29,482 Agus tá tú tharraingt seo mar 0, 1, 2, a Is breá réasúnta, mar gheall orainn 161 00:06:29,482 --> 00:06:30,940 Is féidir innéacs isteach sa teaghrán, mar shampla. 162 00:06:30,940 --> 00:06:33,340 Ach ach a bheith ag teacht le uair dheireanach, lig dom dul ar aghaidh 163 00:06:33,340 --> 00:06:37,310 agus molfaidh treallach go bhfuil an Tá suíomh 1, is é an seoladh 2, 164 00:06:37,310 --> 00:06:39,597 tá an seoladh 3, agus mar sin de. 165 00:06:39,597 --> 00:06:41,430 Agus mar sin, ach a bheith Super soiléir, tá cad ag dul 166 00:06:41,430 --> 00:06:44,580 dul i mar thoradh ar an chéad líne de chód, ba mhaith leat a rá? 167 00:06:44,580 --> 00:06:45,420 >> Janelle: Seoladh 1? 168 00:06:45,420 --> 00:06:46,420 >> DAVID J. MALAN: Go díreach. 169 00:06:46,420 --> 00:06:47,190 Mar sin, aghaidh a thabhairt ar 0x1. 170 00:06:47,190 --> 00:06:48,220 171 00:06:48,220 --> 00:06:51,230 Agus Idir an dá linn, lig dom dul ar aghaidh agus dúblach i bhfad ar an méid atá déanta agat 172 00:06:51,230 --> 00:06:52,740 agus cuir mo T féin anseo. 173 00:06:52,740 --> 00:06:56,340 Má bhí mé a cineál i Gabe arís, an dara huair, 174 00:06:56,340 --> 00:07:01,530 nuair a spreag le getString, más rud é, ar ndóigh, tá Gabe dul chun dul? 175 00:07:01,530 --> 00:07:02,280 Bhuel, presumably-- 176 00:07:02,280 --> 00:07:04,935 177 00:07:04,935 --> 00:07:05,975 >> Janelle: Cosúil ar anseo? 178 00:07:05,975 --> 00:07:06,850 DAVID J. MALAN: Yeah. 179 00:07:06,850 --> 00:07:08,516 Janelle: Nó tá sé chomh maith sna boscaí céanna? 180 00:07:08,516 --> 00:07:11,940 DAVID J. MALAN: Lig dom a mholadh, yeah, go díreach, mar sin sna boscaí breise. 181 00:07:11,940 --> 00:07:15,230 Ach cad eochair anois is é sin, fiú amháin cé go bhfuil mé a tharraingt ar na gar go leor 182 00:07:15,230 --> 00:07:18,650 together-- 0x1, seo Tá 0x2-- i ndáiríre, 183 00:07:18,650 --> 00:07:25,750 D'fhéadfadh sé seo a bheith anois seoladh 0x10, mar shampla, agus 0x11, agus 0x12, 184 00:07:25,750 --> 00:07:26,870 agus mar sin de. 185 00:07:26,870 --> 00:07:29,955 Agus mar sin, más rud é go bhfuil an cás, cad atá ar siúl go dtí deireadh suas anseo in t? 186 00:07:29,955 --> 00:07:30,830 >> Janelle: 0x10? 187 00:07:30,830 --> 00:07:31,830 DAVID J. MALAN: Go díreach. 188 00:07:31,830 --> 00:07:33,180 Mar sin, 0x10. 189 00:07:33,180 --> 00:07:34,570 Agus mar sin anois, ceist deiridh. 190 00:07:34,570 --> 00:07:37,510 Tá tú, le fada, bhí a bheith ag obair leis an deacra do eilifint go dtí seo. 191 00:07:37,510 --> 00:07:42,650 Faoin am seo, má tá mé ag tarraingt suas an cód arís, nuair is féidir liom, ag teacht trí, 192 00:07:42,650 --> 00:07:47,630 más ionann í ionann t, cad tá mé i ndáiríre Comparáid a dhéanamh go atá againn a tharraingt anseo? 193 00:07:47,630 --> 00:07:49,271 >> Janelle: an dá seoltaí? 194 00:07:49,271 --> 00:07:50,270 DAVID J. MALAN: Go díreach. 195 00:07:50,270 --> 00:07:53,350 Mar sin, tá mé ag rá go bhfuil s ionann agus cothrom go t? 196 00:07:53,350 --> 00:07:56,210 I bhfocail eile, tá, 1 is comhionann cothrom le 10? 197 00:07:56,210 --> 00:07:59,710 Agus ar ndóigh, an Is é an freagra soiléir anois, uimh. 198 00:07:59,710 --> 00:08:02,920 Agus mar sin is é an clár seo ar deireadh thiar dul i gcló cad, ba mhaith leat a rá? 199 00:08:02,920 --> 00:08:05,770 200 00:08:05,770 --> 00:08:08,405 >> Janelle: An mbeadh sé, chlóscríobh tú an rud céanna? 201 00:08:08,405 --> 00:08:11,446 >> DAVID J. MALAN: Mar sin, más rud é s 1 agus t 10? 202 00:08:11,446 --> 00:08:13,320 >> Janelle: chlóscríobh tú rudaí éagsúla. 203 00:08:13,320 --> 00:08:13,570 >> DAVID J. MALAN: Go díreach. 204 00:08:13,570 --> 00:08:14,480 Chlóscríobh tú rudaí éagsúla. 205 00:08:14,480 --> 00:08:14,850 Gach ceart. 206 00:08:14,850 --> 00:08:16,714 Mar sin, babhta de bualadh bos, más rud é go raibh muid ábalta, anseo. 207 00:08:16,714 --> 00:08:17,214 [Bualadh bos] 208 00:08:17,214 --> 00:08:17,708 Go raibh painful. 209 00:08:17,708 --> 00:08:18,208 Tá a fhios agam. 210 00:08:18,208 --> 00:08:19,684 Nicely déanta. 211 00:08:19,684 --> 00:08:24,690 Mar sin anois a ligean ar a fheiceáil más rud é nach féidir linn tease seachas an méid a bhí an shocrú. 212 00:08:24,690 --> 00:08:28,040 Agus ar ndóigh, nuair a seasta muid this-- a beidh mé ionadaíocht a dhéanamh anois i green-- 213 00:08:28,040 --> 00:08:29,690 rinne muid cúpla feabhsúchán anseo. 214 00:08:29,690 --> 00:08:32,409 Gcéad dul síos, ach mar sanity sheiceáil, Tá mé ag seiceáil ar dtús 215 00:08:32,409 --> 00:08:35,110 más ionann í agus Eolas faoin margadh saothair is ionann t null. 216 00:08:35,110 --> 00:08:39,440 Agus díreach a bheith soiléir, nuair a d'fhéadfadh s nó t bheith Eolas faoin margadh saothair sa chód mar seo? 217 00:08:39,440 --> 00:08:43,140 218 00:08:43,140 --> 00:08:44,490 Nuair a d'fhéadfadh s nó t bheith null. 219 00:08:44,490 --> 00:08:44,990 Yeah? 220 00:08:44,990 --> 00:08:45,990 >> LUCHT ÉISTEACHTA: [inaudible]. 221 00:08:45,990 --> 00:08:49,490 222 00:08:49,490 --> 00:08:50,510 >> DAVID J. MALAN: Go díreach. 223 00:08:50,510 --> 00:08:52,840 Má tá an teaghrán go bhfuil an t-úsáideoir clóscríofa i go bhfuil ar bhealach ró-fhada 224 00:08:52,840 --> 00:08:56,140 a d'oirfeadh i gcuimhne, nó cuid cás cúinne aisteach mar sin, 225 00:08:56,140 --> 00:08:59,010 getString, mar beidh orainn a fheiceáil, literally lá atá inniu ann, ina doiciméadú, 226 00:08:59,010 --> 00:09:02,330 deir beidh sé ar ais faoin margadh saothair mar luach fairtheora speisialta, 227 00:09:02,330 --> 00:09:05,417 nó díreach saghas siombail speisialta go ciallaíonn rud éigin a chuaigh mícheart. 228 00:09:05,417 --> 00:09:07,500 Mar sin, ba mhaith linn a sheiceáil le haghaidh go bhfuil, mar gheall ar casadh sé amach 229 00:09:07,500 --> 00:09:09,720 is é sin null luach an-chontúirteach. 230 00:09:09,720 --> 00:09:14,250 >> Go minic, má tá tú iarracht rud éigin a dhéanamh leis an Eolas faoin margadh saothair a raibh function-- rith sé 231 00:09:14,250 --> 00:09:17,470 mar ionchur, chun instance-- an fheidhm sin D'fhéadfadh go mbeidh timpiste an-agus, leis, 232 00:09:17,470 --> 00:09:19,090 a chur síos do chlár ar fad. 233 00:09:19,090 --> 00:09:22,570 Mar sin, is é seo an tríú líne anois ach sanity sheiceáil, seiceáil earráid, más maith leat. 234 00:09:22,570 --> 00:09:25,450 Sin nós maith anois le haghaidh linn a fháil i am ar bith againn 235 00:09:25,450 --> 00:09:28,050 iarracht a úsáid le luach a D'fhéadfaí, d'fhéadfadh, a bheith null. 236 00:09:28,050 --> 00:09:32,000 >> Anois, sa cheathrú líne anseo, "Má strcmp (s, t)," go maith, 237 00:09:32,000 --> 00:09:33,180 cad é sin a thagraíonn do? 238 00:09:33,180 --> 00:09:36,750 Bhuel, a dúirt muid go raibh sé seo an-gonta feidhm ainmnithe le haghaidh comparáide teaghrán. 239 00:09:36,750 --> 00:09:40,370 Agus is é a chuspóir i saol a chur i gcomparáid a chéad argóint i gcoinne é an dara, 240 00:09:40,370 --> 00:09:44,640 ach ní i dtéarmaí a seoltaí, mar a rinne muid unintentionally nóiméad 241 00:09:44,640 --> 00:09:48,270 ó shin leis an gcód dearg, ach in áit chun comparáid a dhéanamh idir an dá 242 00:09:48,270 --> 00:09:53,210 teaghráin sa iomasach humanly bhealach trí chomparáid sin, i gcoinne an, 243 00:09:53,210 --> 00:09:56,690 i gcoinne seo, i gcoinne seo, agus ansin stopadh má bhíonn agus nuair a ceann 244 00:09:56,690 --> 00:09:59,590 nó an dá mo mhéara amas cúlslais 0. 245 00:09:59,590 --> 00:10:04,530 Strcmp Mar sin, bliain ó shin duine éigin i bhfeidhm a chur i bhfeidhm le linn an fheidhmiúlacht 246 00:10:04,530 --> 00:10:08,890 go raibh súil againn ba mhaith linn a gotten ag díreach a chur i gcomparáid dhá luach simplí. 247 00:10:08,890 --> 00:10:14,929 >> Anois, frankly, a choinneáil mé ag tarraingt gach ceann de na huimhreacha éagsúla. 248 00:10:14,929 --> 00:10:17,470 Ach tá an réaltacht, Bainim a dhéanamh ar na suas an t-am ar fad. 249 00:10:17,470 --> 00:10:19,580 Agus mar sin in iúl dom dul díreach ar aghaidh agus Scribble na amach 250 00:10:19,580 --> 00:10:23,100 a dhéanamh pointe go bhfuil, ag an deireadh ar an lá agus ag bogadh ar aghaidh, 251 00:10:23,100 --> 00:10:30,160 ní táimid ag dul i ndáiríre le cúram faoi cad seoltaí tá rudaí i ndáiríre 252 00:10:30,160 --> 00:10:30,790 i gcuimhne. 253 00:10:30,790 --> 00:10:34,320 Mar sin, níl mé ag dul a tharraingt ar na cineál na huimhreacha sin i bhfad níos mó, 254 00:10:34,320 --> 00:10:38,970 Tá mé díreach tar achomaireacht seo ar shiúl le beagán níos cairdiúla le díreach saigheada. 255 00:10:38,970 --> 00:10:42,060 >> I bhfocail eile, má tá s pointeoir, go maith, a ligean ar a tharraingt ach é, literally, 256 00:10:42,060 --> 00:10:45,430 mar pointeoir, saighead dírithe as féin chun rud éigin eile, 257 00:10:45,430 --> 00:10:48,280 agus bíodh imní ort iomarca níos mó faoi an minutia de na seoltaí 258 00:10:48,280 --> 00:10:49,910 a, arís, rinne mé suas ar aon nós. 259 00:10:49,910 --> 00:10:52,680 Ach beidh orainn a fheiceáil na seoltaí, uaireanta, nuair a debugging cód. 260 00:10:52,680 --> 00:10:56,450 >> Anois, Idir an dá linn, an clár seo suas anseo Ceartúcháin, ar ndóigh, 261 00:10:56,450 --> 00:10:58,720 go bhfuil fadhb trí chomparáid a dhéanamh dá teaghráin. 262 00:10:58,720 --> 00:11:00,260 Ach bhí ar siúl againn i fadhb eile. 263 00:11:00,260 --> 00:11:03,180 Bhí sé seo as an chóip cláir uair dheireanach, 264 00:11:03,180 --> 00:11:06,880 trína, bhí mé ag iarraidh a Cás Uachtair ach an chéad charachtar i teaghrán. 265 00:11:06,880 --> 00:11:09,620 Ach cad a bhí ar an symptom chonaic muid uair dheireanach a 266 00:11:09,620 --> 00:11:14,150 úsáideoir clóscríofa i luach, ar nós Gabe i litreacha beaga, d's, 267 00:11:14,150 --> 00:11:19,310 ansin sannadh muid s i t, mar atá sa tríú líne ann, 268 00:11:19,310 --> 00:11:22,900 agus ansin rinne mé a leas a t lúibín 0? 269 00:11:22,900 --> 00:11:25,950 Cad é an éifeacht athrú t lúibín 0 anseo? 270 00:11:25,950 --> 00:11:27,150 >> LUCHT ÉISTEACHTA: D'athraigh sé saor. 271 00:11:27,150 --> 00:11:29,360 >> DAVID J. MALAN: Yeah, Athraigh mé s, chomh maith. 272 00:11:29,360 --> 00:11:31,050 Mar gheall ar an méid a bhí ag dul i ndáiríre ar? 273 00:11:31,050 --> 00:11:34,130 Bhuel, lig dom féach an féidir liom a ghlanadh suas an pictiúr, mar seo a leanas. 274 00:11:34,130 --> 00:11:41,390 >> Má tá s, arís, an focal g, a, b, e, cúlslais, 0, agus s 275 00:11:41,390 --> 00:11:44,084 beidh muid ag leanúint ar líníocht mar bosca anseo, ach seoltaí nach mó. 276 00:11:44,084 --> 00:11:45,250 A ligean ar stop rudaí a dhéanamh suas. 277 00:11:45,250 --> 00:11:47,510 A ligean ar a tharraingt ach pictiúr a shimpliú ar fud an domhain. 278 00:11:47,510 --> 00:11:52,640 >> Nuair Dearbhaím T le téad t, a chruthaíonn go bhfuil smután de chuimhne. 279 00:11:52,640 --> 00:11:55,850 Cearnóg tharlaíonn a bheith 32 giotán i bhformhór na ríomhairí. 280 00:11:55,850 --> 00:11:59,530 Go deimhin, má tá tú ag éisteacht riamh de ríomhaire a bhfuil ailtireacht 32-giotán, 281 00:11:59,530 --> 00:12:03,000 i ndáiríre mhaisiúil-labhairt, go díreach ciallaíonn baineann sé úsáid seoltaí 32-giotán. 282 00:12:03,000 --> 00:12:05,370 Agus mar teicniúla leataobh, má tá tú wondered riamh 283 00:12:05,370 --> 00:12:09,630 cén fáth ríomhairí níos sine, má tá tú i ndáiríre iarracht anraith iad suas le go leor de RAM, 284 00:12:09,630 --> 00:12:12,360 D'fhéadfadh go mbeadh ar a mhéad ach amháin de cheithre ghigibheart de RAM, 285 00:12:12,360 --> 00:12:14,860 maith gur mar gheall ar, literally, D'fhéadfadh do ríomhaire d'aois amháin 286 00:12:14,860 --> 00:12:17,250 áirítear mar hard 4 billiún, 4 billiún bytes, 287 00:12:17,250 --> 00:12:20,590 mar gheall ar é go raibh ag baint úsáide as 32-giotán uimhreacha do seoltaí. 288 00:12:20,590 --> 00:12:23,260 >> Ach in aon chás, sa Mar shampla, scéal i bhfad níos simplí. 289 00:12:23,260 --> 00:12:27,250 Tá t ach pointeoir eile, nó i ndáiríre réalta ruabhric, aka teaghrán. 290 00:12:27,250 --> 00:12:30,860 Agus conas is féidir Ba mhaith liom an pictiúr suas chun dáta anois leis an dara líne de chód, 291 00:12:30,860 --> 00:12:31,950 tar éis an ponc, ponc, ponc? 292 00:12:31,950 --> 00:12:35,845 Nuair is féidir liom teaghrán t ionann í Leathstad, conas a dhéanann an pictiúr a athrú? 293 00:12:35,845 --> 00:12:37,500 294 00:12:37,500 --> 00:12:38,000 Yeah? 295 00:12:38,000 --> 00:12:38,916 >> LUCHT ÉISTEACHTA: [inaudible]. 296 00:12:38,916 --> 00:12:41,087 297 00:12:41,087 --> 00:12:42,020 >> DAVID J. MALAN: Yeah. 298 00:12:42,020 --> 00:12:42,600 Go díreach. 299 00:12:42,600 --> 00:12:45,620 Chuir mé díreach tar saighead ó t bhosca ar an seoladh céanna, 300 00:12:45,620 --> 00:12:47,570 an chéad litir céanna i thug. 301 00:12:47,570 --> 00:12:50,850 Nó go teicniúil, más rud é seo Bhí Guy fós 0x1, 302 00:12:50,850 --> 00:12:53,052 tá sé mar cé go raibh mé 0x1 anseo agus 0x1 anseo. 303 00:12:53,052 --> 00:12:54,760 Ach arís, a cares faoi ​​na seoltaí? 304 00:12:54,760 --> 00:12:56,345 Tá sé díreach an smaoineamh go bhfuil cúrsaí anois. 305 00:12:56,345 --> 00:12:57,720 Mar sin, is é seo cad atá ag tarlú anseo. 306 00:12:57,720 --> 00:13:02,690 Mar sin, ar ndóigh, má dhéanann tú lúibín t 0, a bhfuil nodaireacht eagar, 307 00:13:02,690 --> 00:13:05,650 de course-- agus frankly, tá sé mar níl eagar thar anseo, 308 00:13:05,650 --> 00:13:07,340 ach anois níl an rud aisteach. 309 00:13:07,340 --> 00:13:11,160 Know go bhfuil an teanga cláir, C, cuireann tú an ghné seo, 310 00:13:11,160 --> 00:13:14,650 trína, fiú amháin más rud é go t ar pointeoir, nó go bhfuil s pointeoir, 311 00:13:14,650 --> 00:13:18,050 Is féidir leat é a úsáid go fóill go eolas, lúibín cearnach compordach 312 00:13:18,050 --> 00:13:22,520 nodaireacht chun dul go dtí an chéad eilimint, nó an dara gné, nó aon eilimint 313 00:13:22,520 --> 00:13:26,130 go bhfuil pointeoir dírithe a toisc, is dócha, tá sé 314 00:13:26,130 --> 00:13:29,410 Tá, mar atá sa chás seo, ag cur in iúl ar roinnt eagar. 315 00:13:29,410 --> 00:13:30,340 >> Mar sin, conas is féidir linn a shocrú seo? 316 00:13:30,340 --> 00:13:33,660 Frankly, tá sé seo nuair a fuair sé beag mór ar an gcéad amharc. 317 00:13:33,660 --> 00:13:35,340 Ach tá anseo leagan nua agus feabhsaithe. 318 00:13:35,340 --> 00:13:37,460 >> Mar sin, an chéad, tá mé ag dul réidh leis an leabharlann CS50, 319 00:13:37,460 --> 00:13:41,170 ach a nochtadh go s atá, go deimhin, réalta ruabhric, ach synonym. 320 00:13:41,170 --> 00:13:43,540 Agus is t chomh maith le réalta Char. 321 00:13:43,540 --> 00:13:48,290 Ach cad atá ar siúl ar an thaobh na láimhe deise den líne 322 00:13:48,290 --> 00:13:49,970 áit a bhfuil t sannta luach? 323 00:13:49,970 --> 00:13:50,790 >> Cad é malloc? 324 00:13:50,790 --> 00:13:51,630 Cad é a strlen? 325 00:13:51,630 --> 00:13:52,547 Cad é Is uimhir (Char)? 326 00:13:52,547 --> 00:13:54,380 Cén fáth a dhéanann an heck seo breathnú ar líne chomh casta? 327 00:13:54,380 --> 00:13:55,713 Cad é a dhéanamh ag leibhéal ard? 328 00:13:55,713 --> 00:13:56,482 329 00:13:56,482 --> 00:13:57,440 Cad a stóráil in t? 330 00:13:57,440 --> 00:13:58,646 Yeah? 331 00:13:58,646 --> 00:14:01,104 LUCHT ÉISTEACHTA: Tá sé seo leithdháileadh ar méid áirithe de spás chuimhne. 332 00:14:01,104 --> 00:14:03,032 Tá sé a stóráil, buille faoi thuairim mé, litreacha [inaudible]. 333 00:14:03,032 --> 00:14:04,032 >> DAVID J. MALAN: foirfe. 334 00:14:04,032 --> 00:14:04,540 Foirfe. 335 00:14:04,540 --> 00:14:06,650 Tá sé seo leithroinnt áirithe méid spáis chuimhne 336 00:14:06,650 --> 00:14:08,940 a stóráil, is dócha, litreacha sa todhchaí. 337 00:14:08,940 --> 00:14:11,310 Agus go háirithe, malloc dá bhrí sin, ag filleadh cad é? 338 00:14:11,310 --> 00:14:13,114 339 00:14:13,114 --> 00:14:14,851 >> LUCHT ÉISTEACHTA: Ag filleadh ar an [inaudible]? 340 00:14:14,851 --> 00:14:15,850 DAVID J. MALAN: Go díreach. 341 00:14:15,850 --> 00:14:18,850 Ag filleadh ar an seoladh an chuimhne, a bhfuil ar bhealach mhaisiúil de rá, 342 00:14:18,850 --> 00:14:21,640 tuairisceáin an seoladh an chéad bheart den chuimhne. 343 00:14:21,640 --> 00:14:25,460 Tá sé de dhualgas orm a mheabhrú cé mhéad cuimhne mé i ndáiríre 344 00:14:25,460 --> 00:14:27,140 leithdháileadh nó malloc iarrtar. 345 00:14:27,140 --> 00:14:28,384 >> Anois, cé mhéad é sin? 346 00:14:28,384 --> 00:14:30,550 Bhuel, cé níl a lán de na lúibíní anseo, 347 00:14:30,550 --> 00:14:32,970 Bíonn malloc ach argóint amháin. 348 00:14:32,970 --> 00:14:37,250 Agus tá mé ag sonrú strlen ar s, mar sin a thabhairt dom mar go leor beart mar tá i s, 349 00:14:37,250 --> 00:14:37,800 ach cuir ceann. 350 00:14:37,800 --> 00:14:38,300 Cén fáth? 351 00:14:38,300 --> 00:14:39,030 352 00:14:39,030 --> 00:14:39,530 Yeah? 353 00:14:39,530 --> 00:14:40,840 >> LUCHT ÉISTEACHTA: An cúlslais 0. 354 00:14:40,840 --> 00:14:41,840 DAVID J. MALAN: Go díreach. 355 00:14:41,840 --> 00:14:43,423 Táimid agam a dhéanamh ar tí beag. 356 00:14:43,423 --> 00:14:45,970 Mar sin, mar níl a cúlslais 0, ba mhaith linn a mheabhrú níos fearr go. 357 00:14:45,970 --> 00:14:47,310 Seachas sin, táimid ag dul a chruthú ar shraith go 358 00:14:47,310 --> 00:14:49,170 Níl go terminator speisialta. 359 00:14:49,170 --> 00:14:52,640 >> Idir an dá linn, ach a bheith Super anal, tá mé Is uimhir (Char), 360 00:14:52,640 --> 00:14:55,730 ach i gcás ritheann duine éigin mo cód nach bhfuil ar an fearas CS50, 361 00:14:55,730 --> 00:14:58,220 ach b'fhéidir ar ríomhaire difriúil ar fad i gcás carachtair 362 00:14:58,220 --> 00:15:01,470 Tá beart amháin, de réir an ghnáis, ach dhá bytes, nó rud éigin níos mó ná sin. 363 00:15:01,470 --> 00:15:04,490 Tá sé ach a bheith Super, Super averse chun earráidí. 364 00:15:04,490 --> 00:15:06,940 Cé go, i ndáiríre, tá sé is dócha ag dul a bheith ina 1. 365 00:15:06,940 --> 00:15:11,490 >> Anois, Idir an dá linn, mé ag dul ar aghaidh agus a chóipeáil an teaghrán, lúibín t cothrom i lúibín t s. 366 00:15:11,490 --> 00:15:14,962 Agus beidh mé ag a chur siar go dtí an tseachtain seo caite cód foinse a fheiceáil cad atá ar siúl. 367 00:15:14,962 --> 00:15:17,670 Ach an takeaway eochair, agus an chúis Chuir mé an cód anois i glas, 368 00:15:17,670 --> 00:15:22,520 mar gheall ar an líne an-seo caite, t lúibín 0 cothrom le cos, 369 00:15:22,520 --> 00:15:25,230 Tá an éifeacht caipitliú a teaghrán? 370 00:15:25,230 --> 00:15:26,960 t agus / nó s? 371 00:15:26,960 --> 00:15:29,280 372 00:15:29,280 --> 00:15:30,580 Go líne dheiridh cód. 373 00:15:30,580 --> 00:15:32,930 374 00:15:32,930 --> 00:15:35,560 >> Díreach t, ​​mar gheall ar cad tharla an am seo, 375 00:15:35,560 --> 00:15:41,500 má tá mé Cealaigh beagán go chéim dheireanach, cad a tharla é sin, nuair a ghlaonn mé malloc, 376 00:15:41,500 --> 00:15:45,380 Liom a fháil go bunúsach le smután de chuimhne go bhfuil an méid céanna leis an bunaidh, 377 00:15:45,380 --> 00:15:47,020 mar gheall ar go bhfuil an uimhríocht a rinne mé. 378 00:15:47,020 --> 00:15:50,920 Tá mé ag a stóráil in t an seoladh den smután de chuimhne. 379 00:15:50,920 --> 00:15:53,370 Cé go Breathnaíonn sé seo deas agus go leor, deas agus bán, 380 00:15:53,370 --> 00:15:56,882 Is é an réaltacht atá ann, an méid beidh orainn choinneáil ag glaoch, luachanna truflais i anseo. 381 00:15:56,882 --> 00:15:59,340 D'fhéadfadh sin smután de chuimhne an- go maith a bheith in úsáid cheana, 382 00:15:59,340 --> 00:16:00,940 cúpla soicind, cúpla nóiméad ó shin. 383 00:16:00,940 --> 00:16:04,410 Mar sin, d'fhéadfadh a bheith ann go hiomlán uimhreacha nó litreacha ann, ach de thimpiste. 384 00:16:04,410 --> 00:16:08,580 Ach nach bhfuil siad bailí, go dtí mé mé féin populate an smután de chuimhne 385 00:16:08,580 --> 00:16:12,510 le carachtair iarbhír, mar atá mé dhéanamh gur le haghaidh lúb ann. 386 00:16:12,510 --> 00:16:13,180 Gach ceart? 387 00:16:13,180 --> 00:16:16,180 >> Mar sin anois, an climax de na trí shampla 388 00:16:16,180 --> 00:16:20,730 go Bhí briste cosúil gcruthaíonn uair dheireanach, an sampla Babhtáil, an fheidhm seo 389 00:16:20,730 --> 00:16:23,670 d'oibrigh sa chiall gur Mhalartaigh sé a agus b. 390 00:16:23,670 --> 00:16:25,620 Ach ní raibh sé ag obair i cén chiall eile? 391 00:16:25,620 --> 00:16:27,616 392 00:16:27,616 --> 00:16:28,614 Yeah? 393 00:16:28,614 --> 00:16:29,612 >> LUCHT ÉISTEACHTA: [inaudible]. 394 00:16:29,612 --> 00:16:35,600 395 00:16:35,600 --> 00:16:36,700 >> DAVID J. MALAN: Go díreach. 396 00:16:36,700 --> 00:16:39,530 Má bhí mé a ghlaoch an fheidhm seo as another-- mar shampla, 397 00:16:39,530 --> 00:16:42,870 as feidhm mar is mó, i gcás ina Tá mé athraitheach, x agus y, mar atá mé 398 00:16:42,870 --> 00:16:46,160 Rinne an tseachtain seo caite, cód céanna, agus pas mé in x agus y 399 00:16:46,160 --> 00:16:49,860 a Babhtáil, agus ansin glaoch Swap-- seo, ar ndóigh, tá an leagan ceart 400 00:16:49,860 --> 00:16:52,220 Tá an méid a tá muid ar tí é a see-- ní raibh sé ag obair. 401 00:16:52,220 --> 00:16:53,770 Mar sin, cad é an shocrú? 402 00:16:53,770 --> 00:16:56,850 >> Bhuel, mar sin ach a bheith soiléir, lig dom dul ar aghaidh 403 00:16:56,850 --> 00:17:05,450 and-- a thabhairt dom ceann an dara anseo, agus féach más féidir liom a thaispeáint duit an ceann deireanach, a 404 00:17:05,450 --> 00:17:12,464 Beidh in-- ligean ar a fheiceáil más féidir liom teacht ar seo OK fast-- fíor, [inaudible]. 405 00:17:12,464 --> 00:17:18,440 406 00:17:18,440 --> 00:17:19,240 OK, tá sé. 407 00:17:19,240 --> 00:17:21,000 Mar sin, neamhaird a dhéanamh ar orduithe mé ag clóscríobh díreach. 408 00:17:21,000 --> 00:17:23,780 Ba mhaith liom é a fháil ar an nóiméad deireanach, mar shampla 409 00:17:23,780 --> 00:17:27,960 ó uair dheireanach, a ar a dtugtar anois aon Babhtáil. 410 00:17:27,960 --> 00:17:30,200 >> Mar sin, níl aon Babhtáil áit D'fhág muid amach uair dheireanach, 411 00:17:30,200 --> 00:17:32,930 trína, túsaithe mé x go 1 agus y go 2. 412 00:17:32,930 --> 00:17:35,840 Mé glaoch ansin Babhtáil, ag dul i 1 agus 2. 413 00:17:35,840 --> 00:17:37,930 Agus ansin an fheidhm seo d'oibrigh sé i roinnt chiall, 414 00:17:37,930 --> 00:17:40,750 ach ní raibh aon buan bhfeidhm ar x agus y. 415 00:17:40,750 --> 00:17:45,430 Mar sin, tá an cheist ar láimh, conas anois dhéanaimid a shocrú an fhadhb seo i ndáiríre? 416 00:17:45,430 --> 00:17:47,820 Cad é an réiteach ar láimh? 417 00:17:47,820 --> 00:17:53,150 >> Bhuel, i swap.c, atá nua lá atá inniu ann, faoi ​​deara cúpla difríochtaí. 418 00:17:53,150 --> 00:17:54,700 Is iad x agus y an gcéanna. 419 00:17:54,700 --> 00:17:57,250 Ach cad é go soiléir éagsúla faoi líne 25? 420 00:17:57,250 --> 00:17:58,880 421 00:17:58,880 --> 00:18:01,715 Cad atá nua ann, más cuimhin leat cad a d'fhéach sé cosúil le dara ó shin? 422 00:18:01,715 --> 00:18:02,565 >> LUCHT ÉISTEACHTA: [inaudible]. 423 00:18:02,565 --> 00:18:03,440 >> DAVID J. MALAN: Yeah. 424 00:18:03,440 --> 00:18:06,680 Mar sin, tá na ampersands píosa nua comhréire, ní hamháin sa chlár seo, 425 00:18:06,680 --> 00:18:08,560 ach freisin níos ginearálta i CS50. 426 00:18:08,560 --> 00:18:10,680 Go dtí seo, ní dóigh liom go againn le feiceáil ar aon samplaí 427 00:18:10,680 --> 00:18:14,070 nó i ndáiríre Labhair mar gheall orthu in aon mion, seachas, b'fhéidir, preemptively 428 00:18:14,070 --> 00:18:16,467 in alt, ar ampersand mar seo. 429 00:18:16,467 --> 00:18:19,300 Bhuel, casadh sé amach go bhfuil ampersand amháin de na píosaí deiridh de chomhréir nua 430 00:18:19,300 --> 00:18:20,174 táimid ag dul a fhoghlaim. 431 00:18:20,174 --> 00:18:23,500 Gach ciallaíonn sé go bhfuil an seoladh ar roinnt athróg. 432 00:18:23,500 --> 00:18:25,070 Cén seoladh dhéanann x beo? 433 00:18:25,070 --> 00:18:26,510 Ach cad seoladh dhéanann y chónaí? 434 00:18:26,510 --> 00:18:28,700 Toisc más rud é an fhadhb bhunúsach roimh 435 00:18:28,700 --> 00:18:32,970 raibh x agus y a bhí á chur ar aghaidh cóipeanna díobh, cad ba mhaith linn i ndáiríre a dhéanamh 436 00:18:32,970 --> 00:18:38,780 Tá fáil Babhtáil le nós stór léarscáil sin mar thoradh ar áit a bhfuil x agus y iarbhír 437 00:18:38,780 --> 00:18:41,910 i RAM, ionas go Is féidir le Babhtáil leanúint go léarscáil 438 00:18:41,910 --> 00:18:47,760 agus téigh go dtí cibé áit x nó y marcanna an bhfód agus athrú ar na luachanna iarbhír 1 agus 2 439 00:18:47,760 --> 00:18:48,270 ann. 440 00:18:48,270 --> 00:18:50,710 >> Mar sin, ní mór Babhtáil a athrú beagán freisin. 441 00:18:50,710 --> 00:18:53,760 Agus ar an gcéad amharc, d'fhéadfadh seo Is cosúil go cosúil leis beag a réalta Char. 442 00:18:53,760 --> 00:18:54,850 Agus go deimhin, tá sé. 443 00:18:54,850 --> 00:18:59,635 Mar sin, tá súil le pointeoir a cén cineál na sonraí, bunaithe ar an chuid suntais? 444 00:18:59,635 --> 00:19:00,810 445 00:19:00,810 --> 00:19:01,620 Mar sin, tá sé slánuimhir. 446 00:19:01,620 --> 00:19:04,880 >> Mar sin, tá a thuilleadh slánuimhir, tá sé an seoladh ar slánuimhir. 447 00:19:04,880 --> 00:19:07,910 Agus mar an gcéanna, tá b ag dul anois a bheith ar an seoladh ar slánuimhir. 448 00:19:07,910 --> 00:19:12,470 Mar sin, nuair a ghlaonn mé anois Babhtáil ó Main, Níl mé ag dul Babhtáil 1 agus 2 a thabhairt. 449 00:19:12,470 --> 00:19:15,540 Tá mé ag dul a thabhairt dó mar Damh-rud éigin agus damh-rud éigin, 450 00:19:15,540 --> 00:19:19,820 dhá seoltaí a bheidh mar thoradh Babhtáil ar a suíomhanna iarbhír 451 00:19:19,820 --> 00:19:21,310 i gcuimhne ar mo ríomhaire. 452 00:19:21,310 --> 00:19:25,580 >> Mar sin anois, mo cur chun feidhme atá fágtha Ní mór a athrú ar tad. 453 00:19:25,580 --> 00:19:28,650 Cad is léir difriúil anois sna trí líne de chód? 454 00:19:28,650 --> 00:19:31,350 Níl na réaltaí diabhal go léir ar fud na háite, ceart go leor? 455 00:19:31,350 --> 00:19:33,014 Mar sin, cad atá ar siúl anseo? 456 00:19:33,014 --> 00:19:33,514 Yeah? 457 00:19:33,514 --> 00:19:35,055 >> LUCHT ÉISTEACHTA: Tá sé ar ndóigh [inaudible]. 458 00:19:35,055 --> 00:19:36,832 459 00:19:36,832 --> 00:19:37,990 >> DAVID J. MALAN: Go díreach. 460 00:19:37,990 --> 00:19:41,560 Mar sin, sa context--, agus ní raibh sé seo an cinneadh dearadh is fearr, admittedly, 461 00:19:41,560 --> 00:19:42,530 bliain ó shin. 462 00:19:42,530 --> 00:19:45,110 Sa chomhthéacs seo, i gcás ina tá tú díreach le réalta, 463 00:19:45,110 --> 00:19:48,240 agus nach bhfuil tú i ndáil le cineál sonraí, cosúil le slánuimhir, díreach ar an taobh clé, 464 00:19:48,240 --> 00:19:53,146 ina ionad sin go bhfuil tú comhartha comhionann, go soiléir, sa chomhthéacs sin, nuair a deir tú réalta ar, 465 00:19:53,146 --> 00:19:56,980 ciallaíonn sin téigh go dtí an suíomh go bhfuil i. 466 00:19:56,980 --> 00:19:58,870 Lean an léarscáil taisce, mar a déarfá. 467 00:19:58,870 --> 00:20:01,720 >> Agus Idir an dá linn, ag teacht 37, ciallaíonn sé an rud céanna. 468 00:20:01,720 --> 00:20:05,460 Téigh go dtí an seoladh ar, agus a chur ar cad atá ann? 469 00:20:05,460 --> 00:20:09,520 Cibé rud a bhfuil ag an suíomh a shonraíonn b. 470 00:20:09,520 --> 00:20:10,980 I bhfocail eile, téigh go dtí b. 471 00:20:10,980 --> 00:20:12,130 Faigh an luach. 472 00:20:12,130 --> 00:20:15,620 Téigh go dtí a agus, de réir an comhionann shíniú, an t-oibreoir sannadh, 473 00:20:15,620 --> 00:20:17,010 a chur ar an luach sin ann. 474 00:20:17,010 --> 00:20:19,272 >> Mar an gcéanna, tá teocht o ach slánuimhir. 475 00:20:19,272 --> 00:20:20,730 Ní dhéanfaidh aon ní mór a athrú faoi teocht. 476 00:20:20,730 --> 00:20:24,810 Tá sé ach gloine spártha ó Annenberg do roinnt bainne nó sú oráiste. 477 00:20:24,810 --> 00:20:27,630 Ach gá dom a rá, téigh go dtí b. 478 00:20:27,630 --> 00:20:31,449 Téigh go dtí go ceann scríbe agus a chur ar an luach i teocht ann. 479 00:20:31,449 --> 00:20:32,490 Mar sin, cad atá ag tarlú ansin? 480 00:20:32,490 --> 00:20:36,540 Nuair a ghlaonn mé i ndáiríre Babhtáil an am seo, más rud é anseo is ionann an chéad tráidire seo Main, 481 00:20:36,540 --> 00:20:42,270 léiríonn sé seo an dara tráidire Babhtáil, nuair Pas mé ampersand x agus y ampersand 482 00:20:42,270 --> 00:20:47,150 ó Main go Babhtáil, ach a bheith soiléir, cad é an chairn fráma fháil? 483 00:20:47,150 --> 00:20:48,700 484 00:20:48,700 --> 00:20:49,200 Yeah? 485 00:20:49,200 --> 00:20:50,180 >> LUCHT ÉISTEACHTA: [inaudible]. 486 00:20:50,180 --> 00:20:51,180 DAVID J. MALAN: Go díreach. 487 00:20:51,180 --> 00:20:53,129 D'fhéadfadh an seoladh x agus an seoladh y. 488 00:20:53,129 --> 00:20:55,170 Agus is féidir leat smaoineamh ar na cosúil le seoltaí poist. 489 00:20:55,170 --> 00:20:58,772 33 Sráid Oxford agus 35 Sráid Oxford, agus tú 490 00:20:58,772 --> 00:21:01,230 ag iarraidh a bogadh an dhá fhoirgneamh atá ag na suímh. 491 00:21:01,230 --> 00:21:04,680 >> Tá sé saghas smaoineamh ridiculous, ach sin go léir i gceist againn le seoladh. 492 00:21:04,680 --> 00:21:07,000 Cén áit sa domhan is féidir leat teacht ar na dhá ints? 493 00:21:07,000 --> 00:21:09,470 Cén áit sa domhan is féidir leat teacht ar na dhá fhoirgneamh? 494 00:21:09,470 --> 00:21:15,170 Mar sin, más rud é ar deireadh, tar éis go léir an t-am seo mé dul i lae inniu cód foinse agus a chur le chéile 495 00:21:15,170 --> 00:21:22,110 Babhtáil agus a reáchtáil ./swap, ar deireadh, do na chéad uair a dhéanann muid a fheiceáil i ndáiríre go 496 00:21:22,110 --> 00:21:25,330 Tá mo chuid luachanna deimhin curtha Mhalartaigh go rathúil. 497 00:21:25,330 --> 00:21:30,860 Agus anois, is féidir linn a ghlacadh fiú nóta de seo, a rá, gdb. 498 00:21:30,860 --> 00:21:32,740 >> Mar sin, lig dom dul isteach sa chomhad céanna. 499 00:21:32,740 --> 00:21:35,010 Lig dom dul ar aghaidh agus gdb an ./swap reáchtáil. 500 00:21:35,010 --> 00:21:36,590 501 00:21:36,590 --> 00:21:40,547 Agus anois, i Babhtáil, tá mé ag dul chun dul ar aghaidh agus a shocrú le pointe sos i Príomhleathanach. 502 00:21:40,547 --> 00:21:42,630 Agus anois tá mé ag dul chun dul amach romhainn agus a reáchtáil ar an gclár. 503 00:21:42,630 --> 00:21:45,810 Agus anois a fheicimid mo cód shos ag an líne. 504 00:21:45,810 --> 00:21:48,330 >> Má théim ar aghaidh agus a phriontáil x, cad ba chóir dom a fheiceáil anseo? 505 00:21:48,330 --> 00:21:49,314 506 00:21:49,314 --> 00:21:49,980 Tá sé ceist. 507 00:21:49,980 --> 00:21:51,030 508 00:21:51,030 --> 00:21:51,530 Abair arís? 509 00:21:51,530 --> 00:21:52,295 >> LUCHT ÉISTEACHTA: [inaudible]. 510 00:21:52,295 --> 00:21:53,910 >> DAVID J. MALAN: Mar sin, uimhreacha randamacha, b'fhéidir. 511 00:21:53,910 --> 00:21:56,010 B'fhéidir a fháil t-ádh orm, agus tá sé deas agus simplí, cosúil le 0. 512 00:21:56,010 --> 00:21:57,230 Ach b'fhéidir go bhfuil sé roinnt uimhir randamach. 513 00:21:57,230 --> 00:21:58,090 Sa chás seo, fuair mé an t-ádh. 514 00:21:58,090 --> 00:21:59,030 A tharlaíonn sé ach a bheith 0. 515 00:21:59,030 --> 00:22:00,780 Ach tá sé go deimhin Ádh mór, mar ní go dtí mé 516 00:22:00,780 --> 00:22:06,280 cineál seo chugainn agus ansin tá cló x go líne de chód, líne 19, curtha chun báis. 517 00:22:06,280 --> 00:22:10,942 >> Idir an dá linn, más rud é mé cineál seo chugainn arís, agus anois a phriontáil amach y, tá mé ag dul a fheiceáil 2. 518 00:22:10,942 --> 00:22:13,900 Anois, más rud é mé cineál seo chugainn, tá sé ag dul go dtí fháil mearbhall beag, mar anois, 519 00:22:13,900 --> 00:22:17,250 Is é an t printf ag dul a bheith ar an scáileán, mar a rinne sé. Tá x 1. 520 00:22:17,250 --> 00:22:18,606 >> A ligean ar é seo a dhéanamh arís. 521 00:22:18,606 --> 00:22:20,480 Agus anois, a anseo i gcás ina rudaí a fháil suimiúil. 522 00:22:20,480 --> 00:22:21,580 523 00:22:21,580 --> 00:22:26,580 Sula Glaoim Babhtáil nó fiú céim isteach ann, a ligean ar ghlacadh peek beag. 524 00:22:26,580 --> 00:22:28,980 Tá x, arís, 1. 525 00:22:28,980 --> 00:22:33,240 Is é Y, ar ndóigh, sanity tapaidh sheiceáil, 2, mar sin ní crua ann. 526 00:22:33,240 --> 00:22:35,740 Ach cad é ampersand x? 527 00:22:35,740 --> 00:22:36,760 528 00:22:36,760 --> 00:22:39,350 Freagair, tá sé ag lorg chineál ar funky. 529 00:22:39,350 --> 00:22:43,500 Ach tá an réalta slánuimhir i lúibíní díreach Is bealach OTI ar a rá seo seoladh. 530 00:22:43,500 --> 00:22:48,290 Níl sé ina slánuimhir, tá sé ina pointeoir le o, nó ar shlí eile mar sheoladh. 531 00:22:48,290 --> 00:22:49,742 >> Cad é an rud dÚsachtach? 532 00:22:49,742 --> 00:22:51,825 Riamh tá muid le feiceáil rud éigin go leor mar sin roimhe seo. 533 00:22:51,825 --> 00:22:53,650 534 00:22:53,650 --> 00:22:58,120 Mar sin, is é seo an seoladh i mo ríomhaire gcuimhne nuair a tharlaíonn x chun maireachtáil. 535 00:22:58,120 --> 00:22:59,040 Tá sé damh-rud éigin. 536 00:22:59,040 --> 00:23:01,290 Agus is é sin, frankly, cén fáth Thosaigh mé saigheada a tharraingt, 537 00:23:01,290 --> 00:23:03,340 in ionad na n-uimhreacha, mar gheall ar a cares i ndáiríre 538 00:23:03,340 --> 00:23:06,890 go bhfuil do slánuimhir ar leith seoladh sin go mór. 539 00:23:06,890 --> 00:23:12,160 Ach bffff0c4, is iad seo go léir go deimhin digití heicsidheachúlach, 540 00:23:12,160 --> 00:23:13,720 a bhfuil 0 trí f. 541 00:23:13,720 --> 00:23:16,590 >> Mar sin, ní táimid ag dul ar lár freisin fada ar cad iad na rudaí. 542 00:23:16,590 --> 00:23:19,400 Ach má phriontáil mé amach y, ar ndóigh, féach mé 2. 543 00:23:19,400 --> 00:23:22,440 Ach y ampersand, féach mé an seoladh. 544 00:23:22,440 --> 00:23:26,527 Agus fógra, do na aisteach, cé chomh fada agus atá óna chéile x agus y? 545 00:23:26,527 --> 00:23:27,985 Is féidir leat neamhaird a dhéanamh ar an chuid is mó ar an seoladh. 546 00:23:27,985 --> 00:23:29,330 547 00:23:29,330 --> 00:23:29,920 Ceithre bytes. 548 00:23:29,920 --> 00:23:33,510 Agus sin ag teacht lenár níos luaithe éileamh go cé chomh mór is slánuimhir? 549 00:23:33,510 --> 00:23:34,130 Ceithre bytes. 550 00:23:34,130 --> 00:23:37,420 Mar sin, tá sé cosúil le gach rud ar líneáil suas nicely, d'fhéadfadh mar tá súil agat, i gcuimhne. 551 00:23:37,420 --> 00:23:40,010 >> Mar sin anois, a ligean ach go tapa ar aghaidh go dtí deireadh an scéil. 552 00:23:40,010 --> 00:23:43,290 A ligean ar dul ar aghaidh agus clóscríobh ar chéim, chun Léim isteach ar an bhfeidhm Babhtáil. 553 00:23:43,290 --> 00:23:46,880 Anois, faoi deara, más rud é go cineál mé, tá sé comhionann leis an seoladh an x. 554 00:23:46,880 --> 00:23:52,130 Má chlóscríobhann mé b, tá sé comhionann chuig an seoladh y. 555 00:23:52,130 --> 00:23:57,020 Mar sin, cad ba chóir dom a fheiceáil má mé rá, téigh go dtí an seoladh seo a? 556 00:23:57,020 --> 00:23:58,120 Mar sin, a phriontáil réalta a. 557 00:23:58,120 --> 00:24:00,130 Mar sin, ciallaíonn réalta dul ann, sa chomhthéacs seo. 558 00:24:00,130 --> 00:24:02,730 Ciallaíonn ampersand cad é an seoladh ar. 559 00:24:02,730 --> 00:24:05,000 Mar sin, réalta mhodh 1. 560 00:24:05,000 --> 00:24:09,590 Agus tugann réalta cló b dom 2. 561 00:24:09,590 --> 00:24:15,750 >> Agus lig dom a glacadh leis, le haghaidh na huaire, go bhfuil ar a laghad, an cód sin 562 00:24:15,750 --> 00:24:18,950 fáltais a fhorghníomhú anois is féidir a bheith réasúnaithe trí i ar an mbealach sin. 563 00:24:18,950 --> 00:24:21,150 Ach beidh muid ag chaitheamh ar an smaoineamh seo roimh i bhfad. 564 00:24:21,150 --> 00:24:23,850 Mar sin, an leagan seo den Babhtáil Is ceart anois agus is féidir 565 00:24:23,850 --> 00:24:26,650 dúinn a mhalartú ar an gcineál sonraí a leith. 566 00:24:26,650 --> 00:24:29,120 >> Mar sin, aon cheist ansin ar Babhtáil? 567 00:24:29,120 --> 00:24:29,890 Ar réalta? 568 00:24:29,890 --> 00:24:30,690 Ar seoladh an? 569 00:24:30,690 --> 00:24:33,270 Agus beidh tú a fheiceáil, a bhfuil fhadhb atá leagtha 4, saghas, 570 00:24:33,270 --> 00:24:37,310 ach fadhb a leagtar 5, cinnte, conas na Tá rudaí úsáideacha agus a fháil i bhfad níos mó 571 00:24:37,310 --> 00:24:39,584 compordach leo, mar thoradh air. 572 00:24:39,584 --> 00:24:40,430 Rud ar bith ar chor ar bith? 573 00:24:40,430 --> 00:24:40,930 Gach ceart. 574 00:24:40,930 --> 00:24:44,350 Mar sin, tá malloc, arís, an fheidhm seo go leithdháiltear ach chuimhne, cuimhne 575 00:24:44,350 --> 00:24:45,330 leithdháileadh. 576 00:24:45,330 --> 00:24:47,024 Agus cén fáth go bhfuil seo úsáideach? 577 00:24:47,024 --> 00:24:48,940 Bhuel, ar fad an t-am seo, atá tú ag baint úsáide as malloc. 578 00:24:48,940 --> 00:24:52,230 Má mheasann tú anois conas oibreacha getString, is dócha, tá sé 579 00:24:52,230 --> 00:24:56,140 á cur ceiste ar dhuine ar feadh smután de chuimhne, ag am ar bith ar na cineálacha úsáideoir teaghrán 580 00:24:56,140 --> 00:24:59,040 i, mar gheall orainn cinnte Ní raibh a fhios, mar bhaill foirne CS50, 581 00:24:59,040 --> 00:25:02,710 cé chomh mór leis na teaghráin sin duine teacht ag dul le cineál a d'fhéadfadh a bheith. 582 00:25:02,710 --> 00:25:07,910 >> Mar sin a ligean, don chéad uair, tús a chur chun craiceann ar ais conas a oibríonn an leabharlann CS50, 583 00:25:07,910 --> 00:25:10,990 trí cúpla samplaí a bheidh mar thoradh againn ann. 584 00:25:10,990 --> 00:25:15,300 Mar sin, má osclaíonn mé suas gedit agus oscailt suas scanf 0, 585 00:25:15,300 --> 00:25:17,055 táimid ag dul a fheiceáil ar an cód seo a leanas. 586 00:25:17,055 --> 00:25:18,720 587 00:25:18,720 --> 00:25:23,530 Scanf 0, atá ar fáil ar an láithreán gréasáin le haghaidh lá atá inniu ann, tá línte réasúnta beag de chód 588 00:25:23,530 --> 00:25:25,351 anseo, 14 tríd 20. 589 00:25:25,351 --> 00:25:26,600 Agus a ligean ar a fheiceáil cad é a dhéanamh. 590 00:25:26,600 --> 00:25:28,920 Dearbhaíonn sé slánuimhir, ar a dtugtar x. 591 00:25:28,920 --> 00:25:30,850 Deir sé rud éigin cosúil le, líon le do thoil. 592 00:25:30,850 --> 00:25:33,940 Agus anois, a deir sé, scanf% i, & x. 593 00:25:33,940 --> 00:25:35,620 Mar sin, níl a bunch de rudaí nua ann. 594 00:25:35,620 --> 00:25:38,420 >> Ach scanf, is féidir leat de chineál ar smaoineamh ar de réir mar an os coinne na printf. 595 00:25:38,420 --> 00:25:40,090 printf, ar ndóigh, priontaí ar an scáileán. 596 00:25:40,090 --> 00:25:44,410 saghas scanf na scanadh as an úsáideora rud méarchlár bhfuil sé nó sí a chlóscríobh. 597 00:25:44,410 --> 00:25:46,550 >> Tá% i díreach cosúil le printf. 598 00:25:46,550 --> 00:25:49,410 Ciallaíonn sé seo ag súil leis an úsáideoir a chlóscríobh ar slánuimhir. 599 00:25:49,410 --> 00:25:52,820 Agus anois, cén fáth a cheapann tú liom d'fhéadfadh a bheith ag dul scanf & x? 600 00:25:52,820 --> 00:25:54,030 601 00:25:54,030 --> 00:25:57,770 Má tá an cuspóir i saol na scanf Tá rud éigin a fháil ón úsáideoir, 602 00:25:57,770 --> 00:26:02,480 cad é an bhrí rith sé, agus x, anois? 603 00:26:02,480 --> 00:26:02,980 Yeah? 604 00:26:02,980 --> 00:26:03,896 >> LUCHT ÉISTEACHTA: [inaudible]. 605 00:26:03,896 --> 00:26:05,540 606 00:26:05,540 --> 00:26:06,540 DAVID J. MALAN: Go díreach. 607 00:26:06,540 --> 00:26:12,900 Cibé mé, an duine, cineál i, mo ionchur ag dul a shábháil ag an suíomh sin. 608 00:26:12,900 --> 00:26:17,660 Níl sé go leor, chun cuimhne, go díreach pas a fháil in x, mar atá feicthe againn cheana féin, 609 00:26:17,660 --> 00:26:21,630 am ar bith a théann tú ach athróg amh, cosúil le slánuimhir, a fheidhm éigin eile, 610 00:26:21,630 --> 00:26:25,640 cinnte, is féidir é a athrú go athraitheach, ach ní buan. 611 00:26:25,640 --> 00:26:27,360 Ní féidir é a bhfuil tionchar acu ar Príomhleathanach. 612 00:26:27,360 --> 00:26:29,420 Is féidir é a athrú ach a chóip áitiúil féin. 613 00:26:29,420 --> 00:26:32,560 Ach más rud é, ina ionad sin, ní gá duit a thabhairt dom o 'iarbhír, 614 00:26:32,560 --> 00:26:36,640 ach a thabhairt duit dom treoracha chun go slánuimhir, mé anois, a bheith scanf, 615 00:26:36,640 --> 00:26:41,050 surely, is féidir liom a leanúint go aghaidh a thabhairt agus a chur ar roinnt ann 616 00:26:41,050 --> 00:26:43,280 ionas go mbeidh tú rochtain air chomh maith. 617 00:26:43,280 --> 00:26:45,120 >> Mar sin, nuair a ritheann mé an clár seo, a ligean ar a fheiceáil. 618 00:26:45,120 --> 00:26:49,660 Déan scanf 0 ponc Slais, scanf 0. 619 00:26:49,660 --> 00:26:54,030 Agus má tá mé cineál anois ar roinnt cosúil le 50, a bhuíochas do na 50. 620 00:26:54,030 --> 00:26:58,150 Má tá mé cineál anois ar roinnt mhaith diúltach 1, do na diúltach 1. 621 00:26:58,150 --> 00:27:04,200 I chlóscríobh anois ar roinnt mhaith 1.5, hm. 622 00:27:04,200 --> 00:27:06,030 Cén fáth go raibh mo chlár neamhaird a dhéanamh dom? 623 00:27:06,030 --> 00:27:07,300 624 00:27:07,300 --> 00:27:09,880 Bhuel, mar gheall ar go simplí, dúirt mé é a bheith ag súil le slánuimhir amháin. 625 00:27:09,880 --> 00:27:10,380 Gach ceart. 626 00:27:10,380 --> 00:27:11,630 Mar sin, go bhfuil leagan amháin de seo. 627 00:27:11,630 --> 00:27:16,600 A ligean ar rudaí a chur suas notch agus mholadh go nach bhfuil sé seo go maith. 628 00:27:16,600 --> 00:27:20,530 Agus luíonn anseo sampla an-simplí den chaoi ar féidir linn tús cód scríbhinn 629 00:27:20,530 --> 00:27:24,450 gur féidir le daoine eile leas a bhaint as, nó comhréiteach ag déanamh rudaí dona. 630 00:27:24,450 --> 00:27:28,336 Mar sin, líne 16, mar sin den chineál céanna i spiorad le roimh, 631 00:27:28,336 --> 00:27:29,960 ach níl mé a dhearbhú go slánuimhir an am seo. 632 00:27:29,960 --> 00:27:32,970 Tá mé ag á dhearbhú é a réalta ruabhric, aka teaghrán. 633 00:27:32,970 --> 00:27:35,190 >> Ach cad a chiallaíonn i ndáiríre? 634 00:27:35,190 --> 00:27:38,790 Mar sin, más rud é nach féidir liom a shonrú address-- agus Tá mé ag iarraidh é treallach, Maolán, 635 00:27:38,790 --> 00:27:43,370 ach d'fhéadfadh mé glaoch sé, a bheith simple-- agus ansin is féidir liom seo, a mhíniú dom, 636 00:27:43,370 --> 00:27:48,630 más d'fhéadfaí tú, atá bunaithe ar an mbliain roimhe sin loighic, an méid atá á dhéanamh scanf i líne 18, 637 00:27:48,630 --> 00:27:55,000 más rud é pas% s agus Maolán, atá ina seoladh? 638 00:27:55,000 --> 00:27:58,210 Cad é scanf, má dhéanann tú iarratas ar an loighic chéanna cruinn mar an leagan 0, 639 00:27:58,210 --> 00:28:00,640 ag dul chun iarracht a dhéanamh anseo, nuair a an rud cineálacha úsáideoir i? 640 00:28:00,640 --> 00:28:02,630 641 00:28:02,630 --> 00:28:03,409 Yeah? 642 00:28:03,409 --> 00:28:04,407 >> LUCHT ÉISTEACHTA: [inaudible]. 643 00:28:04,407 --> 00:28:07,401 644 00:28:07,401 --> 00:28:08,890 >> DAVID J. MALAN: Go díreach. 645 00:28:08,890 --> 00:28:11,577 Scanf, ag an loighic níos luaithe, ag dul a chur ar an teaghrán 646 00:28:11,577 --> 00:28:13,410 go bhfuil an clóscríofa daonna in-- tá sé anois ar shraith, 647 00:28:13,410 --> 00:28:15,790 nach bhfuil sé a PO, is dócha, má tá sé nó sí cooperates-- 648 00:28:15,790 --> 00:28:19,310 agus tá sé ag dul chun iarracht a dhéanamh a chur go teaghrán i gcuimhne ag cibé seoladh 649 00:28:19,310 --> 00:28:20,340 Sonraíonn Maolán. 650 00:28:20,340 --> 00:28:23,870 Agus é seo go hiontach, mar gheall ar Maolán Tá i gceist go deimhin a bheith ina seoladh. 651 00:28:23,870 --> 00:28:30,470 >> Ach éileamh go bhfuil an clár Buggy i ar bhealach an-tromchúiseach, mar gheall ar cad é luach 652 00:28:30,470 --> 00:28:31,330 Maolán mar réamhshocrú? 653 00:28:31,330 --> 00:28:33,380 654 00:28:33,380 --> 00:28:34,790 Cad a initialized mé isteach? 655 00:28:34,790 --> 00:28:35,770 Cén smután de chuimhne? 656 00:28:35,770 --> 00:28:37,480 657 00:28:37,480 --> 00:28:38,620 Nach bhfuil mé, ceart? 658 00:28:38,620 --> 00:28:42,265 >> Mar sin, cé mé a leithdháileadh mé réalta char go bhfuil a thuilleadh ar a dtugtar s, 659 00:28:42,265 --> 00:28:48,030 sé ar a dtugtar ionad sin, buffer-- sin a ligean ar a tharraingt ainm an athróg a 660 00:28:48,030 --> 00:28:53,380 anois is buffer-- más rud é nach bhfuil mé ar a dtugtar getString nó malloc anseo, 661 00:28:53,380 --> 00:28:56,030 ciallaíonn sin go héifeachtach go Tá an maolán ach roinnt luach truflais. 662 00:28:56,030 --> 00:28:57,030 >> Anois, cad a chiallaíonn? 663 00:28:57,030 --> 00:29:00,220 Ciallaíonn sé go bhfuil mé in iúl scanf bheith ag súil le teaghrán ón úsáideoir. 664 00:29:00,220 --> 00:29:01,300 Agus tá a fhios agat cad é? 665 00:29:01,300 --> 00:29:03,883 Cibé tá sé an rud atá dírithe to-- agus a tharraingt mé comhartha ceiste, 666 00:29:03,883 --> 00:29:07,060 ach i ndáiríre, tá sé ag dul a bheith rud éigin cosúil le OX1, 2, 3, ceart? 667 00:29:07,060 --> 00:29:10,730 Tá sé roinnt luach bréagach go díreach tharlaíonn a bheith ann ó roimh. 668 00:29:10,730 --> 00:29:13,440 Mar sin, a chur ar bhealach eile, tá sé mar cé go bhfuil Maolán ach 669 00:29:13,440 --> 00:29:16,180 dírithe ar rud éigin i gcuimhne. 670 00:29:16,180 --> 00:29:17,610 Tá mé aon smaoineamh cad. 671 00:29:17,610 --> 00:29:24,130 >> Mar sin, más rud é go cineál mé i Gabe anois, tá sé ag dul chun iarracht a dhéanamh a chur g-a-b-e / 0 ann. 672 00:29:24,130 --> 00:29:25,530 Ach a bhfuil aithne aige cad é sin? 673 00:29:25,530 --> 00:29:27,480 Agus san am atá caite, ar aon am againn iarracht chun teagmháil 674 00:29:27,480 --> 00:29:29,770 cuimhne nach mbaineann le linn, tá cad a tharla? 675 00:29:29,770 --> 00:29:31,020 676 00:29:31,020 --> 00:29:32,870 Nó beagnach gach uair. 677 00:29:32,870 --> 00:29:34,310 Locht deighilt, ceart? 678 00:29:34,310 --> 00:29:37,829 >> Seo arrow, tá mé aon smaoineamh áit a bhfuil sé dírithe. tá sé ach roinnt luach randamach. 679 00:29:37,829 --> 00:29:40,370 Agus ar ndóigh, má tá tú a léirmhíniú luach randamach mar sheoladh, 680 00:29:40,370 --> 00:29:42,610 bhfuil tú ag dul chun dul go dtí roinnt ceann scríbe randamach. 681 00:29:42,610 --> 00:29:46,810 Mar sin, d'fhéadfadh Gabe go deimhin tuairteála mo chlár sa chás seo anseo. 682 00:29:46,810 --> 00:29:50,600 >> Mar sin, cad is féidir linn a dhéanamh go bhfuil beagnach chomh dona? 683 00:29:50,600 --> 00:29:52,660 Smaoinigh ar seo an tríú agus Sampla breá de scanf. 684 00:29:52,660 --> 00:29:53,890 685 00:29:53,890 --> 00:29:56,870 Tá an leagan seo níos fearr i cén chiall? 686 00:29:56,870 --> 00:29:57,990 687 00:29:57,990 --> 00:30:01,400 Má tá tú compordach leis an fadhb roimhe, is é seo níos fearr. 688 00:30:01,400 --> 00:30:02,250 Cén fáth? 689 00:30:02,250 --> 00:30:03,250 >> LUCHT ÉISTEACHTA: [inaudible]. 690 00:30:03,250 --> 00:30:06,235 691 00:30:06,235 --> 00:30:07,110 DAVID J. MALAN: Maith. 692 00:30:07,110 --> 00:30:09,970 Mar sin, an cás seo de líne 16 Is fearr, sa chiall 693 00:30:09,970 --> 00:30:12,030 go bhfuil muid go sainráite leithdháileadh roinnt chuimhne. 694 00:30:12,030 --> 00:30:14,190 Ní Táimid ag baint úsáide as malloc, táimid ag baint úsáide as an seachtain 2 695 00:30:14,190 --> 00:30:16,060 cur chuige díreach a dhearbhú eagar. 696 00:30:16,060 --> 00:30:18,130 Agus tá muid a dúirt roimh an teaghrán ach le sraith de charachtair, 697 00:30:18,130 --> 00:30:19,690 mar sin tá sé seo go hiomlán dlisteanach. 698 00:30:19,690 --> 00:30:22,910 Ach tá sé, ar ndóigh, mar a tú faoi deara, méid seasta, 16. 699 00:30:22,910 --> 00:30:25,440 >> Mar sin, tá an clár seo go hiomlán sábháilte, más rud é go cineál mé 700 00:30:25,440 --> 00:30:29,760 i teaghráin carachtar amháin, dhá charachtar teaghráin, 15 teaghráin carachtar. 701 00:30:29,760 --> 00:30:34,970 Ach chomh luath agus a thosaíonn mé ag clóscríobh 16, 17, 18, 1000 teaghráin carachtar, 702 00:30:34,970 --> 00:30:37,390 áit a bhfuil go teaghrán ag dul go dtí deireadh suas? 703 00:30:37,390 --> 00:30:39,570 Tá sé seo ag dul go dtí deireadh suas go páirteach anseo. 704 00:30:39,570 --> 00:30:42,820 Ach ansin a fhios cad eile é thar na teorainneacha 705 00:30:42,820 --> 00:30:44,270 ar an eagar ar leith? 706 00:30:44,270 --> 00:30:48,015 >> Tá sé mar cé tá mé dhearbhú 16 boscaí anseo. 707 00:30:48,015 --> 00:30:49,300 708 00:30:49,300 --> 00:30:52,690 Mar sin, seachas a tharraingt amach gach 16, beidh muid ag ach ligean go bhfuil mé a tharraingt 16. 709 00:30:52,690 --> 00:30:56,540 Ach má tá mé iarracht ansin a léamh ar shraith go i bhfad níos faide, cosúil le 50 carachtair, 710 00:30:56,540 --> 00:31:01,270 Tá mé ag dul chun tús a chur a, b, c, d, x, y, z. 711 00:31:01,270 --> 00:31:04,916 Agus tá sé seo is dócha roinnt deighleog cuimhne eile 712 00:31:04,916 --> 00:31:06,790 sin, arís d'fhéadfadh, faoi deara mo chlár a tuairteála, 713 00:31:06,790 --> 00:31:10,600 toisc nach bhfuil mé d'iarr rud ar bith níos mó ná 16 bytes. 714 00:31:10,600 --> 00:31:12,260 >> Mar sin, a cares? 715 00:31:12,260 --> 00:31:13,880 Bhuel, tá anseo an leabharlann CS50. 716 00:31:13,880 --> 00:31:17,220 Agus is é an chuid is mó de seo ach cosúil le treoracha suas barr. 717 00:31:17,220 --> 00:31:21,670 An leabharlann CS50, am seo go léir, Bhí an líne seo ag teacht 52. 718 00:31:21,670 --> 00:31:23,680 Againn atá le feiceáil typedef, nó feicfidh tú typedef 719 00:31:23,680 --> 00:31:27,930 i pset 4, a chruthaíonn ach synonym inar féidir réalta char a bheith níos 720 00:31:27,930 --> 00:31:29,290 ach dá ngairtear teaghrán. 721 00:31:29,290 --> 00:31:31,540 Mar sin, tá sé seo ar cheann de na rothaí oiliúna beag 722 00:31:31,540 --> 00:31:34,120 táimid Bainim úsáid rúnda thíos an cochall. 723 00:31:34,120 --> 00:31:36,490 >> Idir an dá linn, tá anseo an fheidhm, getchar. 724 00:31:36,490 --> 00:31:38,190 Anois, is cosúil, níl aon chomhlacht dó. 725 00:31:38,190 --> 00:31:40,273 Agus go deimhin, más rud é go mé a choinneáil scrollaigh, ní féidir liom i ndáiríre 726 00:31:40,273 --> 00:31:42,080 a fheiceáil ar bith implementations de na feidhmeanna seo. 727 00:31:42,080 --> 00:31:43,140 728 00:31:43,140 --> 00:31:45,516 Mar seiceáil sanity, cén fáth go bhfuil sin? 729 00:31:45,516 --> 00:31:46,795 >> LUCHT ÉISTEACHTA: [inaudible]. 730 00:31:46,795 --> 00:31:47,670 DAVID J. MALAN: Yeah. 731 00:31:47,670 --> 00:31:48,950 Mar sin, is é seo an comhad header. 732 00:31:48,950 --> 00:31:52,520 Agus go bhfuil comhaid header fréamhshamhlacha, móide roinnt rudaí eile, is cosúil, 733 00:31:52,520 --> 00:31:53,780 cosúil typedefs. 734 00:31:53,780 --> 00:31:56,910 Ach i CS50.c, ina tá muid riamh thug tú thar barr amach, 735 00:31:56,910 --> 00:32:02,100 ach bhí sé i an fearas CS50 go léir an am seo, go domhain istigh ar a fillteáin, 736 00:32:02,100 --> 00:32:04,990 faoi ​​deara go bhfuil ina n-iomláine bunch feidhmeanna i anseo. 737 00:32:04,990 --> 00:32:06,720 >> Go deimhin, a ligean ar scrollú síos. 738 00:32:06,720 --> 00:32:08,810 A ligean ar neamhaird a dhéanamh an chuid is mó acu, le haghaidh anois. 739 00:32:08,810 --> 00:32:12,670 Ach scrollaigh síos go dtí getInt agus a fheiceáil conas a oibríonn getInt. 740 00:32:12,670 --> 00:32:13,890 Mar sin, tá anseo getInt. 741 00:32:13,890 --> 00:32:17,727 Agus más rud é riamh cúram tú i ndáiríre conas a fháil Oibríonn o, anseo is é a doiciméadú. 742 00:32:17,727 --> 00:32:19,560 Agus i measc na rudaí deir sé go bhfuil a insíonn sé leat 743 00:32:19,560 --> 00:32:21,340 cad iad na raonta luachanna is féidir a sheoladh ar ais. 744 00:32:21,340 --> 00:32:24,400 Tá sé go bunúsach diúltach 2 billiún go dearfach 2 billiún, a thabhairt nó a thógáil. 745 00:32:24,400 --> 00:32:26,420 >> Agus casadh sé amach, seo go léir am, cé go riamh tá muid 746 00:32:26,420 --> 00:32:28,570 Bhí tú ag seiceáil ar sé, má théann rud éigin mícheart, 747 00:32:28,570 --> 00:32:30,680 tharlaíonn sé go raibh gach an am seo, tá getInt 748 00:32:30,680 --> 00:32:33,600 curtha ar ais ar leith tairiseach, ní null, 749 00:32:33,600 --> 00:32:36,760 ach int_max, a bhfuil ach Ríomhchláraitheoir ar choinbhinsiún. 750 00:32:36,760 --> 00:32:38,846 Ciallaíonn sé anseo tá súil le luach speisialta. 751 00:32:38,846 --> 00:32:41,470 Bí cinnte a sheiceáil le haghaidh seo, ach i gcás théann rud éigin mícheart. 752 00:32:41,470 --> 00:32:43,261 Ach ní tá muid bothered leis sin go dtí seo, 753 00:32:43,261 --> 00:32:45,200 mar gheall ar arís, atá i gceist a shimpliú. 754 00:32:45,200 --> 00:32:46,950 >> Ach conas a dhéanann getInt fháil i bhfeidhm? 755 00:32:46,950 --> 00:32:48,450 Bhuel, ceann amháin, a thógann sé aon argóintí. 756 00:32:48,450 --> 00:32:49,390 Tá a fhios againn go. 757 00:32:49,390 --> 00:32:50,820 Tuairisceáin sé slánuimhir. 758 00:32:50,820 --> 00:32:51,950 Tá a fhios againn go. 759 00:32:51,950 --> 00:32:54,460 Mar sin, conas a oibríonn sé faoi bhun an cochall? 760 00:32:54,460 --> 00:32:58,290 >> Mar sin, tá an teorainn ann cosúil lúb, ar a laghad, an chuma ar amháin. 761 00:32:58,290 --> 00:33:00,290 Fógra go bhfuil muid ag baint úsáide as getString. 762 00:33:00,290 --> 00:33:04,000 Mar sin tá go suimiúil. getInt glaonna ár bhfeidhm féin, getString. 763 00:33:04,000 --> 00:33:05,645 Agus anois cén fáth a d'fhéadfadh sé seo a bheith ar an cás? 764 00:33:05,645 --> 00:33:07,400 765 00:33:07,400 --> 00:33:09,842 Cén fáth a bhfuil mé a bheith cosanta anseo ag teacht 165? 766 00:33:09,842 --> 00:33:11,390 767 00:33:11,390 --> 00:33:15,639 Cad a d'fhéadfadh tarlú ag teacht 164, ach a bheith soiléir? 768 00:33:15,639 --> 00:33:16,930 Tá sé an freagra céanna is a bhíodh. 769 00:33:16,930 --> 00:33:18,660 770 00:33:18,660 --> 00:33:20,089 D'fhéadfadh a bheith díreach amach as an chuimhne. 771 00:33:20,089 --> 00:33:23,130 Théann rud éigin cearr leis getString, tá muid fuair a bheith in ann a láimhseáil go. 772 00:33:23,130 --> 00:33:27,070 Agus an chúis nach féidir liom a thabhairt ar ais go bhfuil Eolas faoin margadh saothair sin, go teicniúil, is nialasach pointeoir. 773 00:33:27,070 --> 00:33:29,120 getInt Tá a thabhairt ar ais ar slánuimhir. 774 00:33:29,120 --> 00:33:31,060 Mar sin, Tá mé treallach Chinn, go bunúsach, 775 00:33:31,060 --> 00:33:34,600 go 2 billiún, a thabhairt nó a thógáil, ag dul a bheith ina luach speisialta riamh is féidir liom 776 00:33:34,600 --> 00:33:35,970 a fháil iarbhír ón úsáideoir. 777 00:33:35,970 --> 00:33:39,930 Tá sé ach an luach amháin Tá mé ag dul le dramhaíl chun ionadaíocht a dhéanamh ar cód earráid. 778 00:33:39,930 --> 00:33:41,540 >> Mar sin anois, a fháil rudaí mhaisiúil beag. 779 00:33:41,540 --> 00:33:44,670 Agus nach bhfuil sé go maith leis an fheidhm chéanna mar a rinneadh cheana, ach tá sé an-chosúil. 780 00:33:44,670 --> 00:33:50,120 Mar sin, faoi deara, Dearbhaím anseo, ag teacht 172, araon o n agus Char c. 781 00:33:50,120 --> 00:33:53,600 Agus ansin a úsáid mé an líne funky, sscanf, a casadh sé amach 782 00:33:53,600 --> 00:33:55,990 Ní scanadh ar shraith ón méarchlár. 783 00:33:55,990 --> 00:33:59,226 Seasann sé teaghrán atá ann cheana féin a Tá an t-úsáideoir clóscríofa cheana féin. 784 00:33:59,226 --> 00:34:02,100 Mar sin, d'iarr mé cheana getString, a Ciallaíonn Tá mé ar shraith i gcuimhne. 785 00:34:02,100 --> 00:34:05,020 Tá sscanf cad gur mhaith leat glaoch feidhm parsáil. 786 00:34:05,020 --> 00:34:07,760 Féachann sí ar an téad Tá mé clóscríofa i, carachtar le carachtar, 787 00:34:07,760 --> 00:34:09,250 agus a dhéanann rud éigin úsáideach. 788 00:34:09,250 --> 00:34:10,969 Tá an teaghrán stóráilte ag teacht. 789 00:34:10,969 --> 00:34:13,560 Agus tá a fhios agam go bhfuil ach amháin ag dul ar ais go dtí anseo agus ag rá, ó, OK, 790 00:34:13,560 --> 00:34:15,143 Iarr mé é ní í an am seo, ach líne. 791 00:34:15,143 --> 00:34:15,989 792 00:34:15,989 --> 00:34:18,080 >> Agus anois tá sé seo le beagán difriúil. 793 00:34:18,080 --> 00:34:22,480 Ach ciallaíonn sé seo go héifeachtach, ar chúiseanna beidh muid ag tonn beagán ár lámha ag an lae inniu, 794 00:34:22,480 --> 00:34:26,070 go bhfuil muid ag seiceáil go fheiceáil má chlóscríobh an t-úsáideoir in 795 00:34:26,070 --> 00:34:29,909 agus slánuimhir agus b'fhéidir charachtar eile. 796 00:34:29,909 --> 00:34:33,610 Má tá an t-úsáideoir clóscríofa i slánuimhir, tá sé ag dul a stóráil i n, mar go bhfuil mé 797 00:34:33,610 --> 00:34:36,739 a rith seo ag seoladh, an cleas nua againn le feiceáil sa lá atá inniu. 798 00:34:36,739 --> 00:34:41,570 Má tá an t-úsáideoir clóscríofa freisin i 123x mhaith, x sin 799 00:34:41,570 --> 00:34:45,060 ag dul go dtí deireadh suas le litir i c carachtar. 800 00:34:45,060 --> 00:34:48,739 >> Anois, tharlaíonn sé go raibh sscanf Beidh inis dom, intelligently, 801 00:34:48,739 --> 00:34:54,750 cé mhéad athróg a bhí sscanf go rathúil in ann a líonadh. 802 00:34:54,750 --> 00:34:58,770 Mar sin, ag an loighic, más rud é an fheidhm Tá mé ag cur chun feidhme á getInt, 803 00:34:58,770 --> 00:35:00,900 ach tá mé ag seiceáil, d'fhéadfadh a bheith, don úsáideoir 804 00:35:00,900 --> 00:35:04,190 a bheith clóscríofa i slánuimhir le leanúint ag rud éigin eile, 805 00:35:04,190 --> 00:35:08,580 cad a dhéanann mé ag iarraidh sscanf s luach ar ais go fírinneach a bheith? 806 00:35:08,580 --> 00:35:10,950 Más é an cuspóir a fháil ach o ón úsáideoir? 807 00:35:10,950 --> 00:35:13,980 808 00:35:13,980 --> 00:35:19,300 >> Mar sin, má sscanf tuairisceáin 2, cad a chiallaíonn? 809 00:35:19,300 --> 00:35:21,660 An t-úsáideoir clóscríofa i rud éigin cosúil le, literally, 810 00:35:21,660 --> 00:35:24,770 123x, a bhfuil ach nonsense. 811 00:35:24,770 --> 00:35:27,490 Tá sé an coinníoll earráid, agus Ba mhaith liom a sheiceáil le haghaidh sin. 812 00:35:27,490 --> 00:35:32,960 >> Mar sin, má tá na cineálacha úsáideoir seo, ag loighic, cad a dhéanann sscanf ar ais, 813 00:35:32,960 --> 00:35:33,740 ba mhaith leat a rá? 814 00:35:33,740 --> 00:35:35,070 815 00:35:35,070 --> 00:35:39,130 Mar sin, tá sé ag dul a thabhairt ar ais 2, mar gheall ar an 123 ag dul chun dul i anseo, 816 00:35:39,130 --> 00:35:41,580 agus is é an x ​​ag dul go dtí deireadh suas i anseo. 817 00:35:41,580 --> 00:35:43,970 Ach níl mé ag iarraidh an x ​​a fháil líonadh. 818 00:35:43,970 --> 00:35:48,580 Ba mhaith liom a sscanf chun cinn ach amháin i líonadh an chéad cheann dá athróg. 819 00:35:48,580 --> 00:35:52,490 Agus mar sin tá sin an fáth mé mhaith sscanf ar ais 1. 820 00:35:52,490 --> 00:35:55,750 >> Agus má tá sé seo le beagán níos mó ná an ceann le haghaidh na huaire, go hiomlán fíneáil. 821 00:35:55,750 --> 00:36:00,030 Realize, áfach, go bhfuil ceann de na luachanna getInt agus getString 822 00:36:00,030 --> 00:36:03,630 is é go bhfuil muid ag déanamh heck de a lán de na earráid a sheiceáil mar seo mar sin 823 00:36:03,630 --> 00:36:07,130 go bhfuil, go dtí seo, is féidir leat go leor i bhfad cineál rud ar bith ar do mhéarchlár, 824 00:36:07,130 --> 00:36:08,490 agus beidh muid ag teacht air. 825 00:36:08,490 --> 00:36:10,592 Agus muid cinnte, an fhoireann déanamh, cinnte nach 826 00:36:10,592 --> 00:36:13,300 a bheith ar an fhoinse fabht i do Clár, toisc go bhfuil muid defensively 827 00:36:13,300 --> 00:36:16,270 seiceáil do gach ceann de na dúr rudaí a d'fhéadfadh d'úsáideoir a dhéanamh, 828 00:36:16,270 --> 00:36:18,900 cosúil le clóscríobh teaghrán, nuair bhí tú i ndáiríre slánuimhir. 829 00:36:18,900 --> 00:36:21,350 Mar sin, do now-- beidh muid ag teacht ar ais go dtí seo sula long-- 830 00:36:21,350 --> 00:36:23,710 ach go léir an t-am sin, getString agus getInt tá 831 00:36:23,710 --> 00:36:29,950 curtha faoi bhun an cochall baint úsáide as an smaoineamh bhunúsach de seoltaí de chuimhne. 832 00:36:29,950 --> 00:36:32,580 >> Mar sin anois, a ligean ar rudaí a dhéanamh beag níos so-úsáidte. 833 00:36:32,580 --> 00:36:38,740 Mar is féidir leat a thabhairt chun cuimhne, ó Binky seo caite time-- más rud é go mbeidh mo luch cooperate-- sin 834 00:36:38,740 --> 00:36:42,560 bhí againn an cód, a frankly é, go cothrom nonsensical. 835 00:36:42,560 --> 00:36:45,330 Baineann an cód seo aon rud úsáideach, ach bhí sé ar an sampla 836 00:36:45,330 --> 00:36:48,330 go ollamh Parlante a úsáidtear chun ionadaíocht a 837 00:36:48,330 --> 00:36:51,840 cad a bhí ar siúl i Clár a bhaineann le cuimhne. 838 00:36:51,840 --> 00:36:54,850 >> Mar sin, a ligean ar a athinsint seo scéal go hachomair Super. 839 00:36:54,850 --> 00:36:58,720 Tá na chéad dá líne, i Béarla, a dhéanann cad, ba mhaith leat a rá? 840 00:36:58,720 --> 00:37:01,230 841 00:37:01,230 --> 00:37:05,430 Díreach i réasúnta an duine, ach beagán téarmaí teicniúla, a chur le stab. 842 00:37:05,430 --> 00:37:06,346 LUCHT ÉISTEACHTA: [inaudible]. 843 00:37:06,346 --> 00:37:07,705 844 00:37:07,705 --> 00:37:11,080 >> DAVID J. MALAN: OK, tá tú ag bunú seoltaí do do x agus athróga y. 845 00:37:11,080 --> 00:37:15,520 Ní leor, mar gheall ar x agus y nach bhfuil athróg sa chiall thraidisiúnta. 846 00:37:15,520 --> 00:37:18,054 Is iad x agus y seoltaí nó a stóráil seoladh. 847 00:37:18,054 --> 00:37:19,220 Mar sin, a ligean ar iarracht seo níos mó uair amháin. 848 00:37:19,220 --> 00:37:21,010 Gan tús olc, cé. 849 00:37:21,010 --> 00:37:21,510 Yeah? 850 00:37:21,510 --> 00:37:22,426 >> LUCHT ÉISTEACHTA: [inaudible]. 851 00:37:22,426 --> 00:37:23,966 852 00:37:23,966 --> 00:37:24,840 DAVID J. MALAN: Maith. 853 00:37:24,840 --> 00:37:26,173 Sílim go bhfuil níos glaine beag. 854 00:37:26,173 --> 00:37:28,630 Ag dearbhú dhá leideanna, dhá slánuimhreacha. 855 00:37:28,630 --> 00:37:30,150 Agus tá muid ag iarraidh iad x agus y. 856 00:37:30,150 --> 00:37:32,790 Nó más rud é go raibh muid a tharraingt seo mar pictiúr, arís, 857 00:37:32,790 --> 00:37:36,410 cuimhne go leor ach go bhfuil gach táimid ag déanamh leis an chéad líne 858 00:37:36,410 --> 00:37:39,690 Is ag tarraingt bosca mar seo, le roinnt luach truflais ann, 859 00:37:39,690 --> 00:37:41,920 agus ag iarraidh é x, agus ansin bosca eile mar seo, 860 00:37:41,920 --> 00:37:43,880 le roinnt luach truflais ann, ag iarraidh é y. 861 00:37:43,880 --> 00:37:45,810 Táimid tar éis a dhearbhú dhá leideanna go deireadh thiar 862 00:37:45,810 --> 00:37:47,860 Beidh stóráil an seoladh ar slánuimhir. 863 00:37:47,860 --> 00:37:49,170 Mar sin tá go léir ann. 864 00:37:49,170 --> 00:37:53,290 >> Mar sin, nuair a rinne Binky seo, an cré d'fhéach sé díreach mar seo. 865 00:37:53,290 --> 00:37:55,350 Agus Nick díreach de chineál ar fillte suas na saigheada, 866 00:37:55,350 --> 00:37:57,590 mar cé nach bhfuil siad ag cur in iúl in áit ar bith go háirithe, toisc go bhfuil siad díreach 867 00:37:57,590 --> 00:37:58,250 Luachanna truflais. 868 00:37:58,250 --> 00:38:01,670 Ní bhíonn siad ag initialized go sainráite áit ar bith ach go háirithe. 869 00:38:01,670 --> 00:38:03,980 >> Anois, an chéad líne eile de cód, cuimhne, ba é seo. 870 00:38:03,980 --> 00:38:07,510 Mar sin, i réasúnta éasca le húsáid, ach Béarla beagán teicniúil, 871 00:38:07,510 --> 00:38:09,790 cad é an líne seo de chód a dhéanamh? 872 00:38:09,790 --> 00:38:10,391 Yeah? 873 00:38:10,391 --> 00:38:11,333 >> LUCHT ÉISTEACHTA: [inaudible]. 874 00:38:11,333 --> 00:38:12,746 875 00:38:12,746 --> 00:38:13,950 >> DAVID J. MALAN: foirfe. 876 00:38:13,950 --> 00:38:17,016 Tá sé ag leithdháileadh ar smután de na cuimhne go bhfuil an méid de d'o. 877 00:38:17,016 --> 00:38:18,140 Agus sin leath an freagra. 878 00:38:18,140 --> 00:38:20,056 Fhreagair an ceart agat leath den abairt. 879 00:38:20,056 --> 00:38:22,473 Cad atá ag tarlú ar an taobh na láimhe clé an comhartha comhionann? 880 00:38:22,473 --> 00:38:22,972 Yeah? 881 00:38:22,972 --> 00:38:24,814 LUCHT ÉISTEACHTA: Agus sannaithe sé leis an x ​​athróg? 882 00:38:24,814 --> 00:38:27,690 >> DAVID J. MALAN: Agus sannaithe sé leis an x ​​athróg. 883 00:38:27,690 --> 00:38:31,650 Mar sin, chun recap, leithdháileann thaobh na láimhe deise leor cuimhne a stóráil ar slánuimhir. 884 00:38:31,650 --> 00:38:34,150 Ach malloc go sonrach Filleann an seoladh 885 00:38:34,150 --> 00:38:37,270 den smután de chuimhne, a atá tú molta ach faigheann stóráil in x. 886 00:38:37,270 --> 00:38:42,560 >> Mar sin, cad a rinne Nick uair dheireanach le Binky é dragged sé go pointeoir amach, an cré, 887 00:38:42,560 --> 00:38:46,820 a chur in iúl anois ag smután bán de chuimhne is é sin comhionann leis an méid ar slánuimhir. 888 00:38:46,820 --> 00:38:49,360 Agus go deimhin, tá go bhfágfadh chun ionadaíocht a dhéanamh ar cheithre bytes. 889 00:38:49,360 --> 00:38:55,310 >> Anois, an chéad líne eile de chód raibh seo, faigheann réalta x 42. 890 00:38:55,310 --> 00:38:58,530 Mar sin, tá 42 simplí ar an thaobh na láimhe deise, bhrí na beatha. 891 00:38:58,530 --> 00:39:00,500 Taobh Clé-láimh, ciallaíonn réalta x cad é? 892 00:39:00,500 --> 00:39:01,600 893 00:39:01,600 --> 00:39:03,280 D'fhéadfadh sin a bheith ró-gone-- go ceart go leor. 894 00:39:03,280 --> 00:39:04,220 OK. 895 00:39:04,220 --> 00:39:06,875 >> LUCHT ÉISTEACHTA: Go bunúsach, téigh go dtí an [inaudible] 896 00:39:06,875 --> 00:39:07,750 DAVID J. MALAN: Maith. 897 00:39:07,750 --> 00:39:08,760 LUCHT ÉISTEACHTA: [inaudible]. 898 00:39:08,760 --> 00:39:09,760 DAVID J. MALAN: Go díreach. 899 00:39:09,760 --> 00:39:11,979 Ciallaíonn taobh clé téigh go dtí x. 900 00:39:11,979 --> 00:39:12,520 Tá x seoladh. 901 00:39:12,520 --> 00:39:15,520 Tá sé cosúil le 33 Sráid Oxford, nó OX1. 902 00:39:15,520 --> 00:39:18,690 Agus ciallaíonn réalta x téigh go dtí sin aghaidh a thabhairt agus a chur ar cad atá ann? 903 00:39:18,690 --> 00:39:19,520 42. 904 00:39:19,520 --> 00:39:21,290 >> Mar sin, go deimhin, go díreach an rud a rinne Nick. 905 00:39:21,290 --> 00:39:23,740 Thosaigh sé le trí, go bunúsach, meabhrach 906 00:39:23,740 --> 00:39:26,270 ag cur in iúl a finger ag x, tar éis an arrow 907 00:39:26,270 --> 00:39:30,670 go dtí an bosca bán ar an láimh dheis taobh, agus a chur ar an uimhir 42 ann. 908 00:39:30,670 --> 00:39:34,120 Ach ansin fuair rudaí a beag contúirteach, ceart? 909 00:39:34,120 --> 00:39:35,860 Binky ar tí é a chailleadh a cheann. 910 00:39:35,860 --> 00:39:39,465 >> Star y ionann 13, droch-luck, ciallaíonn cad é? 911 00:39:39,465 --> 00:39:43,620 Mar sin, ciallaíonn réalta y téigh go dtí an seoladh ar y. 912 00:39:43,620 --> 00:39:45,630 Ach cad é an seoladh ar y? 913 00:39:45,630 --> 00:39:47,899 914 00:39:47,899 --> 00:39:49,440 Gach ceart, tá sé luach truflais, ceart? 915 00:39:49,440 --> 00:39:50,800 Tharraing mé é mar comhartha ceiste. 916 00:39:50,800 --> 00:39:54,850 Tharraing Nick sé mar arrow cuachta suas. 917 00:39:54,850 --> 00:39:59,600 Agus chomh luath agus a iarracht tú a dhéanamh y réalta, ag rá dul ann, 918 00:39:59,600 --> 00:40:03,872 ach nach bhfuil dlisteanach suíomh, tá sé roinnt suíomh bréagach, 919 00:40:03,872 --> 00:40:05,080 Tá an clár ag dul a tuairteála. 920 00:40:05,080 --> 00:40:08,580 Agus is é ceann Binky ag dul a eitilt amach anseo, mar a rinne sé. 921 00:40:08,580 --> 00:40:12,130 >> Mar sin, sa deireadh, an clár seo bhí díreach locht amach cothrom. 922 00:40:12,130 --> 00:40:13,540 Bhí sé clár Buggy. 923 00:40:13,540 --> 00:40:14,760 Agus is gá é a bheith seasta. 924 00:40:14,760 --> 00:40:18,260 Agus an t-aon bhealach, i ndáiríre, a dheisiú bheadh, mar shampla, an líne seo, 925 00:40:18,260 --> 00:40:21,010 rud nach raibh againn a fháil fiú do, mar gheall ar crashed an clár ró-luath. 926 00:40:21,010 --> 00:40:26,170 Ach má bhí muid a shocrú seo, cén dhéanann éifeacht ag déanamh go bhfuil x cothrom y? 927 00:40:26,170 --> 00:40:30,010 Bhuel, pointí sé go bunúsach y ag cibé luach x Tá dírithe ar. 928 00:40:30,010 --> 00:40:32,430 >> Mar sin, i scéal Nick s, nó scéal Binky ar, an dá 929 00:40:32,430 --> 00:40:34,640 x agus y a bhí dírithe ar an smután bán de chuimhne, 930 00:40:34,640 --> 00:40:38,300 ionas go mbeidh, ar deireadh, nuair a dhéanann tú a dhéanamh réalta y ionann 13 arís, 931 00:40:38,300 --> 00:40:43,080 deireadh tú suas a chur 13 i an suíomh cuí. 932 00:40:43,080 --> 00:40:47,640 Mar sin, tá gach ceann de na línte breá dlisteanach, ach amháin i gcás an gceann seo, 933 00:40:47,640 --> 00:40:51,730 nuair a tharla sé roimh tú sannadh iarbhír y roinnt luach. 934 00:40:51,730 --> 00:40:54,290 >> Anois, buíochas le Dia, ní gá duit a chúis trí gach 935 00:40:54,290 --> 00:40:56,560 de na cineálacha saincheisteanna ar do chuid féin. 936 00:40:56,560 --> 00:40:59,310 Lig dom dul ar aghaidh agus a oscailt suas fuinneog críochfort anseo 937 00:40:59,310 --> 00:41:03,050 agus a oscailt suas, ar feadh nóiméad ach, clár Super gearr go 938 00:41:03,050 --> 00:41:04,360 chomh maith go bhfuil saghas pointless. 939 00:41:04,360 --> 00:41:05,152 Tá sé gránna. 940 00:41:05,152 --> 00:41:06,610 Ní chuireann sé aon rud úsáideach a bhaint amach. 941 00:41:06,610 --> 00:41:10,180 Ach a dhéanann sé le saincheisteanna a léiriú de chuimhne, mar sin a ligean ar ghlacadh le breathnú. 942 00:41:10,180 --> 00:41:11,830 >> Príomh, Super simplí. 943 00:41:11,830 --> 00:41:14,830 Iarrann sé cosúil feidhm, f, agus ansin ar ais 0. 944 00:41:14,830 --> 00:41:16,310 Tá sé de chineál ar deacair a praiseach suas seo. 945 00:41:16,310 --> 00:41:18,540 Mar sin, tá Príomh maith go leor, go dtí seo. 946 00:41:18,540 --> 00:41:20,100 >> Mar sin, tá f fadhbanna. 947 00:41:20,100 --> 00:41:22,120 Agus ní raibh a chur i bhfad iarracht isteach a ainmniú é 948 00:41:22,120 --> 00:41:23,990 anseo, a choinneáil ar an fócas ar an cód. 949 00:41:23,990 --> 00:41:25,740 f Tá dhá líne. 950 00:41:25,740 --> 00:41:27,610 Agus a ligean ar a fheiceáil cad atá ar siúl anois ar. 951 00:41:27,610 --> 00:41:29,840 Mar sin, ar an taobh amháin here-- agus lig dom a dhéanamh 952 00:41:29,840 --> 00:41:32,680 seo ag teacht leis an roimhe sin example-- ar an taobh amháin, 953 00:41:32,680 --> 00:41:35,830 Is é an taobh na láimhe clé ag déanamh an méid, i mBéarla? 954 00:41:35,830 --> 00:41:36,493 Is-- sé 955 00:41:36,493 --> 00:41:37,701 LUCHT ÉISTEACHTA: Ag cruthú pointeoir. 956 00:41:37,701 --> 00:41:40,830 DAVID J. MALAN: Ag cruthú pointeoir le slánuimhir agus ag glaoch x sé. 957 00:41:40,830 --> 00:41:43,789 Mar sin, tá sé a chruthú ar cheann de na boscaí Coinneoidh mé ag tarraingt ar an scáileán tadhaill. 958 00:41:43,789 --> 00:41:45,913 Agus anois, ar an láimh dheis taobh, malloc, ar ndóigh, 959 00:41:45,913 --> 00:41:47,420 Tá leithdháileadh le smután de chuimhne. 960 00:41:47,420 --> 00:41:49,989 Agus díreach a bheith soiléir, conas a Tá cuimhne i bhfad é cosúil 961 00:41:49,989 --> 00:41:52,030 leithdháileadh, má tá tú díreach tar de chineál ar dhéanamh ar an mata anseo? 962 00:41:52,030 --> 00:41:53,200 963 00:41:53,200 --> 00:41:54,040 >> Mar sin, tá sé 40 bytes. 964 00:41:54,040 --> 00:41:57,400 Agus tá a fhios agam go bhfuil ach amháin mar tá a fhios agam ar o, ar an fearas CS50, ar a laghad, 965 00:41:57,400 --> 00:41:58,060 Tá ceithre bytes. 966 00:41:58,060 --> 00:41:59,610 Tá 40 Mar sin, 10 uair 4. 967 00:41:59,610 --> 00:42:04,924 Mar sin, tá sé seo a stóráil ar x, an seoladh an chéad as 40 ints a 968 00:42:04,924 --> 00:42:07,340 a leithdháileadh spás ar ais, ar ais, ar ais, go dtí ar ais. 969 00:42:07,340 --> 00:42:08,470 >> Agus sin cad eochair faoi malloc. 970 00:42:08,470 --> 00:42:11,261 Ní chuireann sé a ghlacadh cuimhne beag anseo, beag anseo, beag anseo. 971 00:42:11,261 --> 00:42:14,220 Tugann sé tú smután amháin de chuimhne, contiguously, as an oibriúcháin 972 00:42:14,220 --> 00:42:15,240 chórais. 973 00:42:15,240 --> 00:42:18,500 >> Anois, cad faoi seo, x lúibín 10 cothrom le 0? 974 00:42:18,500 --> 00:42:19,470 Líne treallach de chód. 975 00:42:19,470 --> 00:42:21,100 Ní chuireann sé aon rud úsáideach a bhaint amach. 976 00:42:21,100 --> 00:42:26,128 Ach tá sé suimiúil, mar gheall ar x lúibín 10--? 977 00:42:26,128 --> 00:42:26,628 Yeah? 978 00:42:26,628 --> 00:42:27,912 >> LUCHT ÉISTEACHTA: [inaudible]? 979 00:42:27,912 --> 00:42:30,500 >> DAVID J. MALAN: x lúibín Níl 10 a bheith null. 980 00:42:30,500 --> 00:42:35,070 Tagann an mion null amháin i spraoi le teaghráin, ag deireadh an teaghrán. 981 00:42:35,070 --> 00:42:36,700 Ach a shíl go maith. 982 00:42:36,700 --> 00:42:39,615 >> Cé chomh mór is atá an eagar, fiú cé atá leithdháilte agam 40 bytes? 983 00:42:39,615 --> 00:42:42,560 984 00:42:42,560 --> 00:42:43,690 Tá sé 0 trí naoi, ceart? 985 00:42:43,690 --> 00:42:45,120 Tá sé 10 ints, san iomlán. 986 00:42:45,120 --> 00:42:48,790 40 bytes, ach 10 ints, innéacsaithe 0 trí 0. 987 00:42:48,790 --> 00:42:50,930 >> Mar sin, cad é go bhfuil x lúibín 10? 988 00:42:50,930 --> 00:42:53,090 Tá sé i ndáiríre ar roinnt luach truflais anaithnid. 989 00:42:53,090 --> 00:42:54,780 Tá sé cuimhne nach a bhaineann le dom. 990 00:42:54,780 --> 00:42:59,650 Níor chóir dom a bheith touching go Uimhir 41, 42, 43, 44 beart. 991 00:42:59,650 --> 00:43:01,420 Tá mé ag dul beagán i bhfad ró. 992 00:43:01,420 --> 00:43:04,490 >> Agus go deimhin, má ritheann liom seo clár, d'fhéadfadh sé tuairteála go han-mhaith. 993 00:43:04,490 --> 00:43:05,790 Ach uaireanta, beidh orainn a fháil t-ádh. 994 00:43:05,790 --> 00:43:07,706 Agus mar sin ach a léiriú this-- agus frankly, 995 00:43:07,706 --> 00:43:11,000 tú riamh a fhios agat roimh duit dhéanann it-- ligean ar seo a reáchtáil. 996 00:43:11,000 --> 00:43:12,480 Ní raibh sé tuairteála i ndáiríre. 997 00:43:12,480 --> 00:43:15,032 >> Ach má athraíonn mé seo, le haghaidh Mar shampla, a bheith cosúil 1,000, 998 00:43:15,032 --> 00:43:16,740 chun seo a dhéanamh i ndáiríre d'aon ghnó, a ligean ar a fheiceáil 999 00:43:16,740 --> 00:43:18,710 más féidir linn a fháil a tuairteála an am seo. 1000 00:43:18,710 --> 00:43:20,070 OK, ní raibh sé tuairteála. 1001 00:43:20,070 --> 00:43:22,600 Cad é faoi 100,000? 1002 00:43:22,600 --> 00:43:25,000 A ligean ar remake é, agus anois rerun air. 1003 00:43:25,000 --> 00:43:25,500 OK. 1004 00:43:25,500 --> 00:43:25,960 Phew. 1005 00:43:25,960 --> 00:43:26,460 Gach ceart. 1006 00:43:26,460 --> 00:43:29,090 Mar sin, is cosúil, arís, leis na codanna de chuimhne, mar a déarfá, 1007 00:43:29,090 --> 00:43:32,660 atá réasúnta mór, mar sin is féidir linn a fháil t-ádh arís agus arís eile. 1008 00:43:32,660 --> 00:43:36,510 Ach sa deireadh, a luaithe a gheobhaidh tú ridiculous agus i ndáiríre théann i bhfad amach ar an scáileán, 1009 00:43:36,510 --> 00:43:39,120 tú teagmháil cuimhne go i ndáiríre, nach gur mbaineann a thabhairt duit. 1010 00:43:39,120 --> 00:43:40,870 >> Ach frankly, na cineálacha bugs ag dul 1011 00:43:40,870 --> 00:43:43,020 a bheith níos deacra agus níos deacra chun an figiúr amach ar do chuid féin. 1012 00:43:43,020 --> 00:43:47,880 Ach buíochas le Dia, mar ríomhchláraitheoirí, ní mór dúinn uirlisí a ligfidh dúinn a dhéanamh dúinn. 1013 00:43:47,880 --> 00:43:50,140 Mar sin, tá sé seo, b'fhéidir, ar cheann de na cláir ugliest, 1014 00:43:50,140 --> 00:43:52,060 fiú níos uglier ná aschur gdb s. 1015 00:43:52,060 --> 00:43:55,670 Ach tá sé i gcónaí ar líne nó dhá atá Super úsáideach. 1016 00:43:55,670 --> 00:44:00,310 >> Is Valgrind clár a chuidíonn Ní debug tú clár, per se, 1017 00:44:00,310 --> 00:44:03,500 ach a aimsiú cuimhne a bhaineann fadhbanna, go háirithe. 1018 00:44:03,500 --> 00:44:07,590 Beidh sé ar siúl go huathoibríoch do cód le haghaidh tú, agus táim ar feadh ar a laghad dhá rud. 1019 00:44:07,590 --> 00:44:10,680 Amháin, a rinne tú rud éigin a thaisme cosúil le cuimhne dteagmháil 1020 00:44:10,680 --> 00:44:11,980 Ní raibh a bhaineann le leat? 1021 00:44:11,980 --> 00:44:13,590 Beidh sé cabhrú leat teacht ar na cásanna sin. 1022 00:44:13,590 --> 00:44:15,710 >> Agus dhá, beidh sé cabhrú fhaigheann tú rud ar a dtugtar 1023 00:44:15,710 --> 00:44:19,270 leaks cuimhne, a bhfuil againn go hiomlán neamhaird, naively, 1024 00:44:19,270 --> 00:44:21,380 ar feadh tamaill agus blissfully. 1025 00:44:21,380 --> 00:44:23,140 Ach casadh sé amach, go léir an uair seo, aon uair a 1026 00:44:23,140 --> 00:44:26,620 atá tú a dtugtar getString i an oiread sin dár gclár, 1027 00:44:26,620 --> 00:44:28,930 bhfuil tú ag iarraidh ar an oibriúcháin córas chun cuimhne, 1028 00:44:28,930 --> 00:44:32,070 ach tá aon chuimhne thabhairt i gcónaí é 1029 00:44:32,070 --> 00:44:36,169 ar ais, ag déanamh unalloc, nó saor in aisce, mar tá sé ar a dtugtar. 1030 00:44:36,169 --> 00:44:37,960 Níl, mar ní tá muid iarr tú é sin a dhéanamh. 1031 00:44:37,960 --> 00:44:41,250 >> Ach go léir an t-am seo, na cláir atá tú a scríobh i C 1032 00:44:41,250 --> 00:44:43,800 tar éis sceitheadh ​​cuimhne, ag iarraidh ar an oibriúcháin 1033 00:44:43,800 --> 00:44:46,190 córas níos mó agus níos mó cuimhne do teaghráin agus whatnot, 1034 00:44:46,190 --> 00:44:47,870 riamh ach fuair tú ar ais. 1035 00:44:47,870 --> 00:44:50,080 Agus anois tá sé seo le beagán de oversimplification, 1036 00:44:50,080 --> 00:44:53,550 ach má tá tú riamh a reáchtáil ar do Mac nó do ríomhaire ar feadh go leor roinnt ama, a oscailt 1037 00:44:53,550 --> 00:44:55,790 go leor de na cláir, b'fhéidir cláir a dhúnadh, 1038 00:44:55,790 --> 00:44:57,795 agus cé do Nach bhfuil ríomhaire crashed, 1039 00:44:57,795 --> 00:45:01,690 tá sé ag éirí i bhfad níos moille, mar cé go bhfuil sé i ndáiríre 1040 00:45:01,690 --> 00:45:04,290 ag baint úsáide as a lán de na cuimhne nó acmhainní, cé, 1041 00:45:04,290 --> 00:45:06,070 más rud é nach bhfuil tú fiú touching an méarchlár, 1042 00:45:06,070 --> 00:45:10,430 d'fhéadfadh a be-- ach nach bhféadfaí always-- a bheith go bhfuil na cláir a bhfuil tú ag rith 1043 00:45:10,430 --> 00:45:11,920 iad féin leaks cuimhne. 1044 00:45:11,920 --> 00:45:15,645 Agus a choimeád siad ag iarraidh ar an OS ar feadh níos mó agus cuimhne níos mó, ach dearmad faoi, 1045 00:45:15,645 --> 00:45:18,470 nach n-úsáideann ndáiríre é, ach dá bhrí sin, ag cur cuimhne ar shiúl 1046 00:45:18,470 --> 00:45:20,500 ó chláir eile a d'fhéadfadh gur mhaith é. 1047 00:45:20,500 --> 00:45:23,940 Mar sin, go bhfuil míniú coiteann. 1048 00:45:23,940 --> 00:45:25,940 Anois tá anseo nuair a Valgrind ar Tá aschur go hiomlán 1049 00:45:25,940 --> 00:45:29,290 atrocious dóibh siúd is lú agus níos araon compordach. 1050 00:45:29,290 --> 00:45:32,690 Ach an suimiúil Tá stuif ceart suas anseo. 1051 00:45:32,690 --> 00:45:37,060 Tá sé ag insint dom scríobh neamhbhailí Tarlaíonn méid ceathrar sa chlár, 1052 00:45:37,060 --> 00:45:40,640 go háirithe, ar líne 21 de memory.c. 1053 00:45:40,640 --> 00:45:45,450 >> Má théim go dtí an líne 21, hm, go deimhin Is scríobh neamhbhailí de mhéid cheithre. 1054 00:45:45,450 --> 00:45:46,250 Cén fáth méid ceathair? 1055 00:45:46,250 --> 00:45:49,500 Bhuel, seo number-- agus é a D'fhéadfadh a bheith anything-- is slánuimhir. 1056 00:45:49,500 --> 00:45:50,450 Mar sin, tá sé ceithre bytes. 1057 00:45:50,450 --> 00:45:52,550 Mar sin, tá mé ag cur ceithre bytes i gcás nach bhfuil siad mbaineann. 1058 00:45:52,550 --> 00:45:55,080 Sin an méid Valgrind Tá ag insint dom i ndáiríre. 1059 00:45:55,080 --> 00:45:57,600 Thairis sin, beidh sé chomh maith inis dom, mar beidh orainn a fheiceáil, 1060 00:45:57,600 --> 00:46:01,490 mar a ritheann tú é seo i pset amach anseo, más rud é, agus nuair atá tú cuimhne, a go deimhin leaked 1061 00:46:01,490 --> 00:46:05,300 Tá mé, mar tá mé ar a dtugtar malloc, ach nach bhfuil mé i ndáiríre 1062 00:46:05,300 --> 00:46:08,010 a thugtar air, sa chás seo, saor in aisce, a beidh orainn a fheiceáil sa deireadh 1063 00:46:08,010 --> 00:46:09,830 Is é an os coinne na malloc. 1064 00:46:09,830 --> 00:46:10,860 1065 00:46:10,860 --> 00:46:12,930 >> Mar sin anois, dar liom, sampla deiridh. 1066 00:46:12,930 --> 00:46:14,050 1067 00:46:14,050 --> 00:46:16,690 Mar sin, tá an ceann seo beagán níos mó arcane, ach tá sé b'fhéidir 1068 00:46:16,690 --> 00:46:19,180 an chúis is mó a a bheith cúramach le cuimhne, 1069 00:46:19,180 --> 00:46:24,490 agus ar an gcúis go leor de na cláir agus / nó freastalaithe gréasáin, fiú ar an lá, 1070 00:46:24,490 --> 00:46:28,200 Tá tógtha ar láimh ag guys dona áit éigin ar an idirlíon a bhfuil ar bhealach 1071 00:46:28,200 --> 00:46:33,390 sheoladh paicéid bréagach ar do fhreastalaí ag iarraidh a chomhréiteach do chuntais, 1072 00:46:33,390 --> 00:46:36,420 nó a ghlacadh do shonraí, nó díreach ginearálta a ghlacadh ar láimh meaisín. 1073 00:46:36,420 --> 00:46:38,910 Mhaoláin thar maoil, mar an Tugann an t-ainm, ciallaíonn 1074 00:46:38,910 --> 00:46:40,740 ag cur thar maoil nach slánuimhir, ach maolán. 1075 00:46:40,740 --> 00:46:43,490 Agus is é maolán ach ar bhealach mhaisiúil a rá tá sé a bunch de chuimhne. 1076 00:46:43,490 --> 00:46:46,710 >> Agus go deimhin, d'iarr mé ar shraith roimh Maolán, in ionad í. 1077 00:46:46,710 --> 00:46:49,234 Toisc má tá sé ina Maolán, cosúil sa chiall YouTube, 1078 00:46:49,234 --> 00:46:52,400 nó aon uair a bhfuil tú ag breathnú ar fhíseán, a bheadh ​​agat le feiceáil ar an focal buffering, 1079 00:46:52,400 --> 00:46:53,040 ponc, ponc, ponc. 1080 00:46:53,040 --> 00:46:54,240 Tá sé thar a bheith annoying. 1081 00:46:54,240 --> 00:46:55,990 Agus ciallaíonn sin go díreach go bhfuil do imreoir físeán 1082 00:46:55,990 --> 00:46:58,710 ag iarraidh a íoslódáil go leor na bearta, go leor de na bearta 1083 00:46:58,710 --> 00:47:00,170 ó físeán ón idirlíon. 1084 00:47:00,170 --> 00:47:02,920 Ach tá sé mall, mar sin tá sé ag iarraidh a íoslódáil a bunch acu 1085 00:47:02,920 --> 00:47:06,430 a líonadh maolán, coimeádán, ionas go mbeidh Tá go leor beart agat gur féidir é sin 1086 00:47:06,430 --> 00:47:09,174 léiríonn tú an físeán, gan stad i gcónaí. 1087 00:47:09,174 --> 00:47:11,340 Ach casadh sé amach, is féidir leat Tá maolán a ghabhann leis an mór. 1088 00:47:11,340 --> 00:47:15,710 Ach iarracht a chur ar sonraí seo i bhfad i sé, agus an-is féidir rudaí olc a tharlóidh. 1089 00:47:15,710 --> 00:47:22,780 Mar sin, mar shampla, a ligean ar breathnú ar an teaser deiridh shampla. 1090 00:47:22,780 --> 00:47:24,720 Tá an clár eile sin, ag an gcéad amharc, 1091 00:47:24,720 --> 00:47:26,540 Níl aon ní Super úsáideach a dhéanamh. 1092 00:47:26,540 --> 00:47:29,590 Baineann sé le Fuair ​​Príomh fheidhm go bhfuil gá an fheidhm sin, f. 1093 00:47:29,590 --> 00:47:36,640 Agus an fheidhm sin, f, suas anseo, tá sraith ruabhric, ar a dtugtar c, de mhéid 12. 1094 00:47:36,640 --> 00:47:39,340 Agus ansin tá sé ag baint úsáide as an feidhm nua ar a dtugtar strncpy. 1095 00:47:39,340 --> 00:47:40,430 1096 00:47:40,430 --> 00:47:45,190 >> Tharlaíonn sé go raibh, leis an simplí, líne simplí de chód, ach dhá líne, 1097 00:47:45,190 --> 00:47:49,130 ní mór dúinn a mo chlár ar fad, agus dá bhrí sin, mo ríomhaire ar fad, 1098 00:47:49,130 --> 00:47:54,000 agus mo chuntas úsáideora, agus mo crua tiomáint d'fhéadfadh a bheith i mbaol do dhuine ar bith 1099 00:47:54,000 --> 00:47:58,170 a bhfuil aithne aige agus tá sé maith go leor chun a reáchtáil an clár seo le líne ordaithe áirithe 1100 00:47:58,170 --> 00:47:58,900 argóint. 1101 00:47:58,900 --> 00:48:03,400 I bhfocail eile, má tá an Guy dona cuireann taobh istigh de argvargv [1] ag clóscríobh 1102 00:48:03,400 --> 00:48:08,750 ag an méarchlár an-speisialta crafted teaghrán, ní abc, 123, ach go bunúsach, 1103 00:48:08,750 --> 00:48:15,180 siombailí dénártha a léiríonn inrite cód, clár a scríobh sé nó sí, 1104 00:48:15,180 --> 00:48:19,190 leis an gclár seo simplí, a bhfuil ionadaíoch ar na mílte de chláir 1105 00:48:19,190 --> 00:48:23,610 atá leochaileach mar an gcéanna, daresay, sé nó is féidir léi a scriosadh deireadh thiar go léir 1106 00:48:23,610 --> 00:48:26,680 na comhaid ar mo tiomáint crua, a fháil blinking pras ionas gur féidir leis nó léi 1107 00:48:26,680 --> 00:48:30,170 orduithe cineál ar a gcuid féin, gach comhad ríomhphost go féin. 1108 00:48:30,170 --> 00:48:34,660 Rud ar bith is féidir liom a dhéanamh, sé nó is féidir léi a dhéanamh leis an gcód seo. 1109 00:48:34,660 --> 00:48:36,575 >> Ní bheidh muid a réiteach go leor seo go fóill. 1110 00:48:36,575 --> 00:48:38,700 Agus go deimhin, tá sé ag dul go dtí gceist pictiúr beag 1111 00:48:38,700 --> 00:48:41,470 mar seo, a beidh muid ag teacht go luath a thuiscint go léir an níos fearr. 1112 00:48:41,470 --> 00:48:44,480 Ach do lá atá inniu ann, a ligean ar deireadh ar an cad, tá súil againn, a beagán níos mó 1113 00:48:44,480 --> 00:48:48,360 intuigthe XKCD joke, go dtí go n-atosóidh muid an chéad uair eile. 1114 00:48:48,360 --> 00:48:51,100 1115 00:48:51,100 --> 00:48:51,600 Gach ceart. 1116 00:48:51,600 --> 00:48:53,446 Féach tú ar an gCéadaoin. 1117 00:48:53,446 --> 00:48:54,754 >> [Seinm ceoil] 1118 00:48:54,754 --> 00:48:57,790 >> Cainteoir: Agus anois, go domhain smaointe, ag Daven Farnham. 1119 00:48:57,790 --> 00:49:00,890 1120 00:49:00,890 --> 00:49:04,770 Tá Cuimhne cosúil le léim isteach i gcarn de duilleoga órga ar tráthnóna Dé Domhnaigh. 1121 00:49:04,770 --> 00:49:09,000 Ghaoth ag séideadh, tossing ar do hair-- OH, fada liom uaim na laethanta when-- 1122 00:49:09,000 --> 00:49:11,100 1123 00:49:11,100 --> 00:49:12,650 >> [Gáire] 1124 00:49:12,650 --> 00:49:13,750