1 00:00:00,000 --> 00:00:02,860 [Powered by Google Translate] [Seachtain 5] 2 00:00:02,860 --> 00:00:04,860 [David J. MALAN - Ollscoil Harvard] 3 00:00:04,860 --> 00:00:07,260 Is é [seo CS50. - CS50.TV] 4 00:00:07,260 --> 00:00:09,740 >> Is é seo an CS50, Seachtain 5. 5 00:00:09,740 --> 00:00:12,900 Sa lá atá inniu agus an tseachtain seo, dúinn a thabhairt isteach le beagán de shaol na forensics 6 00:00:12,900 --> 00:00:14,850 i gcomhthéacs an Fadhb Socraigh 4. 7 00:00:14,850 --> 00:00:18,480 Beidh lá atá inniu léacht giorraithe mar níl ócáid ​​speisialta i anseo ina dhiaidh. 8 00:00:18,480 --> 00:00:21,940 Mar sin, beidh orainn a ghlacadh peek agus an dá mac léinn agus tuismitheoirí araon lá atá inniu ann tease 9 00:00:21,940 --> 00:00:24,600 le roinnt de na rudaí a bhfuil ar na spéire. 10 00:00:24,600 --> 00:00:29,050 >> I measc iad, mar an Luan, beidh tú ag classmates cúpla níos mó. 11 00:00:29,050 --> 00:00:32,980 edX, Harvard agus MIT nua tionscnamh ar líne le haghaidh OpenCourseWare agus níos mó, 12 00:00:32,980 --> 00:00:36,730 Tá a sheoladh ar an gcampas Harvard ar Dé Luain, rud a chiallaíonn teacht Dé Luain 13 00:00:36,730 --> 00:00:40,930 beidh ort, mar de chomhaireamh deiridh, 86,000 classmates breise 14 00:00:40,930 --> 00:00:43,680 a bheidh ag leanúint chomh maith le léachtaí CS50 agus ailt 15 00:00:43,680 --> 00:00:45,890 agus walkthroughs agus leagann fhadhb. 16 00:00:45,890 --> 00:00:51,870 Agus mar chuid de seo, beidh tú bheith ina gcomhaltaí den aicme tionscnaimh CS50 agus anois CS50x. 17 00:00:51,870 --> 00:00:56,150 Mar chuid de seo anois, a thuiscint go mbeidh roinnt upsides chomh maith. 18 00:00:56,150 --> 00:01:00,620 Chun a fháil réidh le haghaidh seo, an líon ollmhór na mac léinn, 19 00:01:00,620 --> 00:01:03,820 leor é a rá, áfach, cé ní mór dúinn 108 TFS agus CAanna, 20 00:01:03,820 --> 00:01:07,560 nach bhfuil sé go leor an chuid is fearr mac léinn-cóimheas múinteoir nuair a bhuail muid 80,000 de na mic léinn. 21 00:01:07,560 --> 00:01:09,830 Ní Táimid ag dul a bheith Leagann ghrádú fhadhb an oiread sin de láimh, 22 00:01:09,830 --> 00:01:13,050 Beidh sin a thabhairt isteach an tseachtain seo sa tacar fhadhb CS50 Seiceáil, 23 00:01:13,050 --> 00:01:15,410 atá ag dul chun bheith ina fóntais orduithe-líne laistigh den fearas 24 00:01:15,410 --> 00:01:17,880 go mbainfidh tú a fháil nuair a tá tú thabhairt cothrom le dáta é níos déanaí an deireadh seachtaine seo. 25 00:01:17,880 --> 00:01:21,030 Feicfidh tú a bheith in ann a reáchtáil ar a dtoil, check50, ar do pset féin, 26 00:01:21,030 --> 00:01:24,770 agus beidh tú aiseolas a fháil láithreach maidir le cibé an bhfuil do chlár ceart nó mícheart 27 00:01:24,770 --> 00:01:27,980 réir sonraíochtaí dearadh éagsúla go bhfuil muid ar fáil. 28 00:01:27,980 --> 00:01:30,310 Níos mó ar an sa tsonraíocht atá leagtha fhadhb. 29 00:01:30,310 --> 00:01:34,220 Beidh an rang CS50x ag baint úsáide as seo chomh maith. 30 00:01:34,220 --> 00:01:36,170 >> Tá 4 Socraigh Fadhb ar fad faoi forensics, 31 00:01:36,170 --> 00:01:38,630 agus tá sé seo pset bhí spreagtha i ndáiríre ag roinnt rudaí fíor-saoil 32 00:01:38,630 --> 00:01:41,210 trína nuair a bhí mé ar scoil iarchéime imtheorannú mé ar feadh tamaill 33 00:01:41,210 --> 00:01:45,270 le Dúiche Middlesex Chontae Ard-Aighne oifig ag déanamh obair fhóiréinseach 34 00:01:45,270 --> 00:01:47,660 lena n-imscrúdaitheoir fhóiréinseach luaidhe. 35 00:01:47,660 --> 00:01:50,280 Cad a ionann sin agus, mar a cheapann mé a luaigh mé cúpla seachtain anuas, 36 00:01:50,280 --> 00:01:52,720 Is é a bheadh ​​na Póilíní Stát Aifreann nó daoine eile teacht i, 37 00:01:52,720 --> 00:01:56,150 mbeadh siad titim as rudaí cosúil le thiomáineann agus dlúthdhioscaí crua agus dioscaí flapacha agus a leithéidí, 38 00:01:56,150 --> 00:01:58,770 agus ansin ba é an sprioc na hoifige forensics chun a fháil amach 39 00:01:58,770 --> 00:02:01,470 an raibh nó nach raibh fianaise ar de chineál éigin. 40 00:02:01,470 --> 00:02:04,730 Ba é seo an Imscrúduithe Speisialta Aonad, mar sin bhí sé white-collar coireachta. 41 00:02:04,730 --> 00:02:10,949 Bhí sé saghas níos mó troubling coireanna, rud ar bith a bhaineann le roinnt de chineál na meán digiteach. 42 00:02:10,949 --> 00:02:16,450 Casadh sé amach nach é sin a scríobh a lán daoine ar ríomhphost ag rá, "Rinne mé é." 43 00:02:16,450 --> 00:02:20,490 Mar sin, is minic go leor, ní raibh na cuardaigh fhóiréinseach dul suas go léir go torthaí i bhfad, 44 00:02:20,490 --> 00:02:22,820 ach uaireanta a bheadh ​​daoine a scríobh r-phoist den sórt sin. 45 00:02:22,820 --> 00:02:25,240 Mar sin, uaireanta, bhí luach saothair na n-iarrachtaí. 46 00:02:25,240 --> 00:02:31,210 >> Ach i gceannas ar suas go dtí seo pset fhóiréinseach, beidh orainn a bheith ag tabhairt isteach i pset4 le beagán de grafaic. 47 00:02:31,210 --> 00:02:35,410 Leat a chur dócha na rudaí seo talamh slán - jpeg, GIFs, agus a leithéidí - na laethanta seo. 48 00:02:35,410 --> 00:02:38,320 Ach má cheapann tú i ndáiríre faoi, íomhá, i bhfad mar aghaidh Rob, ar 49 00:02:38,320 --> 00:02:41,270 D'fhéadfaí a mhúnlú mar sraith de poncanna nó pixel. 50 00:02:41,270 --> 00:02:43,380 I gcás duine Rob s, níl gach cineál na dathanna, 51 00:02:43,380 --> 00:02:46,760 agus thosaigh muid a fheiceáil na poncanna aonair, ar shlí eile ar a dtugtar picteilíni, 52 00:02:46,760 --> 00:02:48,610 nuair a thosaigh muid chun súmáil isteach 53 00:02:48,610 --> 00:02:54,660 Ach má shimpliú againn ar an domhan le beagán agus díreach rá go bhfuil an anseo Rob i dubh agus bán, 54 00:02:54,660 --> 00:02:57,490 chun ionadaíocht a dhéanamh dubh agus bán, is féidir linn a úsáid ach dénártha. 55 00:02:57,490 --> 00:03:01,660 Agus má táimid ag dul dénártha a úsáid, 1 nó 0, is féidir linn a chur in iúl an íomhá céanna 56 00:03:01,660 --> 00:03:06,140 de aghaidh miongháire Rob ar leis an bpatrún sin de giotán. 57 00:03:06,140 --> 00:03:12,100 11000011 ionann bán, bán, dubh, dubh, dubh, dubh, bán, bán. 58 00:03:12,100 --> 00:03:16,150 Agus mar sin nach bhfuil sé de léim ollmhór ansin chun tús a chur ag caint faoi grianghraif ildaite, 59 00:03:16,150 --> 00:03:18,600 rudaí gur mhaith leat a fheiceáil ar Facebook nó a ghlacadh le ceamara digiteach. 60 00:03:18,600 --> 00:03:21,410 Ach cinnte nuair a thagann sé dathanna, is gá duit giotán níos mó. 61 00:03:21,410 --> 00:03:25,690 Agus coitianta go leor i saol na grianghraif a úsáid nach bhfuil 1-giotán dath, 62 00:03:25,690 --> 00:03:29,560 mar a léiríonn an seo, ach 24-giotán dath, áit a bhfuil tú a fháil iarbhír na milliúin dathanna. 63 00:03:29,560 --> 00:03:32,250 Mar sin, mar atá i gcás nuair a súmáilte againn i súile ar Rob, ar 64 00:03:32,250 --> 00:03:36,370 go raibh líon ar bith de na milliúin féidearthachtaí ildaite éagsúla. 65 00:03:36,370 --> 00:03:39,040 Mar sin, beidh orainn seo a thabhairt isteach i 4 Socraigh Fadhb chomh maith sa walkthrough, 66 00:03:39,040 --> 00:03:43,370 Beidh lá atá inniu ann ag 3:30 in ionad an gnách 2:30 mar gheall ar léacht Dé hAoine anseo. 67 00:03:43,370 --> 00:03:46,620 Ach beidh físe ar líne mar amárach is gnách. 68 00:03:46,620 --> 00:03:48,820 >> Beidh muid a thabhairt isteach chomh maith leat chun eile formáid comhaid. 69 00:03:48,820 --> 00:03:51,270 Tá sé seo i gceist d'aon ghnó chun breathnú imeaglaithe ar dtús, 70 00:03:51,270 --> 00:03:55,670 ach tá sé seo ach roinnt cáipéisí le haghaidh struct C. 71 00:03:55,670 --> 00:03:58,940 Casadh sé amach gur chabhraigh bliain ó shin Microsoft popularize an bhformáid seo 72 00:03:58,940 --> 00:04:05,150 ar a dtugtar an fhormáid comhaid bitmap, BMP, agus bhí sé seo Super simplí, formáid comhaid ildaite ghrafach 73 00:04:05,150 --> 00:04:10,150 Baineadh úsáid as go leor ama a roinnt agus uaireanta i gcónaí le haghaidh wallpapers ar ríomhairí deisce. 74 00:04:10,150 --> 00:04:14,760 Má cheapann tú ar ais go dtí Windows XP agus na cnoic rollta agus an spéir gorm, 75 00:04:14,760 --> 00:04:17,170 go raibh de ghnáth íomhá BMP nó bitmap. 76 00:04:17,170 --> 00:04:19,959 Bitmaps bhfuil spraoi do dúinn mar go bhfuil siad castacht beagán níos mó. 77 00:04:19,959 --> 00:04:22,610 Níl sé go leor chomh simplí sin greille de 0s agus 1s. 78 00:04:22,610 --> 00:04:27,510 Ina áit sin, tá tú rudaí cosúil le header ag tús comhad. 79 00:04:27,510 --> 00:04:31,990 Dá bhrí sin tá i bhfocail eile, taobh istigh comhaid a. Bmp a bunch iomlán de 0s agus 1s, 80 00:04:31,990 --> 00:04:34,910 ach tá roinnt 0s agus 1s breise ann. 81 00:04:34,910 --> 00:04:38,220 Agus casadh sé amach go bhfuil an méid atá déanta againn a glacadh dócha a deonaíodh do na blianta - 82 00:04:38,220 --> 00:04:45,170 formáidí comhaid mhaith. doc nó. xls nó. mp3,. mp4, is cuma cén an formáidí comhaid 83 00:04:45,170 --> 00:04:48,480 go bhfuil tú eolach - cad a chiallaíonn sé fiú a bheith i bhformáid comhad, 84 00:04:48,480 --> 00:04:52,480 mar gheall ag deireadh an lae a úsáid gach ceann de na comhaid againn ach 0s agus 1s. 85 00:04:52,480 --> 00:04:56,810 Agus b'fhéidir iad siúd 0s agus 1s ionadaíocht a dhéanamh ar ABC trí ASCII nó a leithéidí, 86 00:04:56,810 --> 00:04:58,820 ach ag deireadh an lae, tá sé fós ach 0s agus 1s. 87 00:04:58,820 --> 00:05:02,100 Mar sin, daoine díreach a chinneadh ó am go chéile a chumadh formáid comhaid nua 88 00:05:02,100 --> 00:05:06,420 ina bhfuil siad a chaighdeánú cad a bheidh patrúin giotán i gceist i ndáiríre. 89 00:05:06,420 --> 00:05:09,220 Agus sa chás seo anseo, na folks a dhear an fhormáid comhaid bitmap 90 00:05:09,220 --> 00:05:15,620 Dúirt an beart an-an chéad i gcomhad bitmap, arna scríobh mar ag 0 fhritháireamh ann, 91 00:05:15,620 --> 00:05:18,940 ann ag dul a bheith ar roinnt cryptically ainmnithe bfType ar a dtugtar athróg, 92 00:05:18,940 --> 00:05:23,080 a sheasann ach le haghaidh cineál comhaid bitmap, cad é cineál comhaid bitmap seo. 93 00:05:23,080 --> 00:05:27,700 Is féidir leat tátal a bhaint astu b'fhéidir ón dara sraith a fhritháireamh 2, uimhir 2 bheart, 94 00:05:27,700 --> 00:05:33,740 Tá patrún 0s agus 1s gur ionann cad é? An méid ar rud éigin. 95 00:05:33,740 --> 00:05:35,310 Agus téann sé ar aghaidh ó ann. 96 00:05:35,310 --> 00:05:37,410 Mar sin, i 4 Socraigh Fadhb, beidh tú a shiúil trí roinnt de na rudaí seo. 97 00:05:37,410 --> 00:05:39,520 Ní bheidh muid suas go deireadh ag tabhairt aire faoi gach ceann acu. 98 00:05:39,520 --> 00:05:47,510 Ach fógra a thosaíonn sé a fháil suimiúil ar fud beart 54: rgbtBlue, Glas, agus Red. 99 00:05:47,510 --> 00:05:52,110 Má tá tú ag éisteacht riamh an t-acrainm RGB - dearg, glas, gorm - tá sé seo is tagairt í don 100 00:05:52,110 --> 00:05:54,610 mar gheall ar casadh sé amach is féidir leat a péint gach dathanna an tuar ceatha 101 00:05:54,610 --> 00:05:58,180 le roinnt meascán de dearg agus gorm agus glas. 102 00:05:58,180 --> 00:06:03,320 Agus i ndáiríre, d'fhéadfadh tuismitheoirí sa seomra cuimhne ar roinnt de na teilgeoirí luaithe. 103 00:06:03,320 --> 00:06:05,890 Na laethanta seo, a fheiceann tú ach amháin solas geal ag teacht amach as lionsa, 104 00:06:05,890 --> 00:06:09,800 ach ar ais sa lá bhí tú an lionsa dearg, an lionsa gorm, agus an lionsa glas, 105 00:06:09,800 --> 00:06:13,380 agus le chéile dírithe siad ar scáileán agus bhunaigh siad pictiúr colorful. 106 00:06:13,380 --> 00:06:16,270 Agus go minic go leor, go mbeadh scoileanna lár agus scoileanna ard ag na lionsaí 107 00:06:16,270 --> 00:06:19,720 riamh chomh Askew beagán, mar sin bhí tú saghas féachaint ar íomhánna dúbailte nó triple. 108 00:06:19,720 --> 00:06:24,100 Ach bhí go bhfuil an smaoineamh. Bhí tú solas dearg agus glas agus gorm péinteáil pictiúr. 109 00:06:24,100 --> 00:06:26,590 Agus is é an bprionsabal céanna a úsáidtear i ríomhairí. 110 00:06:26,590 --> 00:06:30,230 >> Mar sin, i measc na dúshláin sin le haghaidh tú i Fadhb atá Set 4 ag dul a bheith ar roinnt rudaí. 111 00:06:30,230 --> 00:06:34,800 Is é ceann a athrú i ndáiríre an íomhá, a ghlacadh i patrún de 0s agus 1s, 112 00:06:34,800 --> 00:06:40,200 figiúr amach a léiríonn smután de 0s agus 1s cad i struchtúr mar seo, 113 00:06:40,200 --> 00:06:43,630 agus figiúr sin amach conas a mhacasamhlú ar an pixel - an reds, na gormacha, an Greens - 114 00:06:43,630 --> 00:06:46,660 taobh istigh ionas go nuair a bhreathnaíonn pictiúr mar seo ar dtús, 115 00:06:46,660 --> 00:06:49,210 d'fhéadfadh sé breathnú mar seo in ionad ina dhiaidh sin. 116 00:06:49,210 --> 00:06:53,640 I measc na dúshláin eile freisin ag dul a bheith go mbainfidh tú a thabhairt ar láimh íomhá dlí-eolaíochta 117 00:06:53,640 --> 00:06:56,030 de chomhad iarbhír as ceamara digiteach. 118 00:06:56,030 --> 00:06:58,960 Agus ar an cheamara, uair amháin ar am, bhí a bunch iomlán de grianghraif. 119 00:06:58,960 --> 00:07:03,760 Is é an fhadhb a scriosadh againn thaisme nó go raibh an íomhá truaillithe ar bhealach. 120 00:07:03,760 --> 00:07:05,750 Tharlóidh rudaí olc le ceamaraí digiteacha. 121 00:07:05,750 --> 00:07:09,150 Agus mar sin a chóipeáil againn go tapa gach ceann de na amach 0s agus 1s an chárta ar do shon, 122 00:07:09,150 --> 00:07:13,610 shábháil iad go léir in aon chomhad mór, agus ansin beidh muid iad a thabhairt ar láimh chun tú i Fadhbanna Socraigh 4 123 00:07:13,610 --> 00:07:19,320 ionas gur féidir leat scríobh le clár i C a a ghnóthú go léir de na jpeg, go hidéalach. 124 00:07:19,320 --> 00:07:23,330 Agus casadh sé amach go jpeg, cé go mbíonn siad beagán de formáid comhaid casta - 125 00:07:23,330 --> 00:07:26,360 tá siad i bhfad níos casta ná an duine miongháire anseo - 126 00:07:26,360 --> 00:07:31,160 casadh sé amach go dtosaíonn gach JPEG leis na patrúin céanna 0s agus 1s. 127 00:07:31,160 --> 00:07:35,630 Mar sin, ag baint úsáide as, ar deireadh thiar, lúb fad nó ar feadh a lúb nó comhchosúil, 128 00:07:35,630 --> 00:07:38,880 is féidir leat abair leo thar na 0s agus 1s sa íomhá dlí-eolaíochta, 129 00:07:38,880 --> 00:07:43,150 agus gach uair a fheiceann tú ar an patrún speisialta a s a shainmhínítear sa tsonraíocht atá leagtha fhadhb, 130 00:07:43,150 --> 00:07:47,880 is féidir leat glacadh leis anseo, le dóchúlacht an-ard, tús le JPEG. 131 00:07:47,880 --> 00:07:51,230 Agus chomh luath agus a fhaigheann tú an patrún céanna éigin líon na mbeart 132 00:07:51,230 --> 00:07:55,430 nó cilibheart nó meigibheart níos déanaí, is féidir leat glacadh leis anseo JPEG dara, 133 00:07:55,430 --> 00:07:57,380 an grianghraf ghlac mé tar éis an chéad cheann. 134 00:07:57,380 --> 00:08:01,370 Lig dom a stopadh ag léamh go comhad ar dtús, tús a scríobh an ceann nua, 135 00:08:01,370 --> 00:08:06,310 agus tá an t-aschur ar do chlár pset4 ag dul a bheith mar go leor le 50 jpeg. 136 00:08:06,310 --> 00:08:09,270 Agus más rud é nach bhfuil sé 50 jpeg, tá tú beagán de lúb. 137 00:08:09,270 --> 00:08:12,490 Má tá tú líon gan teorainn de jpeg, tá tú lúb gan teorainn. 138 00:08:12,490 --> 00:08:14,910 Mar sin, go mbeidh a bheith ró-leor cás coiteann. 139 00:08:14,910 --> 00:08:16,600 Mar sin, go bhfuil cad atá ar na spéire. 140 00:08:16,600 --> 00:08:21,310 >> Tráth na gCeist 0 taobh thiar dúinn, a bhaint amach in aghaidh mo ríomhphost go invariably tá folks atá áthas ar an bheirt, 141 00:08:21,310 --> 00:08:23,640 saghas ama neodrach, agus brónach timpeall tráth na gceist 0. 142 00:08:23,640 --> 00:08:26,800 Agus le do thoil teagmháil a dhéanamh le dom, an ceann TF Zamyla, do TF féin, 143 00:08:26,800 --> 00:08:31,180 nó ceann de na CAanna bhfuil a fhios agat más mian leat a phlé conas a chuaigh rudaí. 144 00:08:31,180 --> 00:08:35,539 >> Mar sin, le luí na tuismitheoirí anseo sa seomra, cad é an leabharlann CS50? 145 00:08:36,429 --> 00:08:40,390 [Gáire] post Chéasta. 146 00:08:40,390 --> 00:08:48,340 Cad é an leabharlann CS50? Yeah. >> [Mac léinn] Tá sé sraith réamh-scríofa de chód [inaudible] 147 00:08:48,340 --> 00:08:49,750 Maith go leor, go maith. 148 00:08:49,750 --> 00:08:53,240 Tá sé sraith réamh-scríofa de chód gur scríobh againn ar an bhfoireann, a chuirimid ar fáil duit, 149 00:08:53,240 --> 00:08:55,030 go soláthraíonn roinnt feidhmiúlacht coitianta, 150 00:08:55,030 --> 00:08:59,020 rudaí cosúil fháil dom ar shraith, a fháil dom o - gach ceann de na feidhmeanna atá liostaithe anseo. 151 00:08:59,020 --> 00:09:02,260 >> Ag tosú anois, tús a chur orainn a ghlacadh i ndáiríre ar na rothaí oiliúna as. 152 00:09:02,260 --> 00:09:05,050 Táimid ag dul chun tús a chur amach ar shraith ó tú, 153 00:09:05,050 --> 00:09:08,870 Ba é a aisghlaoch ach synonym do cén cineál sonraí iarbhír? >> [Mic léinn il] Char *. 154 00:09:08,870 --> 00:09:12,730 * Char. Do thuismitheoirí, go raibh dócha [dhéanann fuaim whooshing]. Sin maith. 155 00:09:12,730 --> 00:09:17,550 * Char beidh orainn tús a fheiceáil ar an scáileán ar fad níos mó agus muid ag bhaint teaghrán as ár stór focal, 156 00:09:17,550 --> 00:09:19,730 ar a laghad nuair a thagann sé i ndáiríre a scríobh cód. 157 00:09:19,730 --> 00:09:22,840 Mar an gcéanna, beidh muid ag stopadh ag baint úsáide as roinnt de na feidhmeanna a oiread 158 00:09:22,840 --> 00:09:25,280 mar go bhfuil ár gcláir ag dul a fháil níos sofaisticiúla. 159 00:09:25,280 --> 00:09:28,480 Seachas scríobh ach cláir a suí ansin le blinking pras, 160 00:09:28,480 --> 00:09:31,870 ag fanacht leis an úsáideoir rud éigin le cineál i, beidh tú a fháil do ionchur ó áiteanna eile. 161 00:09:31,870 --> 00:09:35,490 Mar shampla, beidh tú iad a fháil as sraith giotán ar an iarracht crua áitiúil. 162 00:09:35,490 --> 00:09:38,580 Feicfidh tú a fháil in ionad dóibh sa todhchaí ó nasc líonra, 163 00:09:38,580 --> 00:09:40,230 roinnt láithreán gréasáin áit éigin. 164 00:09:40,230 --> 00:09:44,110 >> Mar sin a ligean craiceann ciseal ar ais seo don chéad uair agus tarraingt an fearas CS50 suas 165 00:09:44,110 --> 00:09:49,010 agus an comhad seo ar a dtugtar cs50.h, a tá tú ag lena n-áirítear # ar feadh seachtaine, 166 00:09:49,010 --> 00:09:51,140 ach ligean ar a fheiceáil i ndáiríre cad atá taobh istigh de seo. 167 00:09:51,140 --> 00:09:54,430 Is é an barr an comhad i gorm ach a bunch iomlán de na tuairimí: 168 00:09:54,430 --> 00:09:57,050 faisnéis bharántas agus ceadúnú. 169 00:09:57,050 --> 00:09:59,050 Is é seo an saghas paraidím coitianta i bogearraí 170 00:09:59,050 --> 00:10:01,580 toisc go bhfuil a lán de bogearraí na laethanta cad atá ar a dtugtar foinse oscailte, 171 00:10:01,580 --> 00:10:05,220 rud a chiallaíonn go bhfuil duine éigin i scríbhinn ar an gcód agus cuireadh ar fáil é saor in aisce 172 00:10:05,220 --> 00:10:10,470 ní hamháin a reáchtáil agus a úsáid ach a léamh iarbhír agus a athrú agus a chomhtháthú isteach i do chuid oibre féin. 173 00:10:10,470 --> 00:10:14,660 Mar sin, go bhfuil an méid atá tú ag baint úsáide as, bogearraí foinse oscailte, cé gur i bhfoirm an-bheag. 174 00:10:14,660 --> 00:10:18,560 Má scrollbharra mé síos roimhe seo ar na tuairimí, áfach, beidh muid tús a fheiceáil roinnt rudaí níos mó eolas. 175 00:10:18,560 --> 00:10:25,010 Fógra ag an mbarr anseo go n-áirítear an comhad cs50.h a bunch iomlán de chomhaid header. 176 00:10:25,010 --> 00:10:28,560 An chuid is mó díobh sin, nach bhfuil feicthe againn roimhe seo, ach tá sé ar cheann ar an eolas. 177 00:10:28,560 --> 00:10:32,270 Cé acu de na feicthe againn, cé go hachomair, go dtí seo? >> [Mac léinn] leabharlann Simplí. 178 00:10:32,270 --> 00:10:35,810 Yeah, leabharlann caighdeánach. stdlib.h Tá malloc. 179 00:10:35,810 --> 00:10:38,320 Nuair a thosaigh muid ag caint faoi leithdháileadh cuimhne dinimiciúil, 180 00:10:38,320 --> 00:10:41,650 a beidh muid ag teacht ar ais chuig an tseachtain seo chugainn chomh maith, thosaigh muid lena n-áirítear an gcomhad sin. 181 00:10:41,650 --> 00:10:46,640 Casadh sé amach nach bhfuil bool agus fíor nó bréagach ann i ndáiríre i C per se 182 00:10:46,640 --> 00:10:49,440 ach amháin má tá tú an comhad seo anseo. 183 00:10:49,440 --> 00:10:52,710 Táimid tar éis ar feadh seachtainí ag lena n-áirítear stdbool.h 184 00:10:52,710 --> 00:10:55,620 ionas gur féidir leat úsáid a bhaint as an coincheap de. bool, fíor nó bréagach 185 00:10:55,620 --> 00:10:58,620 Gan seo, a bheadh ​​agat a shórtáil de falsa sé agus o úsáid 186 00:10:58,620 --> 00:11:02,610 agus díreach glacadh leis treallach go bhfuil 0 bréagach agus 1 fíor. 187 00:11:02,610 --> 00:11:07,150 Má scrollaigh muid síos a thuilleadh, is anseo ar ár sainmhíniú ar teaghrán. 188 00:11:07,150 --> 00:11:11,390 Casadh sé amach, mar atá againn a dúirt roimh, nach bhfuil an réalta ábhar i ndáiríre. 189 00:11:11,390 --> 00:11:13,720 Is féidir leat fiú spás go léir timpeall. 190 00:11:13,720 --> 00:11:16,740 Táimid an seimeastar tar éis chur chun cinn mar seo a dhéanamh soiléir 191 00:11:16,740 --> 00:11:18,620 go bhfuil an réalta a dhéanamh leis an gcineál, 192 00:11:18,620 --> 00:11:21,700 ach a bhaint amach ach coitianta, más rud é nach beag níos coitianta, 193 00:11:21,700 --> 00:11:24,430 Is é a chur sé ann, ach feidhmiúil tá sé an rud céanna. 194 00:11:24,430 --> 00:11:27,720 Ach anois má léigh muid síos a thuilleadh, a ligean ar ghlacadh le breathnú ar GetInt 195 00:11:27,720 --> 00:11:32,190 mar gheall ar úsáid againn go chéad uair, b'fhéidir roimh aon rud eile seo seimeastar. 196 00:11:32,190 --> 00:11:37,440 Anseo tá GetInt. Is é seo cad é? >> [Mac léinn] A fhréamhshamhail. >> Is é seo ach fhréamhshamhail. 197 00:11:37,440 --> 00:11:41,410 Go minic, ní mór dúinn fréamhshamhlacha a chur ag barr ár. Comhaid c, 198 00:11:41,410 --> 00:11:46,690 ach is féidir leat a chur freisin fréamhshamhlacha i gcomhaid header,. comhaid h, mar seo anseo 199 00:11:46,690 --> 00:11:50,840 ionas gur nuair a scríobhann tú roinnt feidhmeanna gur mian leat daoine eile a bheith in ann úsáid a bhaint as, 200 00:11:50,840 --> 00:11:53,550 a bhfuil baileach an cás leis an leabharlann CS50, 201 00:11:53,550 --> 00:11:57,040 tú, ní hamháin i bhfeidhm do fheidhmeanna i rud éigin cosúil le cs50.c, 202 00:11:57,040 --> 00:12:02,790 chuir tú freisin an fréamhshamhlacha ní ag barr an chomhaid ach ag barr an comhad header. 203 00:12:02,790 --> 00:12:07,170 Ansin, tá go comhad header cad measc cairde agus comhghleacaithe 204 00:12:07,170 --> 00:12:09,760 le I measc # Bhí gcuid cód féin. 205 00:12:09,760 --> 00:12:12,210 Mar sin, am seo go léir, tá tú ag lena n-áirítear gach ceann de na fréamhshamhlacha, 206 00:12:12,210 --> 00:12:16,580 go héifeachtach ag barr do chomhad ach trí seo san áireamh # mheicníocht, 207 00:12:16,580 --> 00:12:20,070 a bunúsach cóipeanna agus leafaois an comhad seo i do chuid féin. 208 00:12:20,070 --> 00:12:23,070 Seo roinnt doiciméadú go cothrom mionsonraithe. 209 00:12:23,070 --> 00:12:25,640 Táimid tar éis go leor i bhfad ghlacadh maidir le deonú go bhfaigheann GetInt ina slánuimhir, 210 00:12:25,640 --> 00:12:27,640 ach anois sé amach go bhfuil roinnt cásanna cúinne. 211 00:12:27,640 --> 00:12:31,810 Cad a tharlaíonn má an t-úsáideoir cineálacha i roinnt go bhfuil ar bhealach ró-mhór, a quintillion, 212 00:12:31,810 --> 00:12:35,490 nach féidir léi díreach taobh istigh de o? Cad é an t-iompar ag súil? 213 00:12:35,490 --> 00:12:38,020 Go hidéalach, tá sé intuartha. 214 00:12:38,020 --> 00:12:40,280 Mar sin, sa chás seo, má tá tú a léamh an cló breá i ndáiríre, 215 00:12:40,280 --> 00:12:44,500 go mbainfidh tú a fheiceáil i ndáiríre go más rud é nach féidir leis an líne a léamh, an INT_MAX tuairisceáin. 216 00:12:44,500 --> 00:12:48,320 Riamh tá muid Labhair faoi seo, ach bunaithe ar a chaipitliú, cad is dócha? 217 00:12:48,320 --> 00:12:50,640 [Mac léinn] A tairiseach. >> Is tairiseach. 218 00:12:50,640 --> 00:12:54,770 Tá sé roinnt tairiseach speisialta tá dearbhaithe is dócha i gceann de na comhaid header 219 00:12:54,770 --> 00:13:00,090 go dtí níos airde sa chomhad, agus INT_MAX is dócha rud éigin cosúil le thart ar 2 billiún, 220 00:13:00,090 --> 00:13:04,990 an smaoineamh a bheith toisc go mór dúinn a signify ar bhealach go bhfuil rud éigin a chuaigh mícheart, 221 00:13:04,990 --> 00:13:10,700 againn, tá, tá 4 billiún líon atá ar fáil dúinn: -2 billiún ar suas le 2 billiún, a thabhairt nó a thógáil. 222 00:13:10,700 --> 00:13:14,710 Bhuel, is é an méid atá coitianta i gcláir ghoideann tú ach ceann amháin de na huimhreacha sin, 223 00:13:14,710 --> 00:13:18,920 b'fhéidir 0, 2 b'fhéidir billiún, b'fhéidir -2000000000, 224 00:13:18,920 --> 00:13:23,280 mar sin a chaitheann tú ar cheann de do luachanna is féidir ionas gur féidir leat tiomantas a thabhairt ar fud an domhain 225 00:13:23,280 --> 00:13:26,820 má tharlaíonn rud éigin mícheart, beidh mé ar ais an luach seo Super mór. 226 00:13:26,820 --> 00:13:31,030 Ach ní mian leat an t-úsáideoir clóscríobh rud éigin cosúil le cryptic 234 ..., tá roinnt i ndáiríre mór. 227 00:13:31,030 --> 00:13:34,060 Tá tú a ghinearálú in ionad an mar tairiseach. 228 00:13:34,060 --> 00:13:38,060 Mar sin, i ndáiríre, má bhí a bheith agat anal na seachtainí beaga anuas, am ar bith iarr tú GetInt, 229 00:13:38,060 --> 00:13:42,900 ba chóir duit a bheith seiceáil le más rud é go raibh riocht an cineál úsáideora i INT_MAX, 230 00:13:42,900 --> 00:13:46,590 nó, go sonrach, rinne INT_MAX ais GetInt, mar má rinne sé, 231 00:13:46,590 --> 00:13:51,830 go gciallaíonn i ndáiríre nach raibh siad cineál sé. Tharlaigh botún éigin le sa chás seo. 232 00:13:51,830 --> 00:13:56,080 Mar sin, is é seo cad atá ar a dtugtar de ghnáth mar luach fairtheora, rud a chiallaíonn go díreach speisialta. 233 00:13:56,080 --> 00:13:58,120 >> Déanaimis anois dul i gcomhad an. C. 234 00:13:58,120 --> 00:14:01,340 Tá an comhad C ann i an fearas ar feadh tamaill. 235 00:14:01,340 --> 00:14:06,840 Agus i ndáiríre, tá an fearas sé réamh-le chéile le haghaidh tú isteach sa rud ar a dtugtar againn cód réad, 236 00:14:06,840 --> 00:14:09,540 ach nach bhfuil ach ábhar a thabhairt duit nuair a tá sé mar a fhios ag an gcóras 237 00:14:09,540 --> 00:14:11,730 sa chás seo áit a bhfuil sé: an fearas. 238 00:14:11,730 --> 00:14:17,400 A ligean ar scrollú síos anois chun GetInt agus a fheiceáil conas a GetInt ag obair ar fad an am seo. 239 00:14:17,400 --> 00:14:19,460 Anseo atá againn tuairimí den chineál céanna ó roimh. 240 00:14:19,460 --> 00:14:21,660 Lig dom a súmáil isteach ar chuid díreach leis an gcód. 241 00:14:21,660 --> 00:14:23,900 Agus is é an méid atá againn le haghaidh GetInt méid seo a leanas. 242 00:14:23,900 --> 00:14:25,700 Bíonn sé aon ionchur. 243 00:14:25,700 --> 00:14:29,510 Filleann sé slánuimhir, agus (fíor), ionas go mbeidh muid lúb d'aon ghnó gan teorainn, 244 00:14:29,510 --> 00:14:33,180 ach is dócha beidh muid ag briseadh amach as an bhealach nó ar ais as laistigh den. 245 00:14:33,180 --> 00:14:34,870 >> A ligean ar a fheiceáil conas a oibríonn seo. 246 00:14:34,870 --> 00:14:39,240 Is cosúil go againn a bheith ag baint úsáide GetString sa chéad líne taobh istigh an lúb, 166. 247 00:14:39,240 --> 00:14:43,780 Tá sé seo anois dea-chleachtas toisc go bhféadfadh cad iad na himthosca GetString ar ais 248 00:14:43,780 --> 00:14:47,660 an NULLComment eochairfhocal speisialta? >> [Mac léinn] Má tharlaíonn rud éigin mícheart. 249 00:14:47,660 --> 00:14:51,630 Má théann rud éigin mícheart. Agus d'fhéadfadh cad a théann mícheart nuair a ghlaonn tú rud éigin cosúil le GetString? 250 00:14:54,960 --> 00:14:57,640 Yeah. >> [Mac léinn] Malloc go mainneoidh a thabhairt dó an ints. 251 00:14:57,640 --> 00:14:59,150 Yeah. B'fhéidir go mainneoidh malloc. 252 00:14:59,150 --> 00:15:03,190 Áit éigin thíos an cochall, tá GetString ag glaoch malloc, a leithdháileann chuimhne, 253 00:15:03,190 --> 00:15:06,020 a ligeann an siopa ríomhaire gach ceann de na carachtair 254 00:15:06,020 --> 00:15:07,750 go bhfuil an t-úsáideoir cineálacha i an méarchlár. 255 00:15:07,750 --> 00:15:11,590 Agus is dócha an t-úsáideoir a bhí a lán iomlán de ama saor in aisce agus chlóscríobh níos mó, mar shampla, 256 00:15:11,590 --> 00:15:16,160 ná 2 billiún carachtair i, carachtair níos mó ná an ríomhaire go bhfuil fiú RAM. 257 00:15:16,160 --> 00:15:19,250 GetString tar éis a bheith in ann a signify a thabhairt duit. 258 00:15:19,250 --> 00:15:22,560 Fiú má tá sé seo Super, cás cúinne Super neamhchoitianta, 259 00:15:22,560 --> 00:15:24,340 tá sé le bheith ar bhealach ann chun déileáil leis seo, 260 00:15:24,340 --> 00:15:28,750 agus GetString sin, má chuaigh muid ar ais agus a léamh lena dhoiciméadaíocht, ní i NULLComment ar ais ndáiríre. 261 00:15:28,750 --> 00:15:34,460 Mar sin, má theipeann anois GetString trína sheoladh ar ais NULLComment, tá GetInt ag dul a theipeann trína sheoladh ar ais INT_MAX 262 00:15:34,460 --> 00:15:37,690 díreach mar fairtheora. Níl iontu seo ach coinbhinsiúin daonna. 263 00:15:37,690 --> 00:15:41,450 Is é an t-aon bhealach a bheadh ​​a fhios agat é seo an cás ag léamh na doiciméid. 264 00:15:41,450 --> 00:15:45,040 >> A ligean ar scrollú síos go dtí ina bhfuil an slánuimhir gotten i ndáiríre. 265 00:15:45,040 --> 00:15:51,160 Má scrollbharra mé síos le beagán níos mó, i gcomhréir 170, ní mór dúinn a comment os cionn na línte. 266 00:15:51,160 --> 00:15:55,100 Dearbhaímid i 172 ina slánuimhir, n, agus ruabhric, c, agus ansin an fheidhm nua seo, 267 00:15:55,100 --> 00:15:58,930 a bhfuil roinnt de tú shiúil trasna roimh, sscanf. 268 00:15:58,930 --> 00:16:00,870 Seasann sé seo do scanf teaghrán. 269 00:16:00,870 --> 00:16:05,700 I bhfocail eile, a thabhairt dom ar shraith agus beidh scanadh mé phíosa eolais a leasa. 270 00:16:05,700 --> 00:16:07,360 Cad a chiallaíonn? 271 00:16:07,360 --> 00:16:11,800 Má ghlactar leis go cineál mé i, literally, 123 ag an méarchlár agus ansin brúigh Iontráil. 272 00:16:11,800 --> 00:16:16,470 Cad é an cineál sonraí de 123 nuair a d'fhill de réir GetString? >> [Mac léinn] Teaghrán. 273 00:16:16,470 --> 00:16:18,380 Tá sé ar ndóigh ar shraith, ceart? Fuair ​​mé teaghrán. 274 00:16:18,380 --> 00:16:23,220 Mar sin, tá 123 i ndáiríre, ceanglófar-comharthaí athfhriotail, 123 leis an 0 \ ag an deireadh é. 275 00:16:23,220 --> 00:16:27,110 Níl sé sin ina slánuimhir. Ní sin a roinnt. Breathnaíonn sé cosúil le roinnt, ach nach bhfuil sé i ndáiríre. 276 00:16:27,110 --> 00:16:29,080 Mar sin, cad GetInt a dhéanamh? 277 00:16:29,080 --> 00:16:35,750 Tá sé a scanadh go teaghrán ó chlé go deas - 123 \ 0 - agus ar bhealach a thiontú go slánuimhir iarbhír. 278 00:16:35,750 --> 00:16:37,850 D'fhéadfaí tú a figiúr amach conas seo a dhéanamh. 279 00:16:37,850 --> 00:16:41,450 Má cheapann tú ar ais go dtí pset2, fuair tú dócha a compordach beag le Caesar 280 00:16:41,450 --> 00:16:44,820 nó Vigenere, ionas gur féidir leat abair leo níos mó ná teaghrán, is féidir leat carachtair a thiontú go ints. 281 00:16:44,820 --> 00:16:46,710 Ach heck, tá sé a lán iomlán oibre. 282 00:16:46,710 --> 00:16:49,860 Cén fáth nach bhfuil glaoch feidhm mhaith sscanf go ndéanann sin duit? 283 00:16:49,860 --> 00:16:54,230 Mar sin, ag súil sscanf argóint - sa chás seo ar a dtugtar líne, a bhfuil teaghrán. 284 00:16:54,230 --> 00:17:01,840 Tá tú a shonrú ansin i comharthaí athfhriotail, an-chosúil le printf, a bhfuil súil agat a fheiceáil ar an teaghrán. 285 00:17:01,840 --> 00:17:09,000 Agus cad mé ag rá anseo mé ag súil a fheiceáil uimhir dheachúlach agus b'fhéidir carachtar. 286 00:17:09,000 --> 00:17:12,000 Agus beidh orainn a fheiceáil cén fáth é seo an cás i láthair na huaire ach. 287 00:17:12,000 --> 00:17:15,869 Agus casadh sé amach go bhfuil an nodaireacht anois reminiscent de na rudaí a thosaigh muid ag caint faoi 288 00:17:15,869 --> 00:17:17,619 díreach os cionn seachtain ó shin. 289 00:17:17,619 --> 00:17:21,740 Cad é & n agus & c dhéanamh dúinn anseo? >> [Mac léinn] Seoladh n agus seoladh c. 290 00:17:21,740 --> 00:17:25,400 Yeah. Tá sé seo a thabhairt dom an seoladh n agus seoladh c. Cén fáth go bhfuil go tábhachtach? 291 00:17:25,400 --> 00:17:30,220 Tá a fhios agat go bhfuil feidhmeanna i C, is féidir leat filleadh i gcónaí ar luach nó aon luach ar chor ar bith. 292 00:17:30,220 --> 00:17:34,530 Is féidir leat filleadh ar slánuimhir, teaghrán, a snámhphointe, a ruabhric, is cuma cad, nó is féidir leat filleadh ar neamhní, 293 00:17:34,530 --> 00:17:38,030 ach is féidir leat filleadh ach rud amháin fónamh. 294 00:17:38,030 --> 00:17:42,760 Ach anseo ba mhaith linn sscanf a thabhairt ar ais dom b'fhéidir slánuimhir, uimhir dheachúlach, 295 00:17:42,760 --> 00:17:46,220 agus chomh maith. Char, agus beidh mé a mhíniú cén fáth an ruabhreac i láthair 296 00:17:46,220 --> 00:17:51,460 Ba mhaith leat go héifeachtach sscanf a thabhairt ar ais dhá rud, ach is é sin ní hamháin is féidir i C. 297 00:17:51,460 --> 00:17:55,200 Is féidir leat obair ar fud go bhfuil ag dul in dhá seoltaí 298 00:17:55,200 --> 00:17:57,370 mar gheall ar chomh luath agus is tú a lámh feidhm dhá seoltaí, 299 00:17:57,370 --> 00:18:00,470 cad is féidir é sin a dhéanamh feidhm leo? >> [Mac léinn] Scríobh chuig na seoltaí. 300 00:18:00,470 --> 00:18:02,010 Is féidir é a scríobh chuig na seoltaí. 301 00:18:02,010 --> 00:18:05,770 Is féidir leat úsáid a oibriú réalta agus dul ann, do gach ceann de na seoltaí. 302 00:18:05,770 --> 00:18:11,260 Tá sé saghas an mheicníocht ar ais go doras ach an-choitianta a athrú na luachanna na n-athróg 303 00:18:11,260 --> 00:18:14,870 níos mó ná áit amháin - sa chás seo, dhá. 304 00:18:14,870 --> 00:18:21,340 Anois, fógra mé ag seiceáil do == 1 agus ansin ar ais más rud é nach n sin, i ndáiríre, meastóireacht a dhéanamh fíor. 305 00:18:21,340 --> 00:18:26,170 Mar sin, tá cad atá ar siúl? Teicniúil, tá gach ba mhaith linn i ndáiríre a tharlaíonn i GetInt seo. 306 00:18:26,170 --> 00:18:30,740 Is mian linn a pharsáil, sin a labhairt, ba mhaith linn a léamh ar an teaghrán - ceanglófar-comharthaí athfhriotail 123 - 307 00:18:30,740 --> 00:18:34,560 agus má tá sé cosúil le níl a roinnt ansin, cad tá muid ag insint sscanf a dhéanamh 308 00:18:34,560 --> 00:18:38,190 é a chur go bhfuil uimhir - 123 - sa athróg n dom. 309 00:18:38,190 --> 00:18:42,090 Sin, cén fáth ansin raibh mé i ndáiríre seo chomh maith? 310 00:18:42,090 --> 00:18:48,220 Cad é an ról atá ag sscanf rá go dtiocfadh leat a fháil chomh maith le carachtar anseo? 311 00:18:48,220 --> 00:18:53,470 [Fhreagra mac léinn inaudible] >> A pointe deachúil d'fhéadfadh obair i ndáiríre. 312 00:18:53,470 --> 00:18:56,330 A ligean ar a shealbhú gur shíl ar feadh nóiméad. Cad eile? 313 00:18:56,330 --> 00:18:59,270 [Mac léinn] fhéadfadh sé a bheith NULLComment. >> Smaoinimh Chéasta. D'fhéadfadh sé a bheith ar an carachtar nialasach. 314 00:18:59,270 --> 00:19:01,660 Níl sé i ndáiríre sa chás seo. Yeah. >> [Mac léinn] ASCII. 315 00:19:01,660 --> 00:19:04,340 ASCII. Nó lig dom a ghinearálú níos faide. 316 00:19:04,340 --> 00:19:06,640 Is é an c% go díreach do sheiceáil earráid. 317 00:19:06,640 --> 00:19:09,300 Nílimid ag iarraidh go mbeadh carachtar tar éis an líon, 318 00:19:09,300 --> 00:19:11,870 ach cad ceadaíonn sé seo dom a dhéanamh ar an méid seo a leanas. 319 00:19:11,870 --> 00:19:18,210 Casadh sé amach go sscanf, seachas a stóráil luachanna i n agus c sa sampla seo anseo, 320 00:19:18,210 --> 00:19:24,890 cad a dhéanann sé freisin go bhfuil tuairisceáin sé líon na n-athróg a chur luachanna isteach 321 00:19:24,890 --> 00:19:30,260 Mar sin, má scríobhann tú ach amháin i 123, ansin níl ach an% d ag dul a mheaitseáil, 322 00:19:30,260 --> 00:19:33,880 agus ní raibh ach faigheann n stóráil le luach cosúil le 123, 323 00:19:33,880 --> 00:19:35,640 agus faigheann aon rud a chur i c. 324 00:19:35,640 --> 00:19:37,620 Tá C luach truflais, mar a déarfá - 325 00:19:37,620 --> 00:19:40,730 truflais mar ní tá sé curtha initialized do roinnt luach. 326 00:19:40,730 --> 00:19:45,520 Mar sin, sa chás sin, tuairisceáin sscanf 1 mar gheall daonra mé 1 de na leideanna, 327 00:19:45,520 --> 00:19:50,190 agus sa chás sin go hiontach, tá mé ina slánuimhir mar sin saor in aisce mé an líne saor in aisce le cuimhne 328 00:19:50,190 --> 00:19:54,000 go GetString leithdháilte i ndáiríre, agus ansin mé ar ais n, 329 00:19:54,000 --> 00:19:58,500 eile má wondered tú riamh nuair a Retry ráiteas a thagann ó, a thagann sé ó dheis anseo. 330 00:19:58,500 --> 00:20:04,390 Mar sin, más rud é, ag gcodarsnacht leis, cineál mé i 123foo - ach roinnt ord randamach de téacs - 331 00:20:04,390 --> 00:20:08,490 sscanf ag dul a fheiceáil uimhir, uimhir, uimhir, f, 332 00:20:08,490 --> 00:20:16,410 agus tá sé ag dul a chur ar an 123 i n; tá sé ag dul a chur ar an f i c agus ansin 2 ar ais. 333 00:20:16,410 --> 00:20:20,640 Mar sin, ní mór dúinn, ach ag baint úsáide as an sainmhíniú bunúsach iompair sscanf, ar bhealach an-simplí - 334 00:20:20,640 --> 00:20:23,900 go maith, casta ar an gcéad amharc ach ag deireadh an lae mheicníocht simplí go leor - 335 00:20:23,900 --> 00:20:28,320 a rá go bhfuil o agus má tá, is é sin an rud amháin a fuair mé? 336 00:20:28,320 --> 00:20:29,860 Agus is é an spás bán anseo d'aon ghnó. 337 00:20:29,860 --> 00:20:34,000 Má léann tú an doiciméadú sscanf, insíonn sé leat go bhfuil má tá tú píosa spás bán 338 00:20:34,000 --> 00:20:38,810 ag tús nó deireadh, sscanf ligfidh freisin an t-úsáideoir, ar chúis ar bith, 339 00:20:38,810 --> 00:20:41,860 a bhuail 123 barra spáis agus a bheidh dlisteanach. 340 00:20:41,860 --> 00:20:44,150 Ní bheidh tú yell ag an úsáideoir díreach toisc go mbuaileann siad an barra spáis 341 00:20:44,150 --> 00:20:48,640 ag tús nó deireadh, a bhfuil ach beagán níos so-úsáidte. 342 00:20:48,640 --> 00:20:52,300 >> Ceisteanna ar bith ansin ar GetInt? Yeah. >> [Mac léinn] Cad a tharlaíonn má tú a chur díreach i Char? 343 00:20:52,300 --> 00:20:54,030 Dea-gceist. 344 00:20:54,030 --> 00:20:59,890 Cad a tharlaíonn má chlóscríobh tú díreach i Char mhaith f, agus brúigh Iontráil gan riamh ag clóscríobh 123? 345 00:20:59,890 --> 00:21:02,420 Cad a cheapann tú a bheadh ​​ar an iompar na líne seo de chód a bheith ansin? 346 00:21:02,420 --> 00:21:04,730 [Fhreagra mac léinn inaudible] 347 00:21:04,730 --> 00:21:08,790 Yeah, ionas gur féidir sscanf sin a chumhdach freisin mar gheall sa chás sin, níl sé ag dul a líonadh n nó c. 348 00:21:08,790 --> 00:21:15,310 Tá sé seo ag dul ar ais in ionad 0, agus sa chás sin tá mé ag teacht freisin go cás 349 00:21:15,310 --> 00:21:18,750 toisc go bhfuil an luach ionchais mhaith liom 1. 350 00:21:18,750 --> 00:21:22,000 Ba mhaith liom ach aon duine amháin agus gan ach rud amháin a bheidh le líonadh. Dea-gceist. 351 00:21:22,000 --> 00:21:24,290 >> Daoine eile? Gach ceart. 352 00:21:24,290 --> 00:21:26,250 >> Ní ligean ar dul tríd gach ceann de na feidhmeanna i anseo, 353 00:21:26,250 --> 00:21:29,500 ach tá an ceann cosúil le bheith spéisiúla b'fhéidir fágtha GetString 354 00:21:29,500 --> 00:21:32,790 mar gheall ar casadh sé amach go GetFloat, GetInt, GetDouble, GetLongLong 355 00:21:32,790 --> 00:21:36,260 gach punt a lán de a gcuid feidhmeanna a GetString. 356 00:21:36,260 --> 00:21:39,750 Mar sin a ligean ar ghlacadh le breathnú ar conas a bhfuil sé i bhfeidhm anseo. 357 00:21:39,750 --> 00:21:43,630 Breathnaíonn sé seo ar cheann ar casta beag, ach úsáideann sé an bunúsacha céanna 358 00:21:43,630 --> 00:21:45,670 gur thosaigh muid ag caint faoi an tseachtain seo caite. 359 00:21:45,670 --> 00:21:49,490 I GetString, a thógann nach bhfuil aon argóint de réir an neamhní suas anseo 360 00:21:49,490 --> 00:21:53,730 agus tuairisceáin sé ar shraith, mé cosúil mé á dhearbhú teaghrán a dtugtar maolán. 361 00:21:53,730 --> 00:21:56,270 Níl a fhios agam i ndáiríre cad atá ag dul a úsáid le haghaidh fóill, ach beidh orainn a fheiceáil. 362 00:21:56,270 --> 00:21:58,390 Breathnaíonn sé cosúil go bhfuil cumas de réir réamhshocraithe 0. 363 00:21:58,390 --> 00:22:01,350 Ní leor cinnte nuair a tá sé seo nach bhfuil ag dul, cinnte cad é n ag dul a úsáid le haghaidh fóill, 364 00:22:01,350 --> 00:22:03,590 ach anois tá sé ag fáil beagán níos suimiúla. 365 00:22:03,590 --> 00:22:06,520 I gcomhréir 243, ní mór dúinn a dhearbhú ina slánuimhir, c. 366 00:22:06,520 --> 00:22:08,800 Is é seo an saghas sonraí dúr. 367 00:22:08,800 --> 00:22:15,820 Tá Char 8 giotán, agus is féidir 8 giotán a stóráil cé mhéad luachanna éagsúla? >> [Mac léinn] 256. >> 256. 368 00:22:15,820 --> 00:22:20,730 Is é an fhadhb más mian leat a bheith 256 carachtar ASCII éagsúla, ina bhfuil 369 00:22:20,730 --> 00:22:23,340 má cheapann tú ar ais - agus nach bhfuil an rud a chur de ghlanmheabhair. 370 00:22:23,340 --> 00:22:25,710 Ach má cheapann tú ar ais go dtí chairt mór ASCII a bhí againn seachtain ó shin, 371 00:22:25,710 --> 00:22:30,600 bhí sa chás sin 128 nó 256 carachtair ASCII. 372 00:22:30,600 --> 00:22:32,940 Úsáid againn ar fad na patrúin suas 0s agus 1s. 373 00:22:32,940 --> 00:22:36,210 Sin fadhb más mian leat a bheith in ann a bhrath earráid 374 00:22:36,210 --> 00:22:40,190 mar má tá tú ag baint úsáide as cheana féin 256 luachanna do charachtair, 375 00:22:40,190 --> 00:22:43,050 nach raibh tú plean i ndáiríre amach romhainn toisc go anois go bhfuil tú aon bhealach a rá, 376 00:22:43,050 --> 00:22:46,270 nach bhfuil an carachtar legit, is é seo ar roinnt teachtaireacht mícheart. 377 00:22:46,270 --> 00:22:50,270 Mar sin, cad a dhéanann an domhan siad úsáid as an luach eile is mó, rud éigin cosúil le slánuimhir, 378 00:22:50,270 --> 00:22:54,720 ionas go mbeidh tú roinnt dÚsachtach de giotán, 32, le haghaidh 4 billiún luach fhéideartha 379 00:22:54,720 --> 00:22:58,860 ionas gur féidir leat deireadh ach suas ag baint úsáide as go bunúsach 257 acu, 380 00:22:58,860 --> 00:23:01,720 1 de a bhfuil cuid bhrí speisialta mar earráid. 381 00:23:01,720 --> 00:23:03,120 >> Mar sin a ligean ar a fheiceáil conas a oibríonn seo. 382 00:23:03,120 --> 00:23:07,760 I gcomhréir 246, tá mé an lúb agus mór go bhfuil glaoch fgetc, 383 00:23:07,760 --> 00:23:11,090 f comhad bhrí, mar sin getc, agus ansin ionchur caighdeánach. 384 00:23:11,090 --> 00:23:15,520 Casadh sé amach tá sé seo ach ar an mbealach níos cruinne a rá léigh na méarchlár. 385 00:23:15,520 --> 00:23:19,300 Méarchlár ciallaíonn Standard ionchur, ciallaíonn aschur caighdeánach scáileán, 386 00:23:19,300 --> 00:23:23,310 agus earráid chaighdeánach, agus beidh orainn a fheiceáil i pset4, ciallaíonn an scáileán 387 00:23:23,310 --> 00:23:27,490 ach cuid ar leith den scáileán ionas nach bhfuil sé conflated leis an aschur iarbhír 388 00:23:27,490 --> 00:23:30,750 raibh sé i gceist tú a phriontáil. Ach níos mó ar an sa todhchaí. 389 00:23:30,750 --> 00:23:34,440 Mar sin, ciallaíonn fgetc ach léamh amháin a charachtar as an méarchlár agus é a stóráil i gcás? 390 00:23:34,440 --> 00:23:37,350 Stóráil i c. 391 00:23:37,350 --> 00:23:41,360 Agus seiceáil ansin - mar sin tá mé ag baint úsáide as ach roinnt conjunctions Boole anseo - 392 00:23:41,360 --> 00:23:46,000 seiceáil nach ndéanann sé comhionann - \ n, mar sin tá an t-úsáideoir hit Enter, ba mhaith linn a stopadh ag an bpointe sin, 393 00:23:46,000 --> 00:23:49,850 deireadh na lúibe - agus ba mhaith linn freisin a sheiceáil le haghaidh an difríocht idir na naisc speisialta tairiseach, 394 00:23:49,850 --> 00:23:53,610 agus má tá a fhios agat nó buille faoi thuairim, cad a sheasann sé do? >> [Mac léinn] Deireadh comhaid. Deireadh >> comhaid. 395 00:23:53,610 --> 00:23:56,560 Tá sé seo de chineál ar nonsensical mar má tá mé ag clóscríobh ag an méarchlár, 396 00:23:56,560 --> 00:23:58,870 níl i ndáiríre níl aon chomhad baint acu leis an, 397 00:23:58,870 --> 00:24:01,150 ach tá sé seo sórtáil ach an téarma cineálach a úsáidtear go gciallaíonn 398 00:24:01,150 --> 00:24:04,220 go bhfuil aon rud eile ag teacht ó na daoine ar mhéara. 399 00:24:04,220 --> 00:24:06,460 EO - críoch an chomhaid. 400 00:24:06,460 --> 00:24:09,920 Mar leataobh, ní má tá tú bhuail riamh Rialú D ar do mhéarchlár, go mbeadh tú fós - 401 00:24:09,920 --> 00:24:15,230 atá tú a bhuail Rialú C - Rialú D seolann an tairiseach speisialta ar a dtugtar EO. 402 00:24:15,230 --> 00:24:19,850 Mar sin, anois ní mór dúinn ach cuid leithdháileadh cuimhne dinimiciúil. 403 00:24:19,850 --> 00:24:23,440 >> Mar sin, más rud é (n + 1> toilleadh). Anois, beidh mé a mhíniú n. 404 00:24:23,440 --> 00:24:26,100 N bhfuil ach cé mhéad bytes faoi láthair ar an Maolán, 405 00:24:26,100 --> 00:24:28,620 an teaghrán go bhfuil tú ag tógáil faoi láthair suas as an t-úsáideoir. 406 00:24:28,620 --> 00:24:33,450 Má tá tú carachtair níos mó i do Maolán ná mar a bhfuil tú cumas sa Maolán, 407 00:24:33,450 --> 00:24:37,410 intuitively an méid is gá dúinn a dhéanamh ansin an toilleadh a leithdháileadh níos mó. 408 00:24:37,410 --> 00:24:43,330 Mar sin, tá mé ag dul chun skim thar roinnt de na uimhríochtúil anseo agus díriú ach ar an bhfeidhm seo anseo. 409 00:24:43,330 --> 00:24:46,070 Tá a fhios agat cad é malloc nó ar a laghad ar ginearálta. 410 00:24:46,070 --> 00:24:48,970 Take a buille faoi thuairim cad a dhéanann realloc. >> [Mac léinn] Adds chuimhne. 411 00:24:48,970 --> 00:24:52,920 Níl cur sé go leor cuimhne. Reallocates sé cuimhne mar seo a leanas. 412 00:24:52,920 --> 00:24:57,220 Má tá spás ann i gcónaí ag deireadh an teaghrán a thabhairt duit níos mó de go bhfuil cuimhne 413 00:24:57,220 --> 00:25:00,000 ná mar a thugann sé ar dtús leat, agus ansin beidh tú go bhfuil cuimhne breise. 414 00:25:00,000 --> 00:25:03,460 Mar sin, is féidir leat a choimeád díreach a chur ar an teaghrán ar charachtair droim le droim le droim ar ais. 415 00:25:03,460 --> 00:25:05,830 Ach más rud é nach é sin an cás mar gheall ar fhan tú ró-fhada 416 00:25:05,830 --> 00:25:07,940 agus fuair rud éigin randamach plopped i gcuimhne go bhfuil 417 00:25:07,940 --> 00:25:10,290 ach níl cuimhne breise síos anseo, tá go leor. 418 00:25:10,290 --> 00:25:13,100 Realloc ag dul go léir a dhéanamh ar an troma a ardú ar do shon, 419 00:25:13,100 --> 00:25:16,750 bogadh an teaghrán atá tú a léamh i go dtí seo ó anseo, é a chur síos ann, 420 00:25:16,750 --> 00:25:19,460 agus a thabhairt ansin tú rúidbhealach roinnt níos mó ag an bpointe sin. 421 00:25:19,460 --> 00:25:22,550 >> Mar sin, le tonn na láimhe, lig dom a rá go bhfuil an méid GetString a dhéanamh 422 00:25:22,550 --> 00:25:26,330 Tá sé ag tosú sé le maolán beag, b'fhéidir amháin carachtar aonarach; 423 00:25:26,330 --> 00:25:30,820 agus más rud é an t-úsáideoir cineálacha i dhá charachtair, chríochnaíonn GetString suas ghlaoch realloc agus deir 424 00:25:30,820 --> 00:25:33,150 Ní raibh aon charachtar amháin go leor; thabhairt dom dhá charachtair. 425 00:25:33,150 --> 00:25:35,950 Ansin, má léigh tú tríd an loighic na lúibe, tá sé ag dul a rá 426 00:25:35,950 --> 00:25:39,600 an t-úsáideoir clóscríofa i 3 carachtair; thabhairt dom anois nach 2 ach 4 carachtair, 427 00:25:39,600 --> 00:25:42,320 ansin a thabhairt dom 8, ansin a thabhairt dom 16 agus 32. 428 00:25:42,320 --> 00:25:45,000 Ós rud é go bhfuil mé ag dúbailt an cumas gach uair 429 00:25:45,000 --> 00:25:48,570 Ciallaíonn sé sin nach bhfuil an maolán ag dul ag fás go mall, tá sé ag dul chun fás go tapa Super. 430 00:25:48,570 --> 00:25:51,380 Agus d'fhéadfadh a bheith cad é an buntáiste a bhaint as? 431 00:25:51,380 --> 00:25:54,600 Cén fáth dúbailt mé an méid de na Maolán 432 00:25:54,600 --> 00:25:58,020 cé go bhféadfadh an t-úsáideoir gá ach aon charachtar amháin breise ó na méarchlár? 433 00:25:58,020 --> 00:26:01,750 Tá [fhreagra mac léinn inaudible] >> Cad é sin? >> [Mac léinn] Ní gá duit ag fás mar go minic. 434 00:26:01,750 --> 00:26:03,300 Go díreach. Ní gá duit ag fás mar go minic. 435 00:26:03,300 --> 00:26:05,510 Agus é seo ach de chineál ar go bhfuil tú ag fálaithe do geallta anseo, 436 00:26:05,510 --> 00:26:10,850 an smaoineamh a bheith go bhfuil tú ag iarraidh a glaoch realloc a lán toisc go bíonn sé a bheith mall. 437 00:26:10,850 --> 00:26:12,910 Aon uair a iarrann tú an córas oibriúcháin do chuimhne, 438 00:26:12,910 --> 00:26:16,990 mar beidh tú a fheiceáil go luath i sraith fhadhb amach anseo, bíonn sé a chur roinnt ama. 439 00:26:16,990 --> 00:26:20,010 Mar sin, a íoslaghdú an méid sin ama, fiú má tá tú ag wasting roinnt spáis, 440 00:26:20,010 --> 00:26:21,900 claonadh a bheith ina rud maith. 441 00:26:21,900 --> 00:26:24,060 >> Ach má léigh muid tríd an chuid deiridh de GetString anseo - 442 00:26:24,060 --> 00:26:27,950 agus nach bhfuil arís a thuiscint gach líne aonair anseo chomh tábhachtach lá atá inniu ann - 443 00:26:27,950 --> 00:26:30,530 faoi ​​deara go iarrann sé ar deireadh thiar malloc arís 444 00:26:30,530 --> 00:26:33,880 agus leithdháileann sé go díreach mar bytes go leor mar ní mór é le haghaidh an teaghrán 445 00:26:33,880 --> 00:26:38,060 agus caitheann ansin ar shiúl trí ghlaoch ar saor in aisce leis an maolán excessively mór 446 00:26:38,060 --> 00:26:40,080 má fuair dhó sé go deimhin, uair an iomarca. 447 00:26:40,080 --> 00:26:42,730 Mar sin, i mbeagán focal, tá go conas a GetString ag obair ar fad an am seo. 448 00:26:42,730 --> 00:26:47,060 Gach tá sé ní léamh amháin carachtar ag an am arís agus arís agus arís eile, 449 00:26:47,060 --> 00:26:50,750 agus gach uair riachtanais sé roinnt cuimhne breise, Iarrann sé ar an córas oibriúcháin chun é 450 00:26:50,750 --> 00:26:53,670 trí ghlaoch realloc. 451 00:26:53,670 --> 00:26:57,890 >> Ceisteanna ar bith? Gach ceart. 452 00:26:57,890 --> 00:26:59,270 >> An ionsaí. 453 00:26:59,270 --> 00:27:04,060 Anois go bhfuil muid leideanna a thuiscint nó ar a laghad ag éirí níos eolach ar threo, 454 00:27:04,060 --> 00:27:06,700 a ligean ar a mheas conas a thosaíonn an domhan ar fad le titim 455 00:27:06,700 --> 00:27:10,030 más rud é nach bhfuil tú a chosaint go leor i gcoinne úsáideoirí sáraíochta, 456 00:27:10,030 --> 00:27:11,850 daoine atá ag iarraidh a hack isteach i do chóras, 457 00:27:11,850 --> 00:27:16,890 daoine atá ag iarraidh a steal do bhogearraí ag teacht timpeall ar roinnt cód clárúcháin 458 00:27:16,890 --> 00:27:19,090 go bhféadfadh siad a bheith ar shlí eile a chlóscríobh isteach 459 00:27:19,090 --> 00:27:22,990 >> Féach ar an sampla anseo, a bhfuil ach C cód go bhfuil phríomhfheidhm ag bun 460 00:27:22,990 --> 00:27:26,380 go bhfuil gá feidhm foo. Agus cad a rith sé le foo? 461 00:27:26,380 --> 00:27:29,680 [Mac léinn] Tá argóint amháin. >> [MALAN] argóint amháin. 462 00:27:29,680 --> 00:27:33,450 Mar sin, argv [1], rud a chiallaíonn an focal sin den chéad uair an t-úsáideoir clóscríofa ag an líne orduithe 463 00:27:33,450 --> 00:27:36,360 tar éis a.out nó is cuma cad é an clár ar a dtugtar. 464 00:27:36,360 --> 00:27:41,680 Mar sin, a thógann foo ag barr i * Char. Ach tá * Char ach cad é? >> [Mac léinn] A teaghrán. 465 00:27:41,680 --> 00:27:43,350 [MALAN] A teaghrán, agus mar sin níl aon rud nua anseo. 466 00:27:43,350 --> 00:27:45,420 Sin teaghrán á dtugtar treallach bar. 467 00:27:45,420 --> 00:27:51,430 Sa líne seo anseo, ruabhric c [12]; in saghas leath-theicniúil Béarla, cad an líne seo a dhéanamh? 468 00:27:51,430 --> 00:27:55,220 [Mac léinn] An sraith de - Eagar >> de? >> [Mac léinn] Carachtair. Carachtair >>. 469 00:27:55,220 --> 00:27:58,870 Tabhair dom le sraith de 12 carachtair. Mar sin, d'fhéadfadh muid a glaoch ar an maolán. 470 00:27:58,870 --> 00:28:02,920 Sé ar a dtugtar go teicniúil c, ach maolán i gcláir ciallaíonn ach a bunch de spás 471 00:28:02,920 --> 00:28:04,800 gur féidir leat a chur ar roinnt rudaí isteach 472 00:28:04,800 --> 00:28:07,940 Ansin ar deireadh, memcpy ní againn a úsáidtear roimh, ach is féidir leat buille faoi thuairim is dócha cad a dhéanann sé. 473 00:28:07,940 --> 00:28:10,480 Cóipeanna sé cuimhne. Cad a dhéanann sé? 474 00:28:10,480 --> 00:28:19,270 Cóipeanna sé cosúil barra, a ionchur, i c ach amháin suas go dtí an fad bar. 475 00:28:19,270 --> 00:28:24,930 Ach tá a bug anseo. >> [Mac léinn] Ní mór duit an carachtar Is uimhir. >> Maith go leor. 476 00:28:24,930 --> 00:28:30,860 Go teicniúil, ba chóir dúinn a dhéanamh i ndáiríre strlen (barra) * Is uimhir (Char)). Sin ceart. 477 00:28:30,860 --> 00:28:33,930 Ach i gcás is measa anseo, a ligean ar glacadh leis go bhfuil that's - 478 00:28:33,930 --> 00:28:35,950 Maith go leor. Ansin, níl dhá bugs. 479 00:28:35,950 --> 00:28:39,160 Mar sin, is féidir MÉID a (ruabhric)); 480 00:28:39,160 --> 00:28:41,290 Déanaimis seo beagán níos leithne. 481 00:28:41,290 --> 00:28:44,910 Mar sin, anois tá deis ann fós a bug, a bhfuil cad é? >> [Fhreagra mac léinn inaudible] 482 00:28:44,910 --> 00:28:46,990 Seiceáil do cad é? >> [Mac léinn] Seiceáil le haghaidh NULLComment. 483 00:28:46,990 --> 00:28:50,270 Ba chóir dúinn go ginearálta ag seiceáil le haghaidh NULLComment mar gheall ar a tharlóidh rudaí olc 484 00:28:50,270 --> 00:28:53,200 nuair a bhfuil do pointeoir NULLComment mar a d'fhéadfadh tú suas go deireadh ag dul ann, 485 00:28:53,200 --> 00:28:57,630 agus ní ba chóir duit riamh a bheith ag dul chun nialasach ag dereferencing sé leis an oibreoir réalta. 486 00:28:57,630 --> 00:29:01,050 Mar sin, tá go maith. Agus cad eile atá á dhéanamh againn? Logically, níl locht anseo freisin. 487 00:29:01,050 --> 00:29:04,450 [Mac léinn] Seiceáil más é argc> = dtí 2. 488 00:29:04,450 --> 00:29:10,550 Mar sin, seiceáil má tá argc> = 2. Maith go leor, mar sin níl trí bugs sa chlár anseo. 489 00:29:10,550 --> 00:29:16,630 Táimid ag seiceáil anois má tá an t-úsáideoir clóscríofa i ndáiríre i rud ar bith i argv [1]. Dea-. 490 00:29:16,630 --> 00:29:20,950 Mar sin, cad an fabht tríú? Yeah. >> [Mac léinn] C d'fhéadfadh a bheith mór go leor. 491 00:29:20,950 --> 00:29:23,320 Dea-. Sheiceáil Táimid ar cheann scéal. 492 00:29:23,320 --> 00:29:29,520 Sheiceáil muid go hintuigthe é a chóipeáil cuimhne níos mó ná mar a bheadh ​​níos mó ná an fad bar. 493 00:29:29,520 --> 00:29:32,510 Mar sin, má tá an teaghrán é an t-úsáideoir clóscríofa i 10 carachtair ar fad, 494 00:29:32,510 --> 00:29:36,020 tá sé seo ag rá ach a chóipeáil 10 carachtair. Agus sin ceart go leor. 495 00:29:36,020 --> 00:29:39,940 Ach cad más rud é an t-úsáideoir clóscríofa i bhfocal ag an pras cosúil le focal 20-charachtar? 496 00:29:39,940 --> 00:29:44,900 Tá sé seo ag rá cóip 20 carachtair ó barra ar cad? 497 00:29:44,900 --> 00:29:49,750 C, ar shlí eile ar a dtugtar mar ár Maolán, rud a chiallaíonn scríobh tú díreach sonraí 498 00:29:49,750 --> 00:29:52,540 go dtí 8 láithreacha beart nach bhfuil tú féin, 499 00:29:52,540 --> 00:29:54,870 agus nach bhfuil tú féin iad sa chiall nach bhfuil leithdháilte tú iad. 500 00:29:54,870 --> 00:30:00,370 Mar sin, is é seo cad atá ar a dtugtar de ghnáth mar an ionsaí thar maoil maolán nó ionsaí róchaiteachas maolán. 501 00:30:00,370 --> 00:30:05,580 Agus tá sé ionsaí sa chiall go más rud é an t-úsáideoir nó an clár a tá ag iarraidh do fheidhm 502 00:30:05,580 --> 00:30:10,490 D'fhéadfaí é seo a dhéanamh go mailíseach, cad a tharlaíonn go hiarbhír eile a bheith i ndáiríre go leor dona. 503 00:30:10,490 --> 00:30:12,450 >> Mar sin a ligean ar ghlacadh le breathnú ar an bpictiúr seo anseo. 504 00:30:12,450 --> 00:30:16,060 Léiríonn an pictiúr ar do Stack de chuimhne. 505 00:30:16,060 --> 00:30:19,580 Glaoch ar ais go bhfaigheann gach uair a ghlaonn tú ar fheidhm tú an fráma beag ar an chruach 506 00:30:19,580 --> 00:30:21,520 agus ansin, bealach eile agus ansin, bealach eile agus eile. 507 00:30:21,520 --> 00:30:24,300 Agus go dtí seo, tá muid díreach de chineál ar achomaireacht seo mar Dronuilleoga 508 00:30:24,300 --> 00:30:26,290 ceachtar ar an chlár nó ar an scáileán anseo. 509 00:30:26,290 --> 00:30:30,580 Ach má táimid súmáil isteach ar cheann de na dronuilleoga, nuair a ghlaonn tú ar foo feidhm, 510 00:30:30,580 --> 00:30:35,880 casadh sé amach go bhfuil níos mó ar an taobh istigh Stack de sin fráma sa dronuilleog 511 00:30:35,880 --> 00:30:40,060 ná díreach x agus y agus a agus b, cosúil le raibh muid ag caint faoi babhtála. 512 00:30:40,060 --> 00:30:44,410 Casadh sé amach go níl roinnt sonraí níos ísle-leibhéal, ina measc Seoladh Fillte. 513 00:30:44,410 --> 00:30:49,550 Mar sin, casadh sé amach nuair a iarrann mó foo, tá príomh-eolas foo 514 00:30:49,550 --> 00:30:53,520 cad é seoladh an phríomhchonraitheora i an ríomhaire a chuimhne 515 00:30:53,520 --> 00:30:57,770 mar gheall ar shlí eile, go bhfuil a luaithe is foo dhéanamh forghníomhaitheach, mar sa chás seo anseo, 516 00:30:57,770 --> 00:31:00,830 nuair a tá tú teacht ar an brace dúnta chatach ag deireadh na foo, 517 00:31:00,830 --> 00:31:05,310 conas a dhéanann an heck foo a fhios ina bhfuil an rialú an chláir ceaptha chun dul? 518 00:31:05,310 --> 00:31:08,970 Casadh sé amach go bhfuil an freagra ar an cheist seo dronuilleog dearg anseo. 519 00:31:08,970 --> 00:31:12,670 Léiríonn sé seo pointeoir, agus tá sé suas go dtí an ríomhaire a stóráil go sealadach 520 00:31:12,670 --> 00:31:17,030 ar an chruach mar a thugtar air go bhfuil an seoladh is mó ionas go mbeidh luaithe is foo dhéanamh forghníomhaitheach, 521 00:31:17,030 --> 00:31:21,120 fhios ag an ríomhaire áit agus cén líne is mó dul ar ais chuig. 522 00:31:21,120 --> 00:31:23,940 Baineann pointeoir Fráma Sábháilte céanna leis seo. 523 00:31:23,940 --> 00:31:26,310 Léiríonn bar * Char anseo cad? 524 00:31:26,310 --> 00:31:31,350 Anois tá an teascán gorm anseo fráma foo ar. Cad é bar? 525 00:31:31,570 --> 00:31:35,010 Barra bhfuil ach an argóint leis an fheidhm foo. 526 00:31:35,010 --> 00:31:37,500 Mar sin anois táimid ar ais ar saghas an pictiúr ar an eolas. 527 00:31:37,500 --> 00:31:39,850 Níl rudaí níos mó agus níos mó distractions ar an scáileán, 528 00:31:39,850 --> 00:31:43,380 ach tá an teascán gorm éadrom go díreach cad tá muid ag tarraingt ar an gclár dubh 529 00:31:43,380 --> 00:31:45,790 chun rud éigin cosúil le babhtáil. Is é sin an fráma foo. 530 00:31:45,790 --> 00:31:51,490 Agus an rud amháin i sé go bhfuil ceart anois barra, a bhfuil an paraiméadar seo. 531 00:31:51,490 --> 00:31:55,220 Ach ba cheart cad eile a bheith i an chairn de réir an cód anseo? 532 00:31:55,220 --> 00:31:57,760 [Mac léinn] Char c [12]. >> [MALAN] Char c [12]. 533 00:31:57,760 --> 00:32:02,810 Ba chóir dúinn féach freisin 12 cearnóga de chuimhne a leithdháiltear ar athróg ar a dtugtar c, 534 00:32:02,810 --> 00:32:04,970 agus go deimhin is féidir linn a bheith go bhfuil ar an scáileán. 535 00:32:04,970 --> 00:32:08,480 Tá an barr an-go bhfuil c [0], agus ansin an t-údar an léaráid seo 536 00:32:08,480 --> 00:32:11,850 ní raibh bac tarraingt gach ceann de na cearnóga, ach tá go deimhin, 12 go 537 00:32:11,850 --> 00:32:16,590 mar má fhéachann tú ar an ceart ag bun, c [11] má tá tú ag comhaireamh ó 0 go bhfuil an beart 12ú den sórt sin. 538 00:32:16,590 --> 00:32:18,400 Ach anseo an fhadhb. 539 00:32:18,400 --> 00:32:22,390 Cén treo a bhfuil c ag fás? 540 00:32:22,390 --> 00:32:27,080 Sórtáil de bharr anuas má thosaíonn sé ag an mbarr agus fásann go dtí an bun. 541 00:32:27,080 --> 00:32:30,110 Ní chuireann sé cuma mhaith d'fhág muid féin rúidbhealach i bhfad anseo ar chor ar bith. 542 00:32:30,110 --> 00:32:32,090 Táimid tar éis cineál péinteáilte féin isteach i gcúinne, 543 00:32:32,090 --> 00:32:36,940 agus go c [11] Is ceart suas i gcoinne barra, a bhfuil ceart suas in aghaidh pointeoir Fráma Sábháilte, 544 00:32:36,940 --> 00:32:39,960 a bhfuil an ceart suas in aghaidh Seoladh Fillte. Níl aon seomra níos mó. 545 00:32:39,960 --> 00:32:42,810 Mar sin, cad é an impleacht sin má tá tú scriú suas 546 00:32:42,810 --> 00:32:46,500 agus iarracht a dhéanamh tú ag léamh 20 bytes comhad ionsáite i maolán 12-beart? 547 00:32:46,500 --> 00:32:50,060 I gcás ina mbeidh na 8 bytes breise ag dul chun dul? >> [Mac léinn] Inside - 548 00:32:50,060 --> 00:32:53,200 Inside gach rud eile, tá cuid acu Super tábhachtach. 549 00:32:53,200 --> 00:32:57,260 Agus an rud is tábhachtaí, d'fhéadfadh a bheith, tá an bosca dearg ann, Seoladh Fillte, 550 00:32:57,260 --> 00:33:03,560 mar gheall ar dócha go bhfuil tú ceachtar de thaisme nó adversarially scríobh na 4 bytes, 551 00:33:03,560 --> 00:33:07,260 an seoladh sin pointeoir, ní hamháin le truflais ach le roinnt 552 00:33:07,260 --> 00:33:09,810 a tharlaíonn go dtabharfaí léiriú ar seoladh iarbhír i gcuimhne. 553 00:33:09,810 --> 00:33:13,880 Cad é an impleacht, go loighciúil? >> [Mac léinn] Feidhm ag dul ar ais go dtí áit eile. 554 00:33:13,880 --> 00:33:15,250 Go díreach. 555 00:33:15,250 --> 00:33:19,170 Nuair a tuairisceáin foo agus amas go brace curly, tá an clár ag dul ar aghaidh 556 00:33:19,170 --> 00:33:25,060 gan filleadh ar mó, tá sé ag dul ar ais go dtí cibé sheoladh sa bhosca dearg. 557 00:33:25,060 --> 00:33:28,600 >> I gcás clárúcháin bogearraí timpeall, 558 00:33:28,600 --> 00:33:32,260 cad má tá an seoladh sin tá ar ais chuig an fheidhm go bhfaigheann ghnáth ar a dtugtar 559 00:33:32,260 --> 00:33:35,690 atá tar éis duit íoc as na bogearraí agus ionchur do chód clárúcháin? 560 00:33:35,690 --> 00:33:39,870 Is féidir leat a shórtáil de trick an ríomhaire i nach bhfuil ag dul anseo ach ina ionad sin ag dul suas anseo. 561 00:33:39,870 --> 00:33:45,100 Nó má tá tú i ndáiríre cliste, is féidir le adversary cineál iarbhír i ag an méarchlár, mar shampla, 562 00:33:45,100 --> 00:33:50,690 Ní focal iarbhír, ní 20 carachtair, ach is dócha sé nó sí cineálacha iarbhír i 563 00:33:50,690 --> 00:33:52,770 roinnt carachtair a léiríonn cód. 564 00:33:52,770 --> 00:33:55,320 Agus nach bhfuil sé ag dul a bheith C cód, tá sé ag dul iarbhír a bheith ar na carachtair 565 00:33:55,320 --> 00:33:59,290 a léiríonn cód meaisín dénártha, 0s agus 1s. 566 00:33:59,290 --> 00:34:01,290 Ach is dócha go bhfuil siad cliste go leor chun é sin a dhéanamh, 567 00:34:01,290 --> 00:34:06,500 a ghreamú ar bhealach isteach an rud GetString pras go bhfuil cód bunúsach le chéile, 568 00:34:06,500 --> 00:34:09,980 agus an 4 deireanach bytes scríobh an seoladh sin ar ais. 569 00:34:09,980 --> 00:34:13,360 Agus cad seoladh é sin a dhéanamh ionchur? 570 00:34:13,360 --> 00:34:18,630 Siopaí sé i ndáiríre i seo dronuilleog dearg seoladh an chéad bheart an mhaoláin. 571 00:34:18,630 --> 00:34:23,070 Mar sin, caithfidh tú a bheith i ndáiríre cliste, agus tá sé seo a lán de na trialach agus earráide do dhaoine olc amach ann, 572 00:34:23,070 --> 00:34:25,639 ach más féidir leat an figiúr amach conas mór é seo maolán 573 00:34:25,639 --> 00:34:28,820 den sórt sin a chur ar fáil na bearta anuas san ionchur leat chun an clár 574 00:34:28,820 --> 00:34:33,540 tharlaíonn a bheith coibhéiseach leis an seoladh thús do Maolán, is féidir leat é seo a dhéanamh. 575 00:34:33,540 --> 00:34:39,320 Má deirimid de ghnáth Dia duit agus \ 0, go bhfuil an méid thagann suas i an maolán. 576 00:34:39,320 --> 00:34:44,420 Ach má tá muid níos cliste agus a líonadh go maolán le cad beidh muid ag glaoch cineálach cód ionsaí - 577 00:34:44,420 --> 00:34:48,860 AAA, ionsaí, ionsaí, ionsaí - má tá sé seo ach rud go ndéanann rud éigin dona, 578 00:34:48,860 --> 00:34:51,820 cad a tharlaíonn má tá tú i ndáiríre cliste, go dtiocfadh leat é seo a dhéanamh. 579 00:34:51,820 --> 00:34:58,610 Sa bhosca dearg anseo tá sraith de uimhreacha - 80, C0, 35, 08. 580 00:34:58,610 --> 00:35:01,610 Fógra a oireann go bhfuil an líon sin suas anseo. 581 00:35:01,610 --> 00:35:04,430 Tá sé in ord droim ar ais, ach níos mó ar an am go bhfuil roinnt eile. 582 00:35:04,430 --> 00:35:08,140 Fógra go bhfuil an seoladh fillte athraíodh d'aon ghnó 583 00:35:08,140 --> 00:35:12,020 comhionann leis an seoladh suas anseo, nach bhfuil an seoladh is mó. 584 00:35:12,020 --> 00:35:17,500 Mar sin, má tá an Guy olc Super cliste, tá sé nó sí ag dul a chur san áireamh sa chód ionsaí 585 00:35:17,500 --> 00:35:20,930 rud éigin cosúil le scriosadh gach ceann de na úsáideora comhad nó an focal faire a chóipeáil 586 00:35:20,930 --> 00:35:24,680 nó a chruthú cuntas úsáideora gur féidir liom logáil isteach ansin isteach - rud ar bith ar chor ar bith. 587 00:35:24,680 --> 00:35:26,950 >> Agus is é seo idir an baol agus an chumhacht de C. 588 00:35:26,950 --> 00:35:29,840 Toisc go bhfuil tú rochtain ar chuimhne trí leideanna 589 00:35:29,840 --> 00:35:32,520 agus is féidir leat scríobh dá bhrí sin, aon rud is mian leat isteach i ríomhaire a chuimhne, 590 00:35:32,520 --> 00:35:35,080 féidir leat a dhéanamh ar ríomhaire aon rud is mian leat 591 00:35:35,080 --> 00:35:39,550 ach ag tar éis é a léim thart laistigh dá spás chuimhne féin. 592 00:35:39,550 --> 00:35:44,650 Agus mar sin go dtí an lá cláir an oiread sin agus láithreáin ghréasáin an oiread sin i gcontúirt 593 00:35:44,650 --> 00:35:46,200 boil síos go dtí daoine ag cur buntáiste a bhaint as seo. 594 00:35:46,200 --> 00:35:50,760 Agus d'fhéadfadh sé seo cosúil mhaith ionsaí Super sofaisticiúla, ach ní chuireann sé tús go bhealach i gcónaí. 595 00:35:50,760 --> 00:35:53,560 Is é an réaltacht go bhfuil an méid a bheidh daoine olc a dhéanamh de ghnáth, 596 00:35:53,560 --> 00:35:58,200 bíodh sé ina gclár i láthair ag líne ordaithe nó clár GUI nó ar an suíomh gréasáin, 597 00:35:58,200 --> 00:35:59,940 dtosaíonn tú díreach a sholáthar nonsense. 598 00:35:59,940 --> 00:36:03,980 Scríobhann tú i bhfocal gur mór i réimse cuardaigh agus bhuail isteach, 599 00:36:03,980 --> 00:36:05,780 agus tú ag fanacht a fheiceáil má dheasca an láithreán gréasáin 600 00:36:05,780 --> 00:36:09,990 nó tú ag fanacht a fheiceáil má manifests an clár roinnt teachtaireacht earráide 601 00:36:09,990 --> 00:36:14,330 mar má fhaigheann tú t-ádh mar an Guy olc agus ar fáil duit roinnt ionchur dÚsachtach 602 00:36:14,330 --> 00:36:18,980 go dheasca an chláir, go gciallaíonn nach raibh an Ríomhchláraitheoir réamh-mheas do droch-iompar, 603 00:36:18,980 --> 00:36:23,630 rud a chiallaíonn is féidir leat is dócha leis an iarracht go leor, go leor triail agus earráid, 604 00:36:23,630 --> 00:36:26,650 figiúr amach conas a pá ionsaí níos cruinne. 605 00:36:26,650 --> 00:36:31,410 Ní Mar sin, an oiread agus a chuid na slándála a sheachaint ach na n-ionsaithe ar fad 606 00:36:31,410 --> 00:36:34,100 ach a bhrath iad agus ar ndóigh, ag féachaint ar logs 607 00:36:34,100 --> 00:36:36,780 agus ag féachaint cad tá ionchur dÚsachtach daoine clóscríofa i do láithreán gréasáin, 608 00:36:36,780 --> 00:36:38,960 cad iad na téarmaí cuardaigh daoine clóscríofa i do láithreán gréasáin 609 00:36:38,960 --> 00:36:42,870 i súil cur thar maoil maolán éigin. 610 00:36:42,870 --> 00:36:45,500 Agus seo go léir boils síos go dtí an Basics simplí ar cad eagar 611 00:36:45,500 --> 00:36:49,080 agus cad a chiallaíonn sé a leithroinnt agus a úsáid chuimhne. 612 00:36:49,080 --> 00:36:51,710 >> A bhaineann leis an ansin ró-seo. 613 00:36:51,710 --> 00:36:54,280 A ligean ar Sracfhéachaint díreach taobh istigh de thiomáint crua fós arís. 614 00:36:54,280 --> 00:36:58,440 Leat glaoch ar ais ó na seachtaine nó dhó ó shin go bhfuil tú nuair comhaid a tharraingt chun gur féidir do athchúrsáil bruscair nó bruscar, 615 00:36:58,440 --> 00:37:03,710 cad a tharlaíonn? >> [Mac léinn] Ní dhéanfaidh aon ní. >> Rud Cinnte, ceart? 616 00:37:03,710 --> 00:37:05,740 Faoi dheireadh má ritheann tú íseal ar spás diosca, 617 00:37:05,740 --> 00:37:08,190 Beidh Windows nó Mac OS tús a scriosadh comhaid ar do shon. 618 00:37:08,190 --> 00:37:10,390 Ach má tá tú tharraingt rud éigin ann, nach bhfuil ag gach sábháilte. 619 00:37:10,390 --> 00:37:13,800 Gach bhfuil do roommate nó cara nó ball teaghlaigh le déanamh ach cliceáil dúbailte agus, voila, 620 00:37:13,800 --> 00:37:16,310 níl na comhaid go léir sketchy go ndearna tú iarracht a scriosadh. 621 00:37:16,310 --> 00:37:19,590 An chuid is mó de dúinn ar a laghad a fhios agat go bhfuil tú a cliceáil ar dheis nó cliceáil Rialú 622 00:37:19,590 --> 00:37:22,310 agus folamh an bruscar nó rud éigin mar sin. 623 00:37:22,310 --> 00:37:25,000 Ach fiú ansin nach bhfuil go leor ar an trick 624 00:37:25,000 --> 00:37:28,010 mar gheall ar cad a tharlaíonn nuair a bhfuil tú comhad ar do thiomáint crua 625 00:37:28,010 --> 00:37:32,770 gur ionann roinnt doiciméad Word nó cuid JPEG, agus is ionann do thiomáint crua, 626 00:37:32,770 --> 00:37:35,350 agus a rá a ligean ar léiríonn sé seo sliver anseo go comhad, 627 00:37:35,350 --> 00:37:38,390 agus tá sé comhdhéanta de bunch iomlán de 0s agus 1s. 628 00:37:38,390 --> 00:37:42,470 Cad a tharlaíonn nuair nach bhfuil tú ag tarraing ach go comhad chuig an bruscar is féidir nó a athchúrsáil bruscair 629 00:37:42,470 --> 00:37:48,020 ach folamh freisin é? Sórtáil de rud ar bith. 630 00:37:48,020 --> 00:37:49,640 Níl sé fíor aon rud anois. 631 00:37:49,640 --> 00:37:54,290 Anois, tá sé ach aon rud mar gheall ar a tharlaíonn rud beag i bhfoirm tábla seo. 632 00:37:54,290 --> 00:37:58,370 Mar sin, tá roinnt de chineál bunachar sonraí nó tábla taobh istigh de ríomhaire a chuimhne 633 00:37:58,370 --> 00:38:03,850 go bhfuil go bunúsach aon cholún amháin chun comhaid 'ainmneacha agus aon cholún amháin do chomhaid' suíomh, 634 00:38:03,850 --> 00:38:07,720 nuair a d'fhéadfadh a bheith an suíomh seo 123, ach uimhir randamach. 635 00:38:07,720 --> 00:38:14,560 Mar sin, d'fhéadfadh muid a bheith rud éigin cosúil le x.jpeg agus suíomh 123. 636 00:38:14,560 --> 00:38:18,800 Cad a tharlaíonn ansin nuair a fholmhú tú i ndáiríre do bhruscar? 637 00:38:18,800 --> 00:38:20,330 A théann ar shiúl. 638 00:38:20,330 --> 00:38:23,610 Ach cad é, ní théann amach an 0s agus 1s. 639 00:38:23,610 --> 00:38:26,270 >> Mar sin, cad ansin an nasc pset4? 640 00:38:26,270 --> 00:38:31,240 Bhuel, le pset4, díreach mar atá againn scriosadh thaisme an cárta flash dlúth 641 00:38:31,240 --> 00:38:35,750 Bhí truaillithe go raibh gach ceann de na grianghraif nó díreach toisc go bhfuil sé ag ádh 642 00:38:35,750 --> 00:38:38,000 ní chiallaíonn nach bhfuil na 0s agus 1s fós ann. 643 00:38:38,000 --> 00:38:40,410 B'fhéidir cúpla ceann acu a cailleadh mar gheall ar a fuair truaillithe rud éigin 644 00:38:40,410 --> 00:38:43,320 sa mhéid go raibh roinnt 0s agus 1s 1s bhí 0s. 645 00:38:43,320 --> 00:38:47,240 Is féidir rudaí a tharlóidh dona mar gheall ar na bogearraí Buggy nó lochtach crua-earraí. 646 00:38:47,240 --> 00:38:50,370 Ach go leor de na píosaí, b'fhéidir fiú 100% de na iad, tá fós ann. 647 00:38:50,370 --> 00:38:55,050 Tá sé sin go díreach nach bhfuil an ríomhaire nó an ceamara a fhios nuair a thosaigh JPEG1 648 00:38:55,050 --> 00:38:56,910 agus nuair a thosaigh JPEG2. 649 00:38:56,910 --> 00:39:01,070 Ach má tá tú, an Ríomhchláraitheoir, tá a fhios le beagán de savvy chás go bhfuil na jpeg 650 00:39:01,070 --> 00:39:06,010 nó an chuma atá orthu ionas gur féidir leat anailís a dhéanamh ar JPEG 0s agus 1s agus a rá, JPEG, 651 00:39:06,010 --> 00:39:09,440 is féidir leat scríobh le clár le go bunúsach ach ar son nó cé lúb 652 00:39:09,440 --> 00:39:12,820 go recovers gach ceann de na comhaid sin. 653 00:39:12,820 --> 00:39:16,030 Is é sin an ceacht ansin chun tús a chur go daingean erasing do chuid comhad 654 00:39:16,030 --> 00:39:18,340 más mhaith leat a sheachaint seo ar fad. Tá. 655 00:39:18,340 --> 00:39:21,010 >> [Mac léinn] Conas teacht deir sé ar do ríomhaire 656 00:39:21,010 --> 00:39:23,550 go bhfuil tú cuimhne níos mó ná mar a rinne tú roimhe seo? 657 00:39:23,550 --> 00:39:27,820 An bhfuil cuimhne níos mó ná mar a rinne tú roimh - >> [mac léinn] cuimhne níos mó ar fáil. 658 00:39:27,820 --> 00:39:29,630 Oh. Dea-gceist. 659 00:39:29,630 --> 00:39:32,360 Mar sin, cén fáth nach ansin tar éis fholmhú an bruscar do ríomhaire a insint duit 660 00:39:32,360 --> 00:39:34,910 go bhfuil tú níos mó spás saor in aisce ná mar a rinne tú roimhe seo? 661 00:39:34,910 --> 00:39:36,770 In a nutshell, mar tá luí air. 662 00:39:36,770 --> 00:39:40,740 Níos teicniúil, an bhfuil tú go bhfuil níos mó spáis mar anois a dúirt tú 663 00:39:40,740 --> 00:39:43,680 Is féidir leat a chur rudaí eile ina raibh an comhad aon uair amháin. 664 00:39:43,680 --> 00:39:45,450 Ach ní chiallaíonn go na píosaí ag dul ar shiúl, 665 00:39:45,450 --> 00:39:48,590 agus ní chiallaíonn an giotán á n-athrú le gach 0s, mar shampla, 666 00:39:48,590 --> 00:39:50,150 do do chosaint. 667 00:39:50,150 --> 00:39:54,640 Mar sin, ag gcodarsnacht leis sin, má tá tú scriosadh daingean comhad nó go fisiciúil an gléas a scriosadh, 668 00:39:54,640 --> 00:39:57,300 is é sin i ndáiríre an t-aon bhealach uaireanta timpeall sin. 669 00:39:57,300 --> 00:40:02,020 >> Mar sin, cén fáth nach bhfuil muid ag fhágáil ar an nóta leath-scary, agus feicfidh tú muid ar an Luan. 670 00:40:02,020 --> 00:40:07,000 [Bualadh bos] 671 00:40:07,780 --> 00:40:10,000 >> [CS50.TV]