1 00:00:00,000 --> 00:00:02,670 >> [CERDDORIAETH THEMA] 2 00:00:02,670 --> 00:00:11,834 3 00:00:11,834 --> 00:00:13,365 >> SIARADWR 1: Helo, bawb. 4 00:00:13,365 --> 00:00:14,365 Croeso'n ôl i'r adran. 5 00:00:14,365 --> 00:00:15,700 6 00:00:15,700 --> 00:00:18,700 Diwrnod Lovely out-- a dyna pam, rwy'n yn sicr, nid oes dim ond pedwar o chi fan hyn 7 00:00:18,700 --> 00:00:21,180 ac nid yw ein pecyn arferol. 8 00:00:21,180 --> 00:00:22,670 Rwyf wedi bod yn sâl y penwythnos hwn. 9 00:00:22,670 --> 00:00:24,294 Felly, nid oes gennyf Starburst ar eich guys. 10 00:00:24,294 --> 00:00:26,400 Ac efallai y byddaf yn dechrau peswch ofnadwy trwy gydol hyn. 11 00:00:26,400 --> 00:00:27,790 Felly, dim ond yn amyneddgar gyda mi. 12 00:00:27,790 --> 00:00:30,624 Rydw i'n mynd i roi cynnig ar 'n sylweddol a chael drwy hyn yn gyntaf, 13 00:00:30,624 --> 00:00:32,290 fodd bynnag, cyn i mi gael trawiad pesychu. 14 00:00:32,290 --> 00:00:33,410 15 00:00:33,410 --> 00:00:37,390 Ond dim ond fod yn hawdd ar mi a Ychydig bit-- dyna i gyd wyf yn gofyn. 16 00:00:37,390 --> 00:00:39,370 17 00:00:39,370 --> 00:00:44,289 >> Felly mae ein hagenda ar gyfer today-- unig reminder-- eich cwis yn yr wythnos nesaf. 18 00:00:44,289 --> 00:00:46,830 Dywedais wrthych yr wythnos diwethaf, felly mae'n Ni fyddai yn eich dal oddi ar wyliadwrus. 19 00:00:46,830 --> 00:00:47,954 Felly, dw i'n eich atgoffa eto. 20 00:00:47,954 --> 00:00:49,180 Eich cwis yr wythnos nesaf. 21 00:00:49,180 --> 00:00:52,730 I'r perwyl hwnnw, yr wythnos nesaf Bydd yr adran yn llawer mwy 22 00:00:52,730 --> 00:00:55,180 o- n annhymerus 'brofi a gwaith mewn rhai adolygiad. 23 00:00:55,180 --> 00:00:58,130 Felly os allech chi guys fy helpu allan drwy anfon i mi 24 00:00:58,130 --> 00:01:00,990 pethau eich bod yn gyfforddus gyda, eich bod yn poeni am, 25 00:01:00,990 --> 00:01:03,530 pynciau yr hoffech i mi i dalu, byddwn hynny'n wych. 26 00:01:03,530 --> 00:01:05,740 Felly, gallaf geisio eu gweithio i mewn i'n adran yr wythnos nesaf 27 00:01:05,740 --> 00:01:11,540 neu anfonwch deunydd ychwanegol neu prep i chi efallai nad ydych yn ei gael mewn mannau eraill. 28 00:01:11,540 --> 00:01:12,150 >> Yeah! 29 00:01:12,150 --> 00:01:13,520 Mae mwy o bobl yn dod! 30 00:01:13,520 --> 00:01:17,320 Roeddwn i'n meddwl, wnes i fod yn wael ddiwethaf wythnos, nad oes unrhyw un eisiau i ddod yn ôl? 31 00:01:17,320 --> 00:01:18,065 Gen i ofn. 32 00:01:18,065 --> 00:01:18,892 33 00:01:18,892 --> 00:01:21,100 Felly y tri pheth arall ein bod ni'n mynd i fynd dros 34 00:01:21,100 --> 00:01:24,850 yn ailgyfeirio, ffeil I / O, ac Yna, awgrymiadau a chof deinamig. 35 00:01:24,850 --> 00:01:29,160 Rwy'n siŵr eich bod i gyd super gyffrous am pointers-- hoff bwnc pawb, 36 00:01:29,160 --> 00:01:31,310 mor syml i'w ddeall. 37 00:01:31,310 --> 00:01:33,130 Rwy'n siŵr eich bod guys i gyd got hynny, dde? 38 00:01:33,130 --> 00:01:39,510 >> Pethau fel cyntaf yn gyntaf, redirection-- mae hyn yn y bôn yn unig yn ffordd 39 00:01:39,510 --> 00:01:42,920 i reoli mewnbwn sut yr ydych yn pethau i mewn i'ch rhaglen, 40 00:01:42,920 --> 00:01:44,606 sut yr ydych pethau allbwn gan eich rhaglen. 41 00:01:44,606 --> 00:01:46,980 Y brif ffordd yr ydych yn guys wedi bod yn rhyngweithio ag ef 42 00:01:46,980 --> 00:01:51,650 yn unig trwy allan safonol gyda eich sgrîn print yma. 43 00:01:51,650 --> 00:01:55,940 Ond mae yna ffyrdd o pipe-- fel y gwelwn yma 44 00:01:55,940 --> 00:01:58,980 yn un o'n math words-- o bibell y wybodaeth 45 00:01:58,980 --> 00:02:02,850 neu ddata hynny i mewn i ffeil o ffeil. 46 00:02:02,850 --> 00:02:05,820 Dim ond gwahanol ffyrdd o cael pethau i mewn i'ch rhaglen 47 00:02:05,820 --> 00:02:10,681 ac allan o'ch rhaglen, yn hytrach na dim ond eu hargraffu i'r sgrin hon 48 00:02:10,681 --> 00:02:12,430 neu mewnbynnu pethau o'r llinell orchymyn. 49 00:02:12,430 --> 00:02:13,760 50 00:02:13,760 --> 00:02:18,030 >> Felly un cyntaf oes fawr fwy na caret. 51 00:02:18,030 --> 00:02:22,085 Felly output-- 'i jyst yn argraffu'r cynnyrch i ffeil yn lle eich sgrin. 52 00:02:22,085 --> 00:02:23,620 53 00:02:23,620 --> 00:02:29,500 Felly, os ydych wedi cael rhywbeth a argraffwyd "Helo, byd!" i'r sgrin, 54 00:02:29,500 --> 00:02:32,400 os byddwch yn ei roi yn lle hynny i output.text, bod 55 00:02:32,400 --> 00:02:35,220 creu ffeil o'r enw hwn output.text. 56 00:02:35,220 --> 00:02:38,550 A phan fyddwch yn agor, mae'n annhymerus yn dweud "Helo, byd!" i mewn 'na. 57 00:02:38,550 --> 00:02:41,410 Gall hyn fod yn ddefnyddiol super os oes gennych tunnell o wallau 58 00:02:41,410 --> 00:02:43,430 mewn gwirionedd, fel y gwelwn yn y un. 59 00:02:43,430 --> 00:02:46,810 Os byddwch yn gwneud dau caret, mae'n annhymerus argraffwch y negeseuon gwall. 60 00:02:46,810 --> 00:02:52,090 >> Felly, os ydych yn cael problem gyda o gasglu, mae ganddi lawer o wallau 61 00:02:52,090 --> 00:02:56,770 ac rydych yn cael ein llethu gan geisio i sgrolio drwy'r yn eich llinell orchymyn 62 00:02:56,770 --> 00:02:59,110 drwy bob nhw, gallwch dim ond eu argraffu i ffeil, 63 00:02:59,110 --> 00:03:02,130 agor y ffeil er mwyn i chi Gall sgrolio drwyddynt yn haws. 64 00:03:02,130 --> 00:03:05,160 Fi 'n weithredol a ddefnyddir fod yn lot pan oeddwn yn debugging 65 00:03:05,160 --> 00:03:07,970 fy 181 psets gyfer dysgu peiriant. 66 00:03:07,970 --> 00:03:10,000 Felly, gall fod yn super ddefnyddiol yn nes ymlaen. 67 00:03:10,000 --> 00:03:18,370 Mae hefyd yn ddefnyddiol os oes gennych raglen hynny efallai yn creu llyfrgell 68 00:03:18,370 --> 00:03:20,430 neu cynhyrchu rhywfaint set o llinynnau, ac rydych 69 00:03:20,430 --> 00:03:22,846 angen iddynt fod yn gallu gweld bod mae wedi eu cynhyrchu yn iawn. 70 00:03:22,846 --> 00:03:23,860 71 00:03:23,860 --> 00:03:25,160 Mae hyn yn y ffordd o wneud hynny. 72 00:03:25,160 --> 00:03:28,280 >> Felly, os ydych yn eu argraffu i ffeil, rydych Gellir eu harchwilio yn haws, dde? 73 00:03:28,280 --> 00:03:30,930 Versus geisio sgrolio drwy eich llinell orchymyn. 74 00:03:30,930 --> 00:03:32,740 75 00:03:32,740 --> 00:03:35,820 Ac yna un peth i'w nodi yw bod gyda dim ond y mwyaf 76 00:03:35,820 --> 00:03:40,090 na caret, os ydych yn ysgrifennu i ffeil sydd eisoes exists-- 77 00:03:40,090 --> 00:03:44,990 felly fel pe baem yn rhedeg hyn yn y cyntaf amser, rydym yn ei roi i output.text, 78 00:03:44,990 --> 00:03:49,970 ac yna cawsom ail raglen bod hargraffu hyn fel rhaglen ddwy 79 00:03:49,970 --> 00:03:54,250 a gwnaeth fwy nag i output.text, bydd yn trosysgrifo that-- felly 80 00:03:54,250 --> 00:03:56,715 ysgrifennu dros beth oedd erioed yn y ffeil i ddechrau. 81 00:03:56,715 --> 00:03:57,720 82 00:03:57,720 --> 00:04:00,750 >> Felly, os ydych am i atodi i ffeil, fel y gwelwn yma, 83 00:04:00,750 --> 00:04:04,779 'ch jyst yn gwneud dau yn fwy nag arwyddion. 84 00:04:04,779 --> 00:04:05,820 A bydd yn atodi iddo. 85 00:04:05,820 --> 00:04:06,750 Ni fydd yn ysgrifennu drosti. 86 00:04:06,750 --> 00:04:09,770 Felly, os oes angen i redeg lluosog rhaglenni a math o chadw 87 00:04:09,770 --> 00:04:13,170 golwg ar yr hyn pob un ohonynt yn dychwelyd i chi mewn ffeil, 88 00:04:13,170 --> 00:04:14,190 mae hynny'n ffordd o wneud hynny. 89 00:04:14,190 --> 00:04:17,231 Os nad ydych yn poeni beth sydd yn eich ffeil ac mae'n caniatáu i gael ei drosysgrifo, 90 00:04:17,231 --> 00:04:19,204 gallwch ddefnyddio mwy nag un. 91 00:04:19,204 --> 00:04:20,600 A yw hynny'n gwneud synnwyr i bawb? 92 00:04:20,600 --> 00:04:23,205 93 00:04:23,205 --> 00:04:31,140 >> GYNULLEIDFA: Fel dot slaes helo mwy nag allbwn dot testun, fel ddwywaith, 94 00:04:31,140 --> 00:04:34,030 bydd yn jyst yn unig yn dangos ar allbwn dot destun ail adeg-- 95 00:04:34,030 --> 00:04:34,810 >> SIARADWR 1: Iawn. 96 00:04:34,810 --> 00:04:40,450 Felly, byddai y bôn yn unig yn gyfan gwbl ysgrifennu dros beth oedd yno i ddechrau. 97 00:04:40,450 --> 00:04:44,260 Os yw hyn yn ffeil yma, mae'r output.text eisoes 98 00:04:44,260 --> 00:04:48,230 yn bodoli, yn y bôn beth bynnag yr ydych yn galw hynny eto gyda mwy sengl 99 00:04:48,230 --> 00:04:51,920 nag y gallwch feddwl am y peth fel ei hoffi disodli y ffeil. 100 00:04:51,920 --> 00:04:54,824 Fel pan fyddwch yn arbed Word dogfen a ydych yn arbed fel, 101 00:04:54,824 --> 00:04:57,365 ac eich bod yn cadw yr un enw, a yn gyfan gwbl overwrites iddo-- 102 00:04:57,365 --> 00:04:58,680 mae hyn yn yr un math o beth. 103 00:04:58,680 --> 00:05:00,380 104 00:05:00,380 --> 00:05:03,550 Dylai unrhyw un gennych unrhyw gwestiynau ar jyst outputting i ffeil? 105 00:05:03,550 --> 00:05:05,051 106 00:05:05,051 --> 00:05:05,550 Awesome. 107 00:05:05,550 --> 00:05:11,440 >> Felly mae'n amlwg, os ydych yn gwrthdroi'r arrow cyfeiriad, gall ei wneud mewnbwn. 108 00:05:11,440 --> 00:05:13,090 109 00:05:13,090 --> 00:05:19,960 Felly, pan fyddwch guys oedd fel Cesar neu Visioneer 110 00:05:19,960 --> 00:05:23,195 a oedd gennych i gyfrannu rhywbeth, oedd gennych ymresymiad llinell orchymyn 111 00:05:23,195 --> 00:05:24,960 sydd mewn gwirionedd yn mewnbwn iddo. 112 00:05:24,960 --> 00:05:27,410 Mae hon yn ffordd arall i wneud hynny. 113 00:05:27,410 --> 00:05:30,520 Felly, yn lle aros ar gyfer gorchymyn 'n barod, 114 00:05:30,520 --> 00:05:33,800 fel pan fyddwch yn gofyn am eich neges yn Cesar neu Visioneer, 115 00:05:33,800 --> 00:05:36,490 os oedd gennych ffeil testun bod gan eich neges, 116 00:05:36,490 --> 00:05:38,280 fe allech chi jyst deipio i mewn i hynny. 117 00:05:38,280 --> 00:05:44,930 >> Felly, os yw hyn yn debyg dot slaes Caesar 3 yn llai na thestun mewnbwn saeth, a oedd yn 118 00:05:44,930 --> 00:05:47,240 yw eich neges, bod Byddai rhedeg jyst ddirwya. 119 00:05:47,240 --> 00:05:51,310 120 00:05:51,310 --> 00:05:54,020 Pan fydd eich rhaglen Cesar mewn gwirionedd gofyn am fewnbwn gan y defnyddiwr, 121 00:05:54,020 --> 00:05:57,360 byddai'n barod oherwydd rydych wedi ei deipio yn y ffeil hon. 122 00:05:57,360 --> 00:05:58,830 Dyna dim ond ffordd arall. 123 00:05:58,830 --> 00:06:02,445 Dim ond gefn y output-- dim ond mewnbwn ar gyfer eich data. 124 00:06:02,445 --> 00:06:04,570 125 00:06:04,570 --> 00:06:06,680 >> Ac yna yr un olaf ei bibell. 126 00:06:06,680 --> 00:06:07,780 Felly mae 'n bert oera hwn yn un o. 127 00:06:07,780 --> 00:06:09,890 Oherwydd ei fod yn caniatáu i chi cymryd y allbwn o un 128 00:06:09,890 --> 00:06:13,695 rhaglen ac yn ei roi fel mewnbwn i raglen arall. 129 00:06:13,695 --> 00:06:15,250 130 00:06:15,250 --> 00:06:18,630 Nid wyf yn gwybod os oes unrhyw un ohonoch chwarae gyda'r DECIPHer 131 00:06:18,630 --> 00:06:20,590 a allai fod CS50 gael roddwyd i chi, ond byddai 132 00:06:20,590 --> 00:06:27,380 caniatáu i chi gymryd rhywfaint o sampl ffeilio, teipiwch i mewn i'ch amgryptio, 133 00:06:27,380 --> 00:06:30,350 ac yna oddi yno teipiwch hynny yn eich dadgriptio 134 00:06:30,350 --> 00:06:32,470 i wneud yn siŵr ei fod yn troi allan yr un fath. 135 00:06:32,470 --> 00:06:34,050 Felly mae'n fath o fel dolen tair-ffordd. 136 00:06:34,050 --> 00:06:38,400 137 00:06:38,400 --> 00:06:39,423 Ewch amdani. 138 00:06:39,423 --> 00:06:41,785 >> GYNULLEIDFA: Os bydd rhaglen Mae mewnbynnau lluosog, 139 00:06:41,785 --> 00:06:47,646 a oes ffordd i ddweud iddo pa fewnbwn i ddefnyddio'r ffeil testun neu mae'r allbwn ar gyfer? 140 00:06:47,646 --> 00:06:49,325 >> SIARADWR 1: Mae ganddo mewnbynnau lluosog. 141 00:06:49,325 --> 00:06:52,190 142 00:06:52,190 --> 00:07:00,430 Beth bynnag ffeilio'ch input-- pan fydd 'i' yn gofyn am fewnbwn y tro cyntaf, 'i' 143 00:07:00,430 --> 00:07:03,240 yn mynd i gymryd yn ganiataol, yr wyf yn meddwl, 'i' mynd i'r bibell yn y ffeil gyfan. 144 00:07:03,240 --> 00:07:03,979 145 00:07:03,979 --> 00:07:07,145 Felly, os oes gennych mewnbynnau lluosog, rydych yn yn mynd i gael eu pibellau mewn ffeiliau lluosog. 146 00:07:07,145 --> 00:07:08,190 147 00:07:08,190 --> 00:07:12,390 Felly, os ydych yn gofyn am negeseuon dair gwaith yn eich cod, 148 00:07:12,390 --> 00:07:15,230 ydych yn mynd i gael ei roi mewn tair ffeil gwahanol. 149 00:07:15,230 --> 00:07:15,980 Ac mae'n mynd crazy. 150 00:07:15,980 --> 00:07:18,188 Ac ni ddylai rhaid i chi poeni am hynny ar hyn o bryd. 151 00:07:18,188 --> 00:07:19,150 Ond dyna yw'r syniad. 152 00:07:19,150 --> 00:07:20,680 153 00:07:20,680 --> 00:07:26,822 >> Felly yeah, pibell yn allbwn yn unig o un rhaglen yn defnyddio mewnbwn i'r llall. 154 00:07:26,822 --> 00:07:27,665 Mae pawb yn dda yno? 155 00:07:27,665 --> 00:07:28,565 156 00:07:28,565 --> 00:07:29,065 Cool. 157 00:07:29,065 --> 00:07:30,170 158 00:07:30,170 --> 00:07:30,932 OK. 159 00:07:30,932 --> 00:07:32,890 Mae'n debyg na fydd yn rhaid i i wneud gormod ag ef. 160 00:07:32,890 --> 00:07:35,670 Ond dylech ddeall ffyrdd y gallwch ddefnyddio hwn. 161 00:07:35,670 --> 00:07:38,910 Ac mae rhai achosion sy'n efallai y byddwch eisiau ei ddefnyddio. 162 00:07:38,910 --> 00:07:44,590 >> Felly ffeil I / O-- wyf yn gwybod beth rydych chi'n saying-- maen nhw wedi arfer darllen o 163 00:07:44,590 --> 00:07:50,500 ac ysgrifennu at ein sgrîn yno, sydd yn safonol mewn ac yn safonol allan. 164 00:07:50,500 --> 00:07:54,370 A dyna beth yr ydych guys wedi bod wneud ers dechrau'r dosbarth yma. 165 00:07:54,370 --> 00:07:58,220 Ond gallwch hefyd ddarllen ac ysgrifennu ffeiliau, sef pob ffeil I / O-- felly ffeil mewnbwn, 166 00:07:58,220 --> 00:07:59,850 allbwn yw'r cyfan mae'n ei gynrychioli. 167 00:07:59,850 --> 00:08:00,930 168 00:08:00,930 --> 00:08:04,360 Felly, mae hyn yn y bôn yn golygu bod gallwch storio eich data yn awr. 169 00:08:04,360 --> 00:08:08,460 >> Pan fyddwch yn jyst hargraffu i'r sgrin, mae'n mynd, dde y bôn? 170 00:08:08,460 --> 00:08:12,507 Cyn gynted ag y byddwch yn gwneud "Helo byd "a rhedeg" Helo byd " 171 00:08:12,507 --> 00:08:14,090 mae'n printiau "Helo byd" at y sgrin. 172 00:08:14,090 --> 00:08:16,370 Ond ni allwch chi wir yn ei wneud unrhyw beth ag ef oddi yno. 173 00:08:16,370 --> 00:08:18,950 Os ydych yn storio mewn testun file, yna yn sydyn 174 00:08:18,950 --> 00:08:22,789 mae gennych y data hwn mwyafswm y cewch chi i drin neu ei roi i mewn i ffeil, 175 00:08:22,789 --> 00:08:24,080 neu ei roi mewn rhaglen ddiweddarach. 176 00:08:24,080 --> 00:08:26,370 177 00:08:26,370 --> 00:08:29,290 Un o'r rhesymau pam rydym yn gwneud hyn yn unig 178 00:08:29,290 --> 00:08:31,560 fel ffordd i storio data ar gyfer defnydd nes ymlaen. 179 00:08:31,560 --> 00:08:34,790 180 00:08:34,790 --> 00:08:37,279 >> Mae gen i un neu ddau o gamau yma dim ond cerdded drwy safonol 181 00:08:37,279 --> 00:08:39,450 I / O. Mewn cam un, yr ydych Mae angen i greu geirda 182 00:08:39,450 --> 00:08:43,480 at y ffeil gyda phob capiau FFEIL ffeil seren. 183 00:08:43,480 --> 00:08:45,740 Felly mae hynny'n creu pwyntydd i ffeil. 184 00:08:45,740 --> 00:08:48,080 185 00:08:48,080 --> 00:08:49,650 Felly, yna rydych am ei agor. 186 00:08:49,650 --> 00:08:52,940 A ydych yn dweud, yn llythrennol, dim ond ffeil hafal fopen. 187 00:08:52,940 --> 00:08:57,400 Ac mae hyn yn mynd i ddychwelyd pwyntydd at y ffeil yr ydych newydd agor. 188 00:08:57,400 --> 00:08:59,610 189 00:08:59,610 --> 00:09:01,460 Gwelais un neu ddau o chi guys mewn oriau swyddfa. 190 00:09:01,460 --> 00:09:07,400 >> Ond un o'r pethau yw awgrymiadau remember-- 191 00:09:07,400 --> 00:09:10,409 Gall fod rhywfaint o gyfeiriad neu null, dde? 192 00:09:10,409 --> 00:09:12,700 Os ydym byth yn cael achos lle Gall rhywbeth ddychwelyd null, 193 00:09:12,700 --> 00:09:14,990 beth sydd yn rhaid i ni ei wneud cyn i ni byth yn ei ddefnyddio? 194 00:09:14,990 --> 00:09:16,220 195 00:09:16,220 --> 00:09:19,000 Mae angen i ni wirio a yw 'i' null ai peidio, dde? 196 00:09:19,000 --> 00:09:23,600 Oherwydd y bydd rhai ohonoch wedi cael y mater lle beth bynnag gwrthrych 197 00:09:23,600 --> 00:09:26,110 yn cael ei dychwelyd mewn breakout yn null. 198 00:09:26,110 --> 00:09:28,170 Rydych yn ceisio berfformio rhywfaint o swyddogaeth arno. 199 00:09:28,170 --> 00:09:29,770 Ac mae eich safle cyfrifiadur ffawtiau. 200 00:09:29,770 --> 00:09:30,725 Hawl? 201 00:09:30,725 --> 00:09:33,640 Rwy'n siwr un neu ddau ohonoch efallai eu bod wedi y mater hwnnw. 202 00:09:33,640 --> 00:09:38,890 >> Felly, gyda fopen, fopen naill ai'n dychwelyd pwyntydd i'r ffeil, 203 00:09:38,890 --> 00:09:41,200 neu os oes rhywbeth yn mynd o'i le, mae'n mynd i ddychwelyd null. 204 00:09:41,200 --> 00:09:45,980 Felly, bob amser angen i chi wirio nad yw wedi dychwelyd null 205 00:09:45,980 --> 00:09:47,880 cyn i chi geisio gwneud unrhyw beth arall. 206 00:09:47,880 --> 00:09:49,110 207 00:09:49,110 --> 00:09:51,974 Mae hwn yn debyg i batrwm safonol eich bod yn mynd i angen yma. 208 00:09:51,974 --> 00:09:54,390 Os oes byth siawns y Gallai rhywbeth ddychwelyd null, 209 00:09:54,390 --> 00:09:56,590 gwirio i wneud yn siŵr ei fod Nid yw cyn i chi fynd ymlaen. 210 00:09:56,590 --> 00:09:58,911 Fel arall, rydych yn mynd i gael namau safle hyfryd. 211 00:09:58,911 --> 00:10:00,410 Ac nid oes neb yn hoffi i ddelio â hynny. 212 00:10:00,410 --> 00:10:03,180 213 00:10:03,180 --> 00:10:06,410 >> Felly, wrth i ni weld yma, y ​​ddadl gyntaf yn unig y llwybr i'r ffeil. 214 00:10:06,410 --> 00:10:09,380 Os na fydd y ffeil yn bodoli, mae'n mynd i greu'r ffeil. 215 00:10:09,380 --> 00:10:10,713 A 'i' jyst yn mynd i fod yn wag. 216 00:10:10,713 --> 00:10:10,789 217 00:10:10,789 --> 00:10:13,080 Ac yna yr ail ddadl yw'r modd a 'ch angen. 218 00:10:13,080 --> 00:10:14,610 A ydym am ddarllen o'r ffeil hon? 219 00:10:14,610 --> 00:10:15,560 Ydych chi eisiau ysgrifennu ohono? 220 00:10:15,560 --> 00:10:16,476 Ydych chi eisiau atodi? 221 00:10:16,476 --> 00:10:17,600 222 00:10:17,600 --> 00:10:20,670 Felly, mewn gwirionedd yn hyn yr wyf newydd said-- os nad yw'r ffeil yn bodoli 223 00:10:20,670 --> 00:10:23,400 ac yr ydych yn ceisio ei ddarllen o iddo, mae'n mynd i daflu gwall. 224 00:10:23,400 --> 00:10:26,890 Os yw'r ffeil name-- hoffi os Nid file.text yn bodoli eto 225 00:10:26,890 --> 00:10:29,250 a ydych am ysgrifennu iddo, bydd yn creu 226 00:10:29,250 --> 00:10:33,110 ffeil gwag o'r enw file.text i chi. 227 00:10:33,110 --> 00:10:36,612 Ac os ydych chi am i atodi, dylech wneud yr un peth. 228 00:10:36,612 --> 00:10:38,081 A yw hynny'n gwneud synnwyr? 229 00:10:38,081 --> 00:10:40,580 Os ydych yn ceisio i ddarllen o ffeil nad yw'n bodoli eto, 230 00:10:40,580 --> 00:10:41,590 bydd yn taflu gwall. 231 00:10:41,590 --> 00:10:44,340 Fel arall, bydd yn creu y ffeil i chi wneud yr hyn rydych am iddo. 232 00:10:44,340 --> 00:10:45,970 233 00:10:45,970 --> 00:10:46,470 Cool. 234 00:10:46,470 --> 00:10:47,510 235 00:10:47,510 --> 00:10:48,880 Nawr gallwn ddarllen o'r ffeil. 236 00:10:48,880 --> 00:10:52,570 Ac mae hyn yn unig fath o fynd drwy'r gwahanol swyddogaethau 237 00:10:52,570 --> 00:10:58,980 sydd gennym ar gyfer ffeil I / O. Bydd hyn yn angenrheidiol yn y pset yr wythnos hon, 238 00:10:58,980 --> 00:11:00,505 os cofiaf yn iawn. 239 00:11:00,505 --> 00:11:02,880 Ie, yn gwbl bydd yn angenrheidiol mewn pset yr wythnos hon. 240 00:11:02,880 --> 00:11:04,260 241 00:11:04,260 --> 00:11:07,010 Felly fgetc yn dychwelyd y cymeriad nesaf. 242 00:11:07,010 --> 00:11:08,350 243 00:11:08,350 --> 00:11:10,300 fgets jyst yn dychwelyd llinell o destun. 244 00:11:10,300 --> 00:11:11,790 245 00:11:11,790 --> 00:11:14,610 Bydd yn dychwelyd unrhyw beth hyd at llinell newydd, a bydd yn torri. 246 00:11:14,610 --> 00:11:15,950 247 00:11:15,950 --> 00:11:18,700 Felly fread darllen penodol nifer y bytes a lleoedd yn eu 248 00:11:18,700 --> 00:11:20,700 i mewn arae, a oedd yn yn rhywbeth yr ydych efallai 249 00:11:20,700 --> 00:11:25,485 am ei wneud ag ad-size-- Gallai fod yn ddefnyddiol. 250 00:11:25,485 --> 00:11:26,550 251 00:11:26,550 --> 00:11:29,290 >> Faint o bobl sydd wedi darllen y fanyleb pset, gyda llaw? 252 00:11:29,290 --> 00:11:30,980 253 00:11:30,980 --> 00:11:32,261 OK. 254 00:11:32,261 --> 00:11:32,760 [Anghlywadwy] 255 00:11:32,760 --> 00:11:35,380 256 00:11:35,380 --> 00:11:36,580 >> SIARADWR 1: OK. 257 00:11:36,580 --> 00:11:37,530 Mae pob hawl. 258 00:11:37,530 --> 00:11:41,940 Yn bendant ddarllen that-- ei fod yn pset hwyl. 259 00:11:41,940 --> 00:11:51,320 Byddwch yn cael i adennill cof dileu card-- wir yn gyffrous pan fydd yn gweithio. 260 00:11:51,320 --> 00:11:54,100 Ond yn sicr, yn dechrau darllen hynny. 261 00:11:54,100 --> 00:11:56,280 Dewch i siarad â mi os ydych yn gennych gwestiynau am y peth. 262 00:11:56,280 --> 00:11:59,290 >> OK, fel yr oeddwn yn dweud, fread darllen nifer penodol o bytes. 263 00:11:59,290 --> 00:12:01,340 264 00:12:01,340 --> 00:12:03,590 Dyna ryw nifer mympwyol eich bod yn mynd i osod. 265 00:12:03,590 --> 00:12:05,990 266 00:12:05,990 --> 00:12:08,260 Ac yna fseek unig symudiadau i swydd benodol. 267 00:12:08,260 --> 00:12:11,150 Felly, efallai nad ydych yn poeni am y 10 bytes nesaf. 268 00:12:11,150 --> 00:12:12,880 'Ch jyst am hepgor ymlaen. 269 00:12:12,880 --> 00:12:14,030 Dydych chi ddim yn poeni am hynny. 270 00:12:14,030 --> 00:12:16,280 Byddwch am ddarllen dechrau am 11 beit. 271 00:12:16,280 --> 00:12:18,252 fseek yn caniatáu i chi wneud hynny. 272 00:12:18,252 --> 00:12:20,710 Felly, mae'n eich galluogi i fod yn ddetholus am yr hyn yr ydych yn darllen. 273 00:12:20,710 --> 00:12:25,880 Gan fod fgetc, fgets, a fread darllen o le penodol yn y ffeil. 274 00:12:25,880 --> 00:12:27,260 275 00:12:27,260 --> 00:12:35,090 >> Un ffordd o feddwl am hyn yw os yw hyn yw ein ffeil, pan fyddwch yn agor iddo yn gyntaf, 276 00:12:35,090 --> 00:12:41,140 mae gennych y sefyllfa hon yn y ffeil sy'n dechrau ar y dechrau. 277 00:12:41,140 --> 00:12:45,040 Pryd bynnag y byddwch yn ffonio fgetc, fgetf, neu fread, 278 00:12:45,040 --> 00:12:48,875 mae'n mynd i ddechrau o'r sefyllfa hon marciwr. 279 00:12:48,875 --> 00:12:51,340 280 00:12:51,340 --> 00:12:55,245 Gadewch i ni ddweud eich bod am ddarllen darn hwn o gof dros yma. 281 00:12:55,245 --> 00:12:56,300 282 00:12:56,300 --> 00:12:57,960 Nid ydych yn gallu ffonio. 283 00:12:57,960 --> 00:13:02,430 Mae'n rhaid i chi chwilio am dros yma ac yna darllenwch oddi yno 284 00:13:02,430 --> 00:13:06,540 neu ddarllen, yn cael, neu getc, yn dibynnu ar yr hyn yr ydych ei eisiau. 285 00:13:06,540 --> 00:13:09,310 Felly ceisio dim ond yn caniatáu i chi sgip dogn o gof. 286 00:13:09,310 --> 00:13:11,590 A dyna yw'r unig ffordd y gallwch hepgor pethau 287 00:13:11,590 --> 00:13:14,012 heb eu darllen i mewn i'ch byffer. 288 00:13:14,012 --> 00:13:15,470 A yw hynny'n gwneud synnwyr i bawb? 289 00:13:15,470 --> 00:13:21,110 290 00:13:21,110 --> 00:13:24,780 >> Yn amlwg, mae 'na llawer o Yma-- cyfochrog 291 00:13:24,780 --> 00:13:27,780 ailgyfeirio ein cynnyrch, neu fewnbwn, eich bod wedi darllen ac yn ysgrifennu. 292 00:13:27,780 --> 00:13:31,800 Felly fputc jyst ysgrifennu cymeriad i mewn i'r ffeil. 293 00:13:31,800 --> 00:13:33,655 fputs yn ysgrifennu llinell. 294 00:13:33,655 --> 00:13:35,030 295 00:13:35,030 --> 00:13:37,420 Fprintf argraffu allbwn fformatio. 296 00:13:37,420 --> 00:13:41,190 Felly os oes gennych tabs, neu le, neu whatnot. 297 00:13:41,190 --> 00:13:44,180 Ac yna fwrite ysgrifennu rhai amrywiaeth o bytes i ffeil. 298 00:13:44,180 --> 00:13:48,860 Felly mae hwn yn yr un ffordd fwrite ac fread yn cyfateb 299 00:13:48,860 --> 00:13:57,550 fgets opposites--, fputs, a Yna llawer fputc a fgetc-- 300 00:13:57,550 --> 00:14:00,710 pethau o gwallgof, yn gyflym. 301 00:14:00,710 --> 00:14:05,300 >> Dim ond yn fath o gadw handy-- hwn bydd gennych wahanol adegau 302 00:14:05,300 --> 00:14:08,680 lle efallai eich bod jyst eisiau un cymeriad ar y tro. 303 00:14:08,680 --> 00:14:09,890 Efallai eich bod am linell cyfan. 304 00:14:09,890 --> 00:14:14,320 Gyda'ch pset-- geiriadur sydd mewn dau psets, 305 00:14:14,320 --> 00:14:19,690 Credaf, rydym yn rhoi i chi yn ei gyfanrwydd geiriadur mewn fformat testun 306 00:14:19,690 --> 00:14:22,252 sydd bob gair gwahanu gan y llinell. 307 00:14:22,252 --> 00:14:24,210 Felly, os ydych yn awyddus i ddarllen mewn un gair ar y tro, 308 00:14:24,210 --> 00:14:31,769 hyn y gallech ei defnyddio os ydych yn darllen ac maen nhw i gyd gwahanu ar linellau newydd, 309 00:14:31,769 --> 00:14:33,310 a 'ch jyst eisiau un gair ar y tro? 310 00:14:33,310 --> 00:14:35,320 311 00:14:35,320 --> 00:14:36,040 >> GYNULLEIDFA: Fgets 312 00:14:36,040 --> 00:14:36,748 >> SIARADWR 1: Iawn. 313 00:14:36,748 --> 00:14:39,960 Fgets-- oherwydd bod hynny yn dychwelyd beth bynnag sydd ar un llinell. 314 00:14:39,960 --> 00:14:42,750 Ac os bob gair yw ei llinell ei hun, gallwn ddefnyddio fgets. 315 00:14:42,750 --> 00:14:44,511 316 00:14:44,511 --> 00:14:45,010 Cool. 317 00:14:45,010 --> 00:14:47,290 A yw hynny'n gwneud synnwyr, mae pawb? 318 00:14:47,290 --> 00:14:48,020 Cool? 319 00:14:48,020 --> 00:14:50,020 Yeah, rydym yn mynd i gael i y rhan hwyl gyda awgrymiadau 320 00:14:50,020 --> 00:14:51,728 yn fuan iawn, lle rydych yn mynd i wneud ychydig o mathemateg. 321 00:14:51,728 --> 00:14:52,776 A bydd yn cael ei wych. 322 00:14:52,776 --> 00:14:55,690 323 00:14:55,690 --> 00:14:57,740 >> Diwethaf step-- cau eich ffeil. 324 00:14:57,740 --> 00:15:01,090 Gyda chymaint o bethau yma, un o'n patrymau 325 00:15:01,090 --> 00:15:03,550 yw os gellir ei ddychwelyd null, gwirio am null. 326 00:15:03,550 --> 00:15:06,160 Os byddwch yn agor rhywbeth, byddech yn cau yn well. 327 00:15:06,160 --> 00:15:10,419 Iawn, felly nid ydych chi'n ei wneud nes eich bod ei wneud oni bai eich bod wedi cau ei. 328 00:15:10,419 --> 00:15:12,585 Math o fel nad yw'n drosodd nes bod y wraig braster yn canu. 329 00:15:12,585 --> 00:15:14,130 Dyna fel cau eich ffeil. 330 00:15:14,130 --> 00:15:16,860 331 00:15:16,860 --> 00:15:19,190 Fel y mae'n dweud yma, dim ond i ailadrodd, bob amser 332 00:15:19,190 --> 00:15:21,750 agor eich ffeil cyn eich bod yn darllen neu ysgrifennu ato. 333 00:15:21,750 --> 00:15:24,450 A bob amser yn cau os ydych wedi agor ei. 334 00:15:24,450 --> 00:15:25,460 Mae pob hawl? 335 00:15:25,460 --> 00:15:25,960 Cool. 336 00:15:25,960 --> 00:15:26,835 >> Felly dyma enghraifft. 337 00:15:26,835 --> 00:15:29,250 338 00:15:29,250 --> 00:15:34,330 Felly tiny-- Nid wyf yn gwybod os ydych yn Gall guys weld bod yn dda iawn. 339 00:15:34,330 --> 00:15:36,805 Os mai dim ond gallem gynyddu y disgleirdeb rhywsut. 340 00:15:36,805 --> 00:15:40,430 341 00:15:40,430 --> 00:15:45,030 Gadewch i mi mewn gwirionedd yn gwneud hyn os gallaf. 342 00:15:45,030 --> 00:15:48,020 343 00:15:48,020 --> 00:15:51,470 OK, ni allwch chi guys 'n sylweddol gweld hynny o gwbl, gallwch chi? 344 00:15:51,470 --> 00:15:52,905 OK, rydym yn mynd i wneud hyn, ac yna. 345 00:15:52,905 --> 00:16:35,094 346 00:16:35,094 --> 00:16:35,594 [Anghlywadwy] 347 00:16:35,594 --> 00:16:56,670 348 00:16:56,670 --> 00:16:58,605 >> Rwy'n cymryd yn ganiataol mae hyn yn llawer gwell i'w weld. 349 00:16:58,605 --> 00:17:17,330 350 00:17:17,330 --> 00:17:19,455 A all unrhyw un weld lle mae fy Aeth llygoden yw'r cwestiwn? 351 00:17:19,455 --> 00:17:22,837 Ah, yna mae'n yw-- beth trafferth! 352 00:17:22,837 --> 00:17:48,910 353 00:17:48,910 --> 00:17:49,520 >> OK. 354 00:17:49,520 --> 00:17:53,845 Yn y bôn, dylech guys cael y math o syniad o'r hyn y mae hyn yn ei wneud. 355 00:17:53,845 --> 00:17:56,740 356 00:17:56,740 --> 00:17:57,600 Dyw hi ddim yn berffaith. 357 00:17:57,600 --> 00:17:58,851 358 00:17:58,851 --> 00:18:02,425 Ond byddai'n well gen i egluro na gwario mwy o amser yn ceisio fformat yn iawn. 359 00:18:02,425 --> 00:18:03,610 360 00:18:03,610 --> 00:18:07,280 Yn y bôn, fel y gwelwch yma, rydym yn dechrau gyda agor ffeiliau. 361 00:18:07,280 --> 00:18:09,620 Ac mae gennym rai file cronfa ddata yr ydym yn 362 00:18:09,620 --> 00:18:12,300 agor sy'n dweud ei fod yn ein myfyrwyr. 363 00:18:12,300 --> 00:18:14,020 Ac rydym yn mynd i ysgrifennu ato. 364 00:18:14,020 --> 00:18:15,060 365 00:18:15,060 --> 00:18:17,720 Felly, wrth gwrs, yn dychwelyd null. 366 00:18:17,720 --> 00:18:19,650 Felly, mae'n rhaid i ni wirio am null. 367 00:18:19,650 --> 00:18:22,930 Ac yna, os nad yw'n null, rydym yn mynd drwyddo. 368 00:18:22,930 --> 00:18:25,660 Ac fel y gwelwch, rydym yn dolennu trwy fan hyn. 369 00:18:25,660 --> 00:18:26,960 Mae myfyrwyr. 370 00:18:26,960 --> 00:18:30,520 Mae myfyrwyr yn hash a ddiffinnir fel tri. 371 00:18:30,520 --> 00:18:34,060 A beth rydym yn ei wneud yw ein bod yn argraffu ar y ffeil, dde? 372 00:18:34,060 --> 00:18:36,975 Felly, beth ydym yn argraffu allan i'n ffeil? 373 00:18:36,975 --> 00:18:47,040 374 00:18:47,040 --> 00:18:48,906 >> GYNULLEIDFA: Y sgoriau sydd yn y casgliad? 375 00:18:48,906 --> 00:18:49,680 >> SIARADWR 1: Yeah. 376 00:18:49,680 --> 00:18:50,980 Mae'r sgorau sydd yn y array-- yn union. 377 00:18:50,980 --> 00:18:53,050 Felly rydym yn agor y ffeil gronfa ddata, a oedd yn 378 00:18:53,050 --> 00:18:56,040 Rwy'n cymryd yn ganiataol yn rhyw fath o gronfa ddata graddau. 379 00:18:56,040 --> 00:19:01,100 Ac rydym yn unig yn argraffu allan y ugeiniau o bob myfyriwr hwnnw ffeil. 380 00:19:01,100 --> 00:19:02,140 Cool? 381 00:19:02,140 --> 00:19:02,640 Da. 382 00:19:02,640 --> 00:19:03,811 383 00:19:03,811 --> 00:19:04,310 Awesome. 384 00:19:04,310 --> 00:19:05,100 OK. 385 00:19:05,100 --> 00:19:06,950 Gadewch i ni fynd yn ôl i'r canlynol-- 386 00:19:06,950 --> 00:19:08,646 >> GYNULLEIDFA: Mae gennyf gwestiwn cyflym. 387 00:19:08,646 --> 00:19:11,570 A yw'r printf nid yn y am ddolen? 388 00:19:11,570 --> 00:19:12,870 Dyna dim ond yn y pe ddolen? 389 00:19:12,870 --> 00:19:14,370 SIARADWR 1: Na, 'i' yn y am ddolen. 390 00:19:14,370 --> 00:19:16,150 391 00:19:16,150 --> 00:19:18,810 Ni allaf weld fy llygoden yn dda iawn i fyny yma. 392 00:19:18,810 --> 00:19:21,359 Felly, dw i'n cael trafferth i fformat sy'n briodol. 393 00:19:21,359 --> 00:19:22,525 Dylai hyn braced gael ei mynd. 394 00:19:22,525 --> 00:19:23,610 395 00:19:23,610 --> 00:19:25,130 Dylai fod yn i lawr yma. 396 00:19:25,130 --> 00:19:26,605 Mae hyn yn beth sydd yn eich am ddolen. 397 00:19:26,605 --> 00:20:10,680 398 00:20:10,680 --> 00:20:11,180 Yno. 399 00:20:11,180 --> 00:20:12,160 Nawr mae'n eithaf. 400 00:20:12,160 --> 00:20:16,720 Felly dyna sut y dylai be-- eithrio am y braced diwethaf fy mod yn gwrthod. 401 00:20:16,720 --> 00:20:17,220 OK. 402 00:20:17,220 --> 00:20:19,491 A yw hynny'n gwneud synnwyr i bawb? 403 00:20:19,491 --> 00:20:19,990 OK. 404 00:20:19,990 --> 00:20:23,750 Rydym yn mynd i symud ymlaen at y peth nesaf then-- 405 00:20:23,750 --> 00:20:26,180 sydd, mewn gwirionedd, rydych yn mynd y bydd angen i weld y cod. 406 00:20:26,180 --> 00:20:28,370 Felly, Im 'jyst yn mynd i copïo bod dros ar hyn o bryd. 407 00:20:28,370 --> 00:20:31,500 408 00:20:31,500 --> 00:20:32,000 OK. 409 00:20:32,000 --> 00:20:35,110 Felly, dw i'n mynd i ddangos i chi guys cod hwn. 410 00:20:35,110 --> 00:20:38,240 Ac yr wyf am i chi geisio ffigur yr hyn mae'n fod i'w wneud. 411 00:20:38,240 --> 00:20:49,740 412 00:20:49,740 --> 00:20:52,480 >> Felly, o ystyried that-- gymryd munud neu ddau. 413 00:20:52,480 --> 00:20:54,440 Ceisiwch a chyfrif i maes beth sy'n digwydd yma. 414 00:20:54,440 --> 00:21:58,840 415 00:21:58,840 --> 00:21:59,570 >> Unrhyw syniadau? 416 00:21:59,570 --> 00:22:08,180 417 00:22:08,180 --> 00:22:12,470 >> Rydym yn gwybod fod gennym o leiaf ddau dadleuon yn y llinell orchymyn, dde? 418 00:22:12,470 --> 00:22:16,270 Rwy'n cymryd yn ganiataol un ohonynt yn mynd i fod bod [Anghlywadwy] o'n rhaglen yw 419 00:22:16,270 --> 00:22:17,530 ac yna rywbeth arall. 420 00:22:17,530 --> 00:22:19,980 Oherwydd os [Anghlywadwy] yn llai na dau, rydym yn gweiddi arnynt. 421 00:22:19,980 --> 00:22:21,140 Hawl? 422 00:22:21,140 --> 00:22:25,300 Ac oddi wrth y defnydd, mae'n edrych yn debyg mae'n mynd i fod yn rhyw fath o ffeil. 423 00:22:25,300 --> 00:22:26,260 Yr ydym i gyd yn cytuno â hynny? 424 00:22:26,260 --> 00:22:29,110 425 00:22:29,110 --> 00:22:31,570 Felly nawr, beth yw'r ddolen yn ei wneud? 426 00:22:31,570 --> 00:22:32,570 Beth sy'n ei fod yn mynd drwy? 427 00:22:32,570 --> 00:22:35,000 428 00:22:35,000 --> 00:22:36,449 >> GYNULLEIDFA: Mae pob un o'r ffeiliau. 429 00:22:36,449 --> 00:22:37,240 SIARADWR 1: Yn union. 430 00:22:37,240 --> 00:22:39,650 Mae'n mynd drwy'r holl ffeiliau a rydym wedi mewnbwn yno. 431 00:22:39,650 --> 00:22:40,720 432 00:22:40,720 --> 00:22:46,040 Felly, ar gyfer pob ffeil, 'i' agor i fyny ychydig llinyn yno. 433 00:22:46,040 --> 00:22:47,560 Mae wedi agor y ffeil. 434 00:22:47,560 --> 00:22:48,060 Hawl? 435 00:22:48,060 --> 00:22:49,140 436 00:22:49,140 --> 00:22:52,380 Ac mae'n darllen ohono. 437 00:22:52,380 --> 00:22:53,420 438 00:22:53,420 --> 00:22:55,540 Wrth gwrs, gwirio os yw'n null. 439 00:22:55,540 --> 00:22:57,220 Ac yna mae'n argraffu. 440 00:22:57,220 --> 00:23:01,460 Os yw'n null, 'i' jyst dweud wrthym nad yw hynny'n ffeil sy'n bodoli. 441 00:23:01,460 --> 00:23:04,290 Gan fod yn cofio, gyda Darllenwch ein ffeil wedi i fodoli. 442 00:23:04,290 --> 00:23:04,810 Hawl? 443 00:23:04,810 --> 00:23:06,870 Gyda ysgrifennu a atodi, gallwch ei gael i ffwrdd ag ef. 444 00:23:06,870 --> 00:23:08,970 Ond gyda darllen, mae ein ffeil wedi i fodoli. 445 00:23:08,970 --> 00:23:10,430 446 00:23:10,430 --> 00:23:13,330 >> Ac yna, os yw'n bodoli, beth ydym yn ei wneud yma? 447 00:23:13,330 --> 00:23:14,810 448 00:23:14,810 --> 00:23:15,780 Gadewch i ni dim ond dechrau fan hyn. 449 00:23:15,780 --> 00:23:18,815 Beth ydyn nhw do-- gymeriad hon yn gyntaf. 450 00:23:18,815 --> 00:23:20,960 451 00:23:20,960 --> 00:23:21,790 Beth mae'n ei wneud? 452 00:23:21,790 --> 00:23:24,100 Mae'n cael un cymeriad, dde? 453 00:23:24,100 --> 00:23:25,400 Felly, beth mae hyn yn ei wneud? 454 00:23:25,400 --> 00:23:26,775 Mae wedi cael y cymeriad cyntaf. 455 00:23:26,775 --> 00:23:28,860 456 00:23:28,860 --> 00:23:30,200 Unrhyw un yn gwybod EOF? 457 00:23:30,200 --> 00:23:31,170 >> GYNULLEIDFA: Diwedd y ffeil? 458 00:23:31,170 --> 00:23:32,680 >> SIARADWR 1: Diwedd file-- union. 459 00:23:32,680 --> 00:23:35,310 Felly, mae'n mynd i fynd drwy y ffeil cyfan, dde? 460 00:23:35,310 --> 00:23:36,710 461 00:23:36,710 --> 00:23:40,780 Ac yna mae'n mynd i ddiweddaru erbyn cael pob cymeriad wedi hynny. 462 00:23:40,780 --> 00:23:41,565 Hawl? 463 00:23:41,565 --> 00:23:43,636 A beth sy'n ei wneud? 464 00:23:43,636 --> 00:23:44,760 GYNULLEIDFA: Rhoi hynny in-- 465 00:23:44,760 --> 00:23:46,741 466 00:23:46,741 --> 00:23:49,170 >> SIARADWR 1: Printiau Putchar at eich arbedwr sgrin. 467 00:23:49,170 --> 00:23:50,867 468 00:23:50,867 --> 00:23:51,950 [Anghlywadwy] cymeriad. 469 00:23:51,950 --> 00:23:54,300 Ac yna pan fydd yn [Anghlywadwy] bydd hyn yn cau'r ffeil. 470 00:23:54,300 --> 00:23:57,370 >> GYNULLEIDFA: Onid ydych yn angen [? arall? ?] 471 00:23:57,370 --> 00:23:59,005 >> SIARADWR 1: Ddim o reidrwydd. 472 00:23:59,005 --> 00:24:01,480 Hynny yw, ei fod yn fath o ymhlyg yn hyn. 473 00:24:01,480 --> 00:24:06,780 Oherwydd bod hyn yn dychwelyd, fodd bynnag, ar yr amod gan nad yw hyn yn dal hyn, eich bod yn iawn. 474 00:24:06,780 --> 00:24:07,940 475 00:24:07,940 --> 00:24:10,250 Yr wyf yn golygu ei fod yn fwy na thebyg yn dda ymarfer i wneud arall. 476 00:24:10,250 --> 00:24:15,755 Ond nid yw arall bob amser yn angenrheidiol yn enwedig 477 00:24:15,755 --> 00:24:17,610 os oes gennych rywbeth fel dychwelyd, a oedd 478 00:24:17,610 --> 00:24:20,640 yn golygu bod yn yr achos os bydd yn dal iddo, eich rhaglen yn mynd i roi diwedd 479 00:24:20,640 --> 00:24:21,850 a bydd yn byth yn mynd i hyn. 480 00:24:21,850 --> 00:24:23,030 481 00:24:23,030 --> 00:24:29,190 Ei fod yn fwy ar gyfer yr achos lle rydych yn Nid yw o reidrwydd yn dychwelyd rhywbeth. 482 00:24:29,190 --> 00:24:31,370 Oherwydd os nad oedd hyn yn dychwelyd unrhyw beth, 483 00:24:31,370 --> 00:24:34,430 byddai'n golygu bod os yw hyn yn wir, byddai gweddill hyn yn dal i redeg. 484 00:24:34,430 --> 00:24:36,138 Ac yn yr achos hwnnw, byddwch yn Byddai eisiau ffug. 485 00:24:36,138 --> 00:24:38,240 Os yw'n dychwelyd, ac yn dod i ben eich rhaglen, 486 00:24:38,240 --> 00:24:41,960 Nid yw arall yn angenrheidiol i gyd yr amser, yn dibynnu ar gyd-destun. 487 00:24:41,960 --> 00:24:43,084 488 00:24:43,084 --> 00:24:44,375 Jacob, oedd gennych chi gwestiwn? 489 00:24:44,375 --> 00:24:46,100 GYNULLEIDFA: Yeah. 490 00:24:46,100 --> 00:24:49,300 Felly, mae fgetc gael y cymeriad nesaf? 491 00:24:49,300 --> 00:24:50,734 Sut mae'r cymeriad yn cynyddu? 492 00:24:50,734 --> 00:24:51,400 SIARADWR 1: Yeah. 493 00:24:51,400 --> 00:24:52,774 Felly fgetc yn cael y cymeriad nesaf. 494 00:24:52,774 --> 00:24:54,140 495 00:24:54,140 --> 00:24:56,866 Gallwch chi feddwl am y peth fel C ++ mewn ystyr. 496 00:24:56,866 --> 00:24:58,350 >> GYNULLEIDFA: Felly beth oedd EOF? 497 00:24:58,350 --> 00:25:00,877 >> SIARADWR 1: EOF yw diwedd y ffeil. 498 00:25:00,877 --> 00:25:03,960 'I' jyst marciwr sy'n gadael i chi wybod eich bod chi ar ddiwedd eich ffeil. 499 00:25:03,960 --> 00:25:06,742 Felly, mae hyn yn mynd i argraffu at eich safon allan. 500 00:25:06,742 --> 00:25:08,950 Ac yna mae'n mynd i gau y ffeil pan mae'n ei wneud. 501 00:25:08,950 --> 00:25:10,700 Ac yna gadewch i ni fynd i y ffeil nesaf, dde? 502 00:25:10,700 --> 00:25:12,660 Felly ar y cyfan, beth mae'r rhaglen hon yn ei wneud? 503 00:25:12,660 --> 00:25:15,402 504 00:25:15,402 --> 00:25:16,090 >> [Anghlywadwy] 505 00:25:16,090 --> 00:25:16,900 >> SIARADWR 1: Yeah. 506 00:25:16,900 --> 00:25:18,770 'I jyst yn argraffu allan popeth yno. 507 00:25:18,770 --> 00:25:23,270 Felly CAT os ydych chi guys wedi defnyddio erioed ac yna enw'r ryw file-- 508 00:25:23,270 --> 00:25:26,240 Nid wyf yn gwybod os oes unrhyw un gennych wneud erioed hynny ar eich terfynell. 509 00:25:26,240 --> 00:25:29,630 Ond os ydych chi erioed wedi defnyddio'r gorchymyn CAT-- C-A-T-- 510 00:25:29,630 --> 00:25:31,880 ac yna beth bynnag ffeil rhaid i chi ei there-- 511 00:25:31,880 --> 00:25:37,260 argraffu allan at eich terfynell, sef Gall fod yn super 'n hylaw ar gyfer rhai pethau. 512 00:25:37,260 --> 00:25:38,746 Rwy'n ei ddefnyddio llawer. 513 00:25:38,746 --> 00:25:40,120 A yw hynny'n gwneud synnwyr i bawb? 514 00:25:40,120 --> 00:25:41,480 515 00:25:41,480 --> 00:25:42,100 Cool? 516 00:25:42,100 --> 00:25:46,530 >> OK fel bod eich tasg now-- naill ai trwy eich hun neu gyda'r bobl o amgylch you-- 517 00:25:46,530 --> 00:25:54,930 ydy at jyst ysgrifennu rhaglen syml a fydd yn unig yn ysgrifennu "Helo, byd!" 518 00:25:54,930 --> 00:25:56,255 allan i ffeil. 519 00:25:56,255 --> 00:26:00,215 >> [Anghlywadwy] 520 00:26:00,215 --> 00:26:56,210 521 00:26:56,210 --> 00:26:57,040 >> [Anghlywadwy] 522 00:26:57,040 --> 00:26:59,248 >> SIARADWR 1: Roeddwn yn hoffi, gwnaeth Rwy'n gwneud hynny yr wythnos diwethaf yn wael? 523 00:26:59,248 --> 00:27:00,201 524 00:27:00,201 --> 00:27:01,492 Doeddwn i ddim yn meddwl ei fod mor ddrwg. 525 00:27:01,492 --> 00:27:02,479 526 00:27:02,479 --> 00:27:03,520 Rwy'n falch eich bod i gyd yma. 527 00:27:03,520 --> 00:27:04,655 Mae'n wir yn gwneud i mi yn hapus. 528 00:27:04,655 --> 00:27:07,565 529 00:27:07,565 --> 00:27:10,160 Rwy'n ferch o bleserau syml. 530 00:27:10,160 --> 00:27:11,688 Fi jyst yn hoffi pan fydd fy adran yn bresennol. 531 00:27:11,688 --> 00:27:13,830 532 00:27:13,830 --> 00:27:18,270 Felly, Im 'jyst yn cael cychwyn hwn ar gyfer ydych guys fel y gallwn cod gyda'n gilydd. 533 00:27:18,270 --> 00:27:22,290 Dydw i ddim yn hoffi rhoi unrhyw un ar y fan a'r lle, oni bai eich bod eisiau bod. 534 00:27:22,290 --> 00:27:26,486 535 00:27:26,486 --> 00:27:30,086 >> GYNULLEIDFA: Ar gyfer y cwis, yn ei wneud mae'n rhaid i ni ysgrifennu rhaglen? 536 00:27:30,086 --> 00:27:33,260 >> SIARADWR 1: Efallai y gofynnir i chi ysgrifennu rhaglenni syml â llaw. 537 00:27:33,260 --> 00:27:35,940 538 00:27:35,940 --> 00:27:36,590 Yup. 539 00:27:36,590 --> 00:27:38,510 >> GYNULLEIDFA: Mae'r cwis yn yr wythnos nesaf, dde? 540 00:27:38,510 --> 00:27:40,108 >> SIARADWR 1: Y cwis yw dydd Mercher nesaf. 541 00:27:40,108 --> 00:27:40,855 542 00:27:40,855 --> 00:27:43,730 Mae hynny'n golygu bod 'na [hyfryd? CSE?] graddio parti wedyn, a oedd 543 00:27:43,730 --> 00:27:50,390 yn golygu y byddwch yn cael eich sgôr yn ôl sy'n night-- ar faint o'r gloch? 544 00:27:50,390 --> 00:27:50,890 Pwy a ŵyr? 545 00:27:50,890 --> 00:27:51,973 Ond bydd yn y noson honno. 546 00:27:51,973 --> 00:28:02,020 547 00:28:02,020 --> 00:28:02,855 >> Mae pob hawl. 548 00:28:02,855 --> 00:28:04,250 Sut ydym am ddechrau hyn? 549 00:28:04,250 --> 00:28:07,964 550 00:28:07,964 --> 00:28:09,630 'N annhymerus' yn rhoi hint-- yn dechrau gyda hyn i chi. 551 00:28:09,630 --> 00:28:11,455 >> GYNULLEIDFA: Mae'n rhaid i chi agor ffeil. 552 00:28:11,455 --> 00:28:12,250 >> SIARADWR 1: Yeah. 553 00:28:12,250 --> 00:28:14,060 Felly, beth ydych chi eisiau ei galw hyn? 554 00:28:14,060 --> 00:28:16,150 A ydych chi eisiau i alw yn "ffeil"? 555 00:28:16,150 --> 00:28:17,480 Gadewch i ni ei gwneud yn hawdd. 556 00:28:17,480 --> 00:28:26,752 Felly fopen-- beth yw ein prawf allbwn yn mynd i fod? 557 00:28:26,752 --> 00:28:36,130 Alw yn "Helo." 558 00:28:36,130 --> 00:28:37,810 A beth yw ein dull? 559 00:28:37,810 --> 00:28:39,764 560 00:28:39,764 --> 00:28:41,055 Beth ydym yn ei wneud at y ffeil hon? 561 00:28:41,055 --> 00:28:42,676 562 00:28:42,676 --> 00:28:43,500 >> GYNULLEIDFA: Darllen. 563 00:28:43,500 --> 00:28:44,401 564 00:28:44,401 --> 00:28:44,900 Ysgrifennu. 565 00:28:44,900 --> 00:28:46,191 SIARADWR 1: Rydym yn ysgrifennu ato. 566 00:28:46,191 --> 00:28:47,360 567 00:28:47,360 --> 00:28:47,860 Lovely. 568 00:28:47,860 --> 00:28:50,330 569 00:28:50,330 --> 00:28:52,860 Iawn, felly mae gennym y ffeil nawr. 570 00:28:52,860 --> 00:28:54,920 571 00:28:54,920 --> 00:28:56,212 Yr hyn sydd angen i ni ei wneud? 572 00:28:56,212 --> 00:28:57,420 GYNULLEIDFA: Gwiriwch os yw'n null. 573 00:28:57,420 --> 00:28:59,820 SIARADWR 1: Gwiriwch os yw'n null-- union. 574 00:28:59,820 --> 00:29:01,980 Dyna beth yr wyf yn hoffi ei glywed. 575 00:29:01,980 --> 00:29:05,930 Dylai hynny fod yn awtomatig, yn enwedig 'n bert lawer o'r pwynt hwn ymlaen. 576 00:29:05,930 --> 00:29:07,530 577 00:29:07,530 --> 00:29:10,950 Os byddwch yn dechrau segfaulting, rydych yn ôl pob tebyg nid oedd yn gwirio am null rhywle. 578 00:29:10,950 --> 00:29:12,480 Naw gwaith allan o ddeg, dyna mynd i fod yn eich camgymeriad. 579 00:29:12,480 --> 00:29:15,400 Felly, pe gallech jyst ei gael yn y arfer, gwiriwch os yw'n null, 580 00:29:15,400 --> 00:29:18,150 eich bywyd yn mynd i fod 'n glws a easy-- neu'n haws. 581 00:29:18,150 --> 00:29:19,480 >> Felly edrychwch i weld a yw'n null. 582 00:29:19,480 --> 00:29:21,200 583 00:29:21,200 --> 00:29:24,820 Felly, os nad yw'n null, a oedd yw'r hyn y mae'r bang hafal 584 00:29:24,820 --> 00:29:26,784 yw-- beidio null-- ei fod yn ddilys. 585 00:29:26,784 --> 00:29:27,700 Beth ydym ni am ei wneud? 586 00:29:27,700 --> 00:29:29,750 587 00:29:29,750 --> 00:29:31,570 Rydym yn unig eisiau argraffu i'r ffeil, dde? 588 00:29:31,570 --> 00:29:32,923 Felly, beth ydym yn mynd i'w defnyddio? 589 00:29:32,923 --> 00:29:34,092 >> GYNULLEIDFA: Fprintf 590 00:29:34,092 --> 00:29:36,800 >> SIARADWR 1: hyfryd Fprintf--. 591 00:29:36,800 --> 00:29:38,150 592 00:29:38,150 --> 00:29:44,000 A fprintf cymryd dau arguments-- lle mae'n mynd a'r hyn yr ydym am ei argraffu. 593 00:29:44,000 --> 00:29:45,820 Felly beth yw'r un cyntaf? 594 00:29:45,820 --> 00:29:46,570 I ble mae'n mynd? 595 00:29:46,570 --> 00:29:47,490 >> GYNULLEIDFA: Ffeil. 596 00:29:47,490 --> 00:29:48,785 >> SIARADWR 1: Mae'n mynd i ffeil. 597 00:29:48,785 --> 00:29:49,784 598 00:29:49,784 --> 00:29:50,950 A beth ydym ni eisiau ei argraffu? 599 00:29:50,950 --> 00:29:52,900 600 00:29:52,900 --> 00:29:58,065 "Helo, byd!" 601 00:29:58,065 --> 00:29:58,565 Mae pob hawl. 602 00:29:58,565 --> 00:30:03,670 Mae gennym un thing-- diwethaf patrwm mawr arall yma. 603 00:30:03,670 --> 00:30:04,479 604 00:30:04,479 --> 00:30:05,145 GYNULLEIDFA: Close. 605 00:30:05,145 --> 00:30:05,853 SIARADWR 1: Close. 606 00:30:05,853 --> 00:30:09,990 607 00:30:09,990 --> 00:30:10,540 Dyna ni. 608 00:30:10,540 --> 00:30:13,384 >> GYNULLEIDFA: A yw hyn yn digwydd os yw'r ffeil yn null? 609 00:30:13,384 --> 00:30:15,050 SIARADWR 1: Na, mae hyn yn os nad yw'n null. 610 00:30:15,050 --> 00:30:16,881 GYNULLEIDFA: O, os yw'n not-- OK. 611 00:30:16,881 --> 00:30:21,728 612 00:30:21,728 --> 00:30:25,410 Ar gyfer y fopen ac yna'r dau dadleuon sy'n mynd y tu mewn, 613 00:30:25,410 --> 00:30:27,655 beth mae'r ddadl gyntaf yn ei olygu eto? 614 00:30:27,655 --> 00:30:30,392 >> SIARADWR 1: Y ddadl yw yn union fel enw'r ffeil 615 00:30:30,392 --> 00:30:31,350 eich bod eisiau mynd i. 616 00:30:31,350 --> 00:30:36,020 Felly, ar ôl hyn yn rhedeg, byddech cael rhywfaint o ffeil o'r enw "helo" 617 00:30:36,020 --> 00:30:38,320 fod gan "Helo, y byd" o fewn iddo. 618 00:30:38,320 --> 00:30:38,820 Dyna i gyd. 619 00:30:38,820 --> 00:30:39,500 Dim ond yr enw. 620 00:30:39,500 --> 00:30:42,685 621 00:30:42,685 --> 00:30:48,650 >> GYNULLEIDFA: Ac ers ei fod yn ysgrifennu, mae'r Nid oes rhaid i ffeil yn bodoli eisoes. 622 00:30:48,650 --> 00:30:49,675 Yw bod yr hyn a ddywedasoch? 623 00:30:49,675 --> 00:30:50,410 >> SIARADWR 1: Iawn. 624 00:30:50,410 --> 00:30:50,910 Yn union. 625 00:30:50,910 --> 00:30:53,110 626 00:30:53,110 --> 00:30:55,839 Os "Helo" fel ffeil nid yw'n bodoli eto, 'i' 627 00:30:55,839 --> 00:30:58,380 mynd i greu ffeil o'r enw Helo "ac yn ysgrifennu ar eich rhan. 628 00:30:58,380 --> 00:30:59,631 629 00:30:59,631 --> 00:31:03,610 >> GYNULLEIDFA: Pan fyddwch yn dweud y rhaglen i ysgrifennu at y ffeil, 630 00:31:03,610 --> 00:31:08,075 pam ydych chi'n ysgrifennu "ffeil" yn hytrach na enw'r ffeil a fprintf-- 631 00:31:08,075 --> 00:31:13,600 >> SIARADWR 1: Gan fod yn yr achos hwn, rydym wedi hynny FILE-- mawr i gyd yn seren caps--, 632 00:31:13,600 --> 00:31:14,260 ffeil. 633 00:31:14,260 --> 00:31:17,370 Felly mae'n pwyntydd i'r ffeil eich bod yn sôn amdano. 634 00:31:17,370 --> 00:31:19,930 Mae hyn yn y ffordd y mae rydym yn unig yn cyfeirio ato. 635 00:31:19,930 --> 00:31:24,850 Felly, yn yr achos hwn, byddwch yn gallu meddwl am AHA file--, 636 00:31:24,850 --> 00:31:31,271 gallwn ddefnyddio this-- ffeil yma yn cyfeirio at agor "Helo" 637 00:31:31,271 --> 00:31:32,145 ac yn gadael iddo ysgrifennu. 638 00:31:32,145 --> 00:31:34,728 >> GYNULLEIDFA: A allem roi "Helo" yn lle hynny [? o ychydig?] file f? 639 00:31:34,728 --> 00:31:40,160 SIARADWR 1: Na, oherwydd "Helo" Mae angen i fod yn agored ac yn ysgrifenadwy. 640 00:31:40,160 --> 00:31:41,820 641 00:31:41,820 --> 00:31:45,980 Ffeil yma yn debyg i dynodwr sy'n dweud OK, rydym yn 642 00:31:45,980 --> 00:31:49,190 cael y hello-- file-- ein bod yn edrych ar. 643 00:31:49,190 --> 00:31:50,680 Mae wedi cael ei hagor. 644 00:31:50,680 --> 00:31:52,140 Ac rydym yn mynd i ysgrifennu ato. 645 00:31:52,140 --> 00:31:55,130 Os ydych yn unig yn defnyddio "Helo", sy'n cael eu crynhoi mewn iddo. 646 00:31:55,130 --> 00:31:56,846 Felly, mae'n mynd i freak allan. 647 00:31:56,846 --> 00:31:58,590 648 00:31:58,590 --> 00:32:00,300 Yr wyf yn golygu, gallech fod wedi enwi ei. 649 00:32:00,300 --> 00:32:03,960 Fe allech chi fod wedi gwneud ffeil, seren, "Helo", hafal i hynny. 650 00:32:03,960 --> 00:32:07,840 Ond holl bwynt yw bod chi angen pwyntydd seren ffeil er mwyn 651 00:32:07,840 --> 00:32:09,281 i allu defnyddio'r swyddogaethau hyn. 652 00:32:09,281 --> 00:32:11,280 GYNULLEIDFA: A allech chi ei wneud ffeil, seren, ffeil, "Hello" 653 00:32:11,280 --> 00:32:13,113 neu a oes rhaid i chi roi ffeil seren, ffeil ganddo? 654 00:32:13,113 --> 00:32:16,330 SIARADWR 1: Gallech gwneud ffeil, seren, "Helo." 655 00:32:16,330 --> 00:32:19,790 Gallwch newid hyn i beth bynnag enw sydd eisiau. 656 00:32:19,790 --> 00:32:22,114 Mae'n hollol fympwyol yr hyn yr enw hwnnw yw. 657 00:32:22,114 --> 00:32:23,179 658 00:32:23,179 --> 00:32:24,220 Gallwch enwi ei dim. 659 00:32:24,220 --> 00:32:25,501 660 00:32:25,501 --> 00:32:28,020 Enw ei sbageti hedfan, os ydych yn dymuno. 661 00:32:28,020 --> 00:32:29,690 >> GYNULLEIDFA: Beth yw'r "w" mewn dyfynodau amdano? 662 00:32:29,690 --> 00:32:31,540 >> SIARADWR 1: The "w" yn unig y modd. 663 00:32:31,540 --> 00:32:33,170 Felly, rydym yn ysgrifennu at y ffeil hon. 664 00:32:33,170 --> 00:32:34,410 665 00:32:34,410 --> 00:32:35,320 Mae pawb yn dda? 666 00:32:35,320 --> 00:32:36,227 Yn glir? 667 00:32:36,227 --> 00:32:36,981 Ie. 668 00:32:36,981 --> 00:32:40,365 >> GYNULLEIDFA: Felly, pan fydd yn ysgrifennu hyn ffeilio, ble rydym wedyn yn gweld bod ffeil? 669 00:32:40,365 --> 00:32:43,820 >> SIARADWR 1: Bydd yn yn yr un cyfeiriadur eich bod yn hyn o bryd yn. 670 00:32:43,820 --> 00:32:45,650 671 00:32:45,650 --> 00:32:48,880 Os ydych chi yn pset tri a ydych yn rhedeg hyn, o fewn eich pset 672 00:32:48,880 --> 00:32:52,600 tri ffolder yn mynd i fod ffeil o'r enw "Helo." 673 00:32:52,600 --> 00:32:53,160 Cool? 674 00:32:53,160 --> 00:32:53,757 Mae pawb yn dda? 675 00:32:53,757 --> 00:32:55,840 Rwy'n teimlo fel eich bod i gyd ei gael, sy'n wych. 676 00:32:55,840 --> 00:32:57,290 677 00:32:57,290 --> 00:32:57,790 OK. 678 00:32:57,790 --> 00:33:05,960 Felly, yn ôl at fy show-- sleid Rwyf wrth fy modd pan mae pethau'n gweithio. 679 00:33:05,960 --> 00:33:08,674 OK, pointers-- Ydych chi'n guys gyffrous? 680 00:33:08,674 --> 00:33:09,465 Awgrymiadau yn wych. 681 00:33:09,465 --> 00:33:11,581 682 00:33:11,581 --> 00:33:13,580 Maent yn cymryd ychydig bach i lapio eich pen o gwmpas. 683 00:33:13,580 --> 00:33:15,288 Mae hyn yn fy ail flwyddyn awgrymiadau addysgu. 684 00:33:15,288 --> 00:33:16,850 Ac yr wyf yn meddwl fy mod o'r diwedd got it. 685 00:33:16,850 --> 00:33:18,650 Felly, os ydych yn ei chael yn anodd, mae'n iawn. 686 00:33:18,650 --> 00:33:19,940 687 00:33:19,940 --> 00:33:24,070 Fel y dywedais o'r blaen, gan dynnu lluniau yn helpu llawer gyda phethau yn CS, 688 00:33:24,070 --> 00:33:27,400 gymaint ag y Rwy'n credu bod pobl yn tueddu i feddwl oh, rydym yn ar gyfrifiadur. 689 00:33:27,400 --> 00:33:28,399 Rydym yn dylai dim ond cod. 690 00:33:28,399 --> 00:33:30,190 Lluniau gan dynnu No-- mewn gwirionedd yn eich helpu. 691 00:33:30,190 --> 00:33:32,773 Ac yr wyf yn wir yn eich annog i manteisio ar eich ochr kindergartner 692 00:33:32,773 --> 00:33:35,010 ac yn dod allan creonau neu farcwyr a gêm gyfartal. 693 00:33:35,010 --> 00:33:36,110 Gan y bydd yn eich helpu. 694 00:33:36,110 --> 00:33:39,380 Ac os ydych yn gweld fi yn oriau swyddfa, yr wyf yn bydd yn cario o gwmpas pentyrrau o bapur 695 00:33:39,380 --> 00:33:41,580 gyda chorlannau gan dynnu pethau allan. 696 00:33:41,580 --> 00:33:44,370 >> Felly, yn enwedig gyda pointers-- dynnu lluniau. 697 00:33:44,370 --> 00:33:47,970 Ac rwy'n siŵr ein bod mewn gwirionedd yn mynd i yn tynnu rhai lluniau yma hefyd. 698 00:33:47,970 --> 00:33:51,270 >> Felly mae'r holl rhaid i chi guys i weld Binky, y peth animeiddio clai oer. 699 00:33:51,270 --> 00:33:54,720 Ac rydym yn credu ei bod hi'n ddoniol pan mae'n ffrwydro i mewn i griw o ddarnau. 700 00:33:54,720 --> 00:33:56,280 701 00:33:56,280 --> 00:33:57,755 Mae'n rhywfaint o ryddhad comic ar gyfer y dosbarth. 702 00:33:57,755 --> 00:34:02,140 703 00:34:02,140 --> 00:34:05,900 C [Anghlywadwy] y gallu mawr i allu rheoli cof. 704 00:34:05,900 --> 00:34:10,090 Ac mae'n un o'r pethau sydd wir yn yn ei gwneud yn iaith mor bwerus. 705 00:34:10,090 --> 00:34:13,469 Ond gyda daw nerth mawr gyfrifoldeb mawr. 706 00:34:13,469 --> 00:34:16,230 A gall pethau crazy ddigwydd os nad ydych yn ofalus. 707 00:34:16,230 --> 00:34:18,560 Felly, pan fyddwch yn ei ddefnyddio awgrymiadau, ydych am wneud 708 00:34:18,560 --> 00:34:21,440 yn siŵr eich bod wir yn deall yn union beth rydych yn ei wneud. 709 00:34:21,440 --> 00:34:25,530 Gobeithio yr ychydig bach nesaf Bydd amser yn eich helpu i wir yn deall 710 00:34:25,530 --> 00:34:27,850 awgrymiadau, sut i'w defnyddio, a sut i drin nhw. 711 00:34:27,850 --> 00:34:29,170 712 00:34:29,170 --> 00:34:33,460 >> Felly memory-- Rwy'n siŵr ein bod i wedi gweld diagram hwn o'r blaen. 713 00:34:33,460 --> 00:34:38,540 Felly, mae hyn yn unig yw diagram syml o sut y gallai pethau gael eu storio cof. 714 00:34:38,540 --> 00:34:43,145 Felly, rydych yn y bôn yn cael y rhain araeau enfawr o flociau un beit 715 00:34:43,145 --> 00:34:46,000 yn yr hyn sydd gennym Yma-- ychydig codiadau erbyn un bob tro. 716 00:34:46,000 --> 00:34:51,810 Mae hyn yn hecs [Anghlywadwy] felly blociau wyth-bit. 717 00:34:51,810 --> 00:34:55,510 A phob bloc yn gysylltiedig gyda rhywfaint o gyfeiriad hecsadegol. 718 00:34:55,510 --> 00:34:58,750 Felly, os ydych chi erioed wedi gweld y 0x, sydd newydd notating 719 00:34:58,750 --> 00:35:00,670 ei fod yn gyfeiriad hecsadegol. 720 00:35:00,670 --> 00:35:03,970 Gallwch chi gymryd yn ganiataol mae hyn yn golygu rhywfaint o gyfeiriad yn y cof. 721 00:35:03,970 --> 00:35:06,935 Rydym yn siarad am gyfeiriadau cof pryd bynnag y byddwch yn gweld hecsadegol. 722 00:35:06,935 --> 00:35:10,420 723 00:35:10,420 --> 00:35:14,630 >> Rydym wedi ints yn newidynnau, fflotiau yn newidynnau sy'n storio. 724 00:35:14,630 --> 00:35:16,260 Felly ints storio ints. 725 00:35:16,260 --> 00:35:17,430 Siop Fflotiau arnofio. 726 00:35:17,430 --> 00:35:20,260 Felly, mae gennym hefyd awgrymiadau bod cyfeiriadau storio cof. 727 00:35:20,260 --> 00:35:21,660 Dyna rhyw fath o fapio. 728 00:35:21,660 --> 00:35:24,240 Awgrymiadau yn unig am gyfeiriadau cof. 729 00:35:24,240 --> 00:35:25,780 730 00:35:25,780 --> 00:35:27,292 Felly dyna fel eich math yno. 731 00:35:27,292 --> 00:35:29,550 732 00:35:29,550 --> 00:35:34,470 Mae eich offer yn 32-bit, sy'n golygu bod eich cyfeiriad cof yw pedwar bytes. 733 00:35:34,470 --> 00:35:37,830 Felly mae unrhyw pwyntydd sydd gennych hefyd yn mynd i fod pedwar bytes. 734 00:35:37,830 --> 00:35:43,200 Neu arall os yw'n pedwar bytes, cof yw pedwar bytes. 735 00:35:43,200 --> 00:35:44,790 Cof siop Awgrymiadau. 736 00:35:44,790 --> 00:35:46,430 Felly, maen nhw'n pedwar bytes. 737 00:35:46,430 --> 00:35:48,460 Cool-- jyst eisiau i atgyfnerthu hynny. 738 00:35:48,460 --> 00:35:50,120 739 00:35:50,120 --> 00:35:52,220 >> Dylech gael comig hwn yn awr. 740 00:35:52,220 --> 00:35:55,040 Nid wyf yn gwybod faint ohonoch yn gefnogwyr xkcd, ond rwyf wrth fy modd xkcd. 741 00:35:55,040 --> 00:35:55,780 Mae'n wych. 742 00:35:55,780 --> 00:35:57,290 743 00:35:57,290 --> 00:35:57,790 >> Mae pob hawl. 744 00:35:57,790 --> 00:36:01,640 Felly, gan greu pointers-- fel y dywedais, 'i' 'n bert lawer yn union fel unrhyw beth arall. 745 00:36:01,640 --> 00:36:02,930 Mae gennych fath. 746 00:36:02,930 --> 00:36:04,050 Mae gennych enw. 747 00:36:04,050 --> 00:36:04,810 Hawl? 748 00:36:04,810 --> 00:36:10,410 Dyna beth sydd gennym yno. [? Hex?] Seren yn golygu ei fod yn pwyntydd, 749 00:36:10,410 --> 00:36:12,250 ac yna beth bynnag y dymunwch ei alw. 750 00:36:12,250 --> 00:36:15,770 Felly y math cynrychioli beth allwch chi ei storio. 751 00:36:15,770 --> 00:36:16,850 752 00:36:16,850 --> 00:36:17,990 Mae pob hawl? 753 00:36:17,990 --> 00:36:24,350 Yn yr un modd, os ydym yn gwneud ints, yr ydym yn gwybod ein bod yn storio yn int yno. 754 00:36:24,350 --> 00:36:25,990 755 00:36:25,990 --> 00:36:30,280 Gyda pwyntydd, mae'n yn meddu ar gyfeiriad cof. 756 00:36:30,280 --> 00:36:34,240 Ond yr hyn y mae'n ei olygu yn that-- dyma lle llun yn mynd i ddod i mewn 'n hylaw. 757 00:36:34,240 --> 00:36:36,170 758 00:36:36,170 --> 00:36:45,980 Felly, yn yr achos hwn, rydym wedi value-- rhai gadewch i ni ddweud pedwar. 759 00:36:45,980 --> 00:36:49,306 Pedwar ar gyfeiriad un. 760 00:36:49,306 --> 00:36:49,805 OK? 761 00:36:49,805 --> 00:36:51,550 762 00:36:51,550 --> 00:36:56,170 >> Mae hyn yn un cyntaf yma yn golygu ei fod yn 2x pwyntydd. 763 00:36:56,170 --> 00:36:56,740 Hawl? 764 00:36:56,740 --> 00:36:57,628 Mae'n rhywfaint o pwyntydd x. 765 00:36:57,628 --> 00:36:58,852 766 00:36:58,852 --> 00:37:00,940 Efallai x fod yn rhywbeth, beth bynnag. 767 00:37:00,940 --> 00:37:01,960 768 00:37:01,960 --> 00:37:05,130 Beth bynnag x yw-- dweud x yw pedwar. 769 00:37:05,130 --> 00:37:07,280 Mae'n mynd i storio'r cyfeiriad cof yma. 770 00:37:07,280 --> 00:37:12,260 Felly int, seren, x-- mae hyn yn rhyw slot arall yn memory-- 771 00:37:12,260 --> 00:37:13,590 pwy a ŵyr beth y mae hyn yn. 772 00:37:13,590 --> 00:37:15,430 Ond mae'n mynd i storio cyfeiriad yma. 773 00:37:15,430 --> 00:37:27,040 Felly byddai hyn yn like-- yn yr achos hwn, Beth bynnag, 774 00:37:27,040 --> 00:37:32,630 yn cael ei storio ar 0x1-- beth bynnag yn cael ei storio yn y cyfeiriad y mae ein pwyntydd dal, 775 00:37:32,630 --> 00:37:35,280 yn gorfod cyd-fynd i fyny gyda yr hyn yr ydym wedi eu dynodi. 776 00:37:35,280 --> 00:37:40,330 Felly, ar 0x1, yn yr achos hwn, mae hyn yn x. 777 00:37:40,330 --> 00:37:42,500 778 00:37:42,500 --> 00:37:49,340 Gall hyn ond byth fod yn int er ein bod yn defnyddio hyn. 779 00:37:49,340 --> 00:37:52,950 >> Yn yr un modd, os oes gennym 1Y arall, beth bynnag 780 00:37:52,950 --> 00:37:59,130 cyfeiriad yn cael ei storio gan y mae i fod yn un peth char-- gyda z. 781 00:37:59,130 --> 00:38:05,840 Yn yr un modd, pryd bynnag y byddwch geisio gwneud intx hafal 0.4, 782 00:38:05,840 --> 00:38:09,275 mae'n mynd i gweiddi ar chi a bod yn fel dim, dywedasoch eich bod am gael int. 783 00:38:09,275 --> 00:38:10,525 Mae hyn yn dybiedig i fod yn int. 784 00:38:10,525 --> 00:38:11,900 Roi'r gorau i geisio gwneud yn arnofio. 785 00:38:11,900 --> 00:38:14,150 >> Felly gadewch i bethau fod yn yr hyn y maent yn dymuno bod. 786 00:38:14,150 --> 00:38:15,159 787 00:38:15,159 --> 00:38:16,200 Gadael i bethau fod yn nhw eu hunain. 788 00:38:16,200 --> 00:38:19,380 789 00:38:19,380 --> 00:38:23,450 Felly mae peth mawr yn unig pa bynnag fath o pwyntydd 790 00:38:23,450 --> 00:38:26,101 y mae, dyna'r unig beth y gallwch ei storio yno. 791 00:38:26,101 --> 00:38:26,600 OK? 792 00:38:26,600 --> 00:38:27,910 793 00:38:27,910 --> 00:38:31,160 Gydag ymarfer, fel gyda Yr wythnos diwethaf, mae popeth 794 00:38:31,160 --> 00:38:32,817 ymddangos yn wirioneddol fath o haniaethol. 795 00:38:32,817 --> 00:38:34,150 Rydym yn mynd i wneud ychydig o ymarfer. 796 00:38:34,150 --> 00:38:36,760 Dylid gwneud mwy o synnwyr. 797 00:38:36,760 --> 00:38:44,580 >> Felly, cyfeirnodi a dereferencing-- ei fod yn wirioneddol bwysig cael hyn yn syth. 798 00:38:44,580 --> 00:38:46,630 Rhaid i mi adnewyddu bob hyn a hyn. 799 00:38:46,630 --> 00:38:48,450 A dwi'n hoffi aros, pa un ddylwn i ei eisiau? 800 00:38:48,450 --> 00:38:56,080 Felly bydd y ampersand mewn gwirionedd yn rhoi chi yw'r cyfeiriad neu gyfeiriad. 801 00:38:56,080 --> 00:39:00,100 Felly, mae'n dychwelyd y cyfeiriad yn cof y mae newidyn ei storio. 802 00:39:00,100 --> 00:39:01,170 803 00:39:01,170 --> 00:39:07,020 Felly, mae'n mynd i ddychwelyd mewn gwirionedd i chi a hecsadegol, tra dereferencing ei 804 00:39:07,020 --> 00:39:10,641 mewn gwirionedd yn mynd i roi i chi mae'r data sy'n cael ei storio yno. 805 00:39:10,641 --> 00:39:11,140 OK? 806 00:39:11,140 --> 00:39:12,680 807 00:39:12,680 --> 00:39:16,060 Felly, rydym yn mynd i edrych ar enghraifft 'n sylweddol yn gyflym, neu mewn gwirionedd i fyny nesaf. 808 00:39:16,060 --> 00:39:18,050 809 00:39:18,050 --> 00:39:19,150 >> OK. 810 00:39:19,150 --> 00:39:21,790 Felly, rhaid i ni feddwl 'n sylweddol yn ofalus am hyn. 811 00:39:21,790 --> 00:39:23,860 Felly, yma rydym yn cael rhywfaint o cyfanrif x. 812 00:39:23,860 --> 00:39:26,485 Rydw i'n mynd i geisio tynnu hyn allan hyd eithaf fy ngallu. 813 00:39:26,485 --> 00:39:30,230 814 00:39:30,230 --> 00:39:32,410 Felly, rydym yn mynd i gael slot hwn x. 815 00:39:32,410 --> 00:39:35,850 816 00:39:35,850 --> 00:39:37,315 Ac mae'n storio pump. 817 00:39:37,315 --> 00:39:38,640 818 00:39:38,640 --> 00:39:40,090 Ei gyfeiriad yw 0x4. 819 00:39:40,090 --> 00:39:41,920 820 00:39:41,920 --> 00:39:43,160 Cool? 821 00:39:43,160 --> 00:39:44,100 Gyd yn dda. 822 00:39:44,100 --> 00:39:45,470 >> Felly, yn awr mae gennym pwyntydd hwn. 823 00:39:45,470 --> 00:39:46,916 824 00:39:46,916 --> 00:39:47,990 Yr oedd dros yma. 825 00:39:47,990 --> 00:39:52,130 826 00:39:52,130 --> 00:39:57,560 Ac mae'r ampersand yn rhoi i ni y cyfeiriad o rywbeth. 827 00:39:57,560 --> 00:40:00,780 Felly, yn yr achos hwn, 'i' y cyfeiriad o x. 828 00:40:00,780 --> 00:40:01,875 Beth yw cyfeiriad y x? 829 00:40:01,875 --> 00:40:05,660 830 00:40:05,660 --> 00:40:12,590 04-- ac pwyntydd hyn ar 0x08. 831 00:40:12,590 --> 00:40:14,490 832 00:40:14,490 --> 00:40:14,990 Cool? 833 00:40:14,990 --> 00:40:16,570 834 00:40:16,570 --> 00:40:21,570 Felly, gallwch chi feddwl am hyn pwyntydd, 04, ychydig bwyntiau dros yma. 835 00:40:21,570 --> 00:40:22,840 836 00:40:22,840 --> 00:40:25,740 Ac maen nhw'n a elwir awgrymiadau oherwydd fel ein bod yn cael mwy i mewn i hyn, 837 00:40:25,740 --> 00:40:28,450 rydych yn mynd i weld pwyntio at bethau. 838 00:40:28,450 --> 00:40:31,470 Ac un bloc yn pwyntio i un arall Bydd y bloc yn gwneud llawer mwy o synnwyr. 839 00:40:31,470 --> 00:40:32,760 840 00:40:32,760 --> 00:40:33,890 Felly dyma ddau. 841 00:40:33,890 --> 00:40:38,230 Ac yna rydym yn cael rhywfaint o copi, sef 0x0c what--. 842 00:40:38,230 --> 00:40:41,290 843 00:40:41,290 --> 00:40:43,420 Ac mae'n mynd i dereference ein pwyntydd. 844 00:40:43,420 --> 00:40:46,790 >> Felly, yr hyn y mae'n ei ddweud yw OK, dyma ein pwyntydd. 845 00:40:46,790 --> 00:40:53,090 Mae'r gwerth mae'n storio yw 0x04, A beth mae'n ei ddweud yn mynd i'r cyfeiriad hwn 846 00:40:53,090 --> 00:40:54,300 ac yn dweud wrthyf beth sydd ynddo. 847 00:40:54,300 --> 00:40:55,520 848 00:40:55,520 --> 00:40:57,710 Felly dyna effeithiol pa saeth hwn yn ei wneud. 849 00:40:57,710 --> 00:40:58,750 850 00:40:58,750 --> 00:41:01,280 Gallwch feddwl am hyn fel eich seren. 851 00:41:01,280 --> 00:41:05,410 Felly OK, pan rydym yn ei wneud seren, mae'n golygu dilyn. 852 00:41:05,410 --> 00:41:06,810 Ewch at y cyfeiriad hwn. 853 00:41:06,810 --> 00:41:11,430 A dyna yn y bôn yn unig ar ôl saeth yma i'r darn hwn cof. 854 00:41:11,430 --> 00:41:15,380 Ac yn rhoi i ni beth sydd ynddo, sydd 5. 855 00:41:15,380 --> 00:41:18,840 Mae'n pam mae ein copi yn hafal i 5. 856 00:41:18,840 --> 00:41:20,120 A yw hynny'n gwneud synnwyr? 857 00:41:20,120 --> 00:41:22,769 A oes unrhyw un angen i mi fynd drwy'r hynny eto, neu'n arafach? 858 00:41:22,769 --> 00:41:24,560 Ydych am i mi fynd drwyddo un yn fwy o amser? 859 00:41:24,560 --> 00:41:25,060 OK. 860 00:41:25,060 --> 00:41:27,549 861 00:41:27,549 --> 00:41:28,840 Rydym yn mynd i ail-lunio eto. 862 00:41:28,840 --> 00:41:31,930 863 00:41:31,930 --> 00:41:37,205 Pan fyddwn yn dechrau, yr ydym i gyd yn cytuno ein bod wedi rhyw darn o gof hynny'n newidyn 864 00:41:37,205 --> 00:41:40,890 x bod yn gosod hafal i 5. 865 00:41:40,890 --> 00:41:42,910 Nid ydym yn rheoli pan fo hynny er cof. 866 00:41:42,910 --> 00:41:45,520 Felly, fan hyn yn unig neilltuo fympwyol. 867 00:41:45,520 --> 00:41:47,770 868 00:41:47,770 --> 00:41:48,731 Da yno? 869 00:41:48,731 --> 00:41:49,230 OK. 870 00:41:49,230 --> 00:41:50,420 871 00:41:50,420 --> 00:41:53,330 Yna rydym yn ymgychwyn pwyntydd i int. 872 00:41:53,330 --> 00:41:56,900 Dyna pam ei fod yn caniatáu i bwyntio at x am fod gennym int yn y fan hyn. 873 00:41:56,900 --> 00:42:00,840 Mae gennym darn arall o cof am fod pwyntydd hwn 874 00:42:00,840 --> 00:42:03,485 yn newidyn yn union fel unrhyw beth arall. 875 00:42:03,485 --> 00:42:06,615 Mae wedi ei neilltuo yn fympwyol ychydig o le yn y cof. 876 00:42:06,615 --> 00:42:07,630 877 00:42:07,630 --> 00:42:10,830 A beth mae'n storio yn y cyfeiriad o x. 878 00:42:10,830 --> 00:42:13,200 Ampersand yn golygu gyfeiriad o x. 879 00:42:13,200 --> 00:42:14,575 Felly, beth yw cyfeiriad x? 880 00:42:14,575 --> 00:42:19,179 881 00:42:19,179 --> 00:42:20,614 >> GYNULLEIDFA: Mae'n zero-- 882 00:42:20,614 --> 00:42:21,280 SIARADWR 1: 0x04. 883 00:42:21,280 --> 00:42:24,350 884 00:42:24,350 --> 00:42:25,940 Felly then-- un olaf. 885 00:42:25,940 --> 00:42:30,650 Mae gennym rai copy-- eto unig newidyn arall. 886 00:42:30,650 --> 00:42:32,520 Felly gadewch i ni neilltuo rhywfaint o le mympwyol. 887 00:42:32,520 --> 00:42:35,260 888 00:42:35,260 --> 00:42:38,080 Ac rydym dereference ein pwyntydd. 889 00:42:38,080 --> 00:42:42,490 Mae'r seren yn golygu mynd i'r cyfeiriad storio yn fy pwyntydd. 890 00:42:42,490 --> 00:42:44,480 Dywedwch wrthyf beth sydd yno. 891 00:42:44,480 --> 00:42:47,290 Felly y cyfeiriad storio yn ein pwyntydd yw 0x04. 892 00:42:47,290 --> 00:42:49,070 893 00:42:49,070 --> 00:42:51,310 Felly, rydym yn mynd i'r cyfeiriad hwnnw. 894 00:42:51,310 --> 00:42:52,402 895 00:42:52,402 --> 00:42:54,590 Mae wedi pwyntio i'r cyfeiriad hwnnw. 896 00:42:54,590 --> 00:42:57,481 Beth sydd y tu mewn y bloc cof? 897 00:42:57,481 --> 00:42:57,980 Mae'n bump. 898 00:42:57,980 --> 00:42:59,210 899 00:42:59,210 --> 00:43:01,650 Felly dyna beth rydym aseinio ein copi. 900 00:43:01,650 --> 00:43:03,430 901 00:43:03,430 --> 00:43:04,860 Mae pawb yn dda? 902 00:43:04,860 --> 00:43:05,360 Cool. 903 00:43:05,360 --> 00:43:07,010 904 00:43:07,010 --> 00:43:08,330 Lluniau Again--. 905 00:43:08,330 --> 00:43:19,750 906 00:43:19,750 --> 00:43:25,200 >> Felly olrhain gwerthoedd Yma-- Rwy'n yn mynd i adael i chi guys yn meddwl am hyn. 907 00:43:25,200 --> 00:43:26,550 908 00:43:26,550 --> 00:43:27,750 Gallwn dynnu llun arall. 909 00:43:27,750 --> 00:43:31,260 Ond yr wyf am i chi i geisio rheswm drwy hyn ar eich pen eich hun am funud. 910 00:43:31,260 --> 00:44:01,430 911 00:44:01,430 --> 00:44:04,149 >> Gan nad oeddent yn rhoi ni cyfeiriad enghraifft, 912 00:44:04,149 --> 00:44:06,940 Im 'jyst yn mynd i wneud x-- ampersand a ddylai helpu i yrru adref. 913 00:44:06,940 --> 00:44:07,950 Ampersand yn golygu gyfeiriad. 914 00:44:07,950 --> 00:44:09,540 915 00:44:09,540 --> 00:44:12,360 >> Felly, yn yr un cyntaf, mae pawb mynd gyda'r llinell gyntaf. 916 00:44:12,360 --> 00:44:15,690 Mae rhai x set yn five-- rhai slot ar hap yn y cof. 917 00:44:15,690 --> 00:44:17,660 918 00:44:17,660 --> 00:44:23,200 Pwyntydd seren int yn gyfartal at y cyfeiriad o x, dde? 919 00:44:23,200 --> 00:44:28,180 Pwyntydd seren int creu bloc hwn, yn galw ei fod pwyntydd, 920 00:44:28,180 --> 00:44:30,650 ac yn pennu i'r cyfeiriad o x. 921 00:44:30,650 --> 00:44:32,750 922 00:44:32,750 --> 00:44:34,230 Rwy'n ofnadwy ar ampersands. 923 00:44:34,230 --> 00:44:36,460 924 00:44:36,460 --> 00:44:40,550 >> Nawr yr hyn yr ydym yn ei wneud yw ein bod yn dweud OK, dereference ein pwyntydd. 925 00:44:40,550 --> 00:44:42,760 Felly, rydym yn mynd yn iawn, beth sydd yn ein pwyntydd? 926 00:44:42,760 --> 00:44:44,820 Mae'n ampersand x. 927 00:44:44,820 --> 00:44:49,400 Ewch i ampersand x ac yn ail-neilltuo iddo. 928 00:44:49,400 --> 00:44:51,620 929 00:44:51,620 --> 00:44:57,480 >> Felly nawr, ampersand x yn mynd i fod yn 35. 930 00:44:57,480 --> 00:45:01,540 931 00:45:01,540 --> 00:45:05,174 Felly y bôn, pan fyddwch yn dereferencing, byddwch yn mynd yn iawn. 932 00:45:05,174 --> 00:45:07,090 Rydych yn mynd i gael eu tynnu lluniau fel hyn. 933 00:45:07,090 --> 00:45:09,423 Rydych yn mynd i gael eu tynnu eich saethau dros y lle y mae. 934 00:45:09,423 --> 00:45:16,030 Felly, ewch i'r slot hwn mewn cof a naill ai rhoi'r gwerth yn ôl i mi, neu ei newid. 935 00:45:16,030 --> 00:45:21,620 Yn yr achos hwn, oherwydd ein bod ar hyn o gwerth, rydym yn aseinio iddo fod yn 35. 936 00:45:21,620 --> 00:45:24,700 Tra yn yr olaf un, os ydych yn sylwi, rydym yn 937 00:45:24,700 --> 00:45:27,680 yn aseinio beth oedd i mewn yma i rywbeth arall. 938 00:45:27,680 --> 00:45:30,450 939 00:45:30,450 --> 00:45:32,245 >> Felly, mae ganddynt y tabl hwn awesome. 940 00:45:32,245 --> 00:45:35,000 941 00:45:35,000 --> 00:45:36,890 Dyw hi ddim mor ddrwg â hynny. 942 00:45:36,890 --> 00:45:37,970 Rydych yn guys yn gweithio arno. 943 00:45:37,970 --> 00:45:39,640 Rydw i'n mynd i dynnu ei fod allan ar y bwrdd. 944 00:45:39,640 --> 00:45:41,306 Rydym yn mynd i lenwi allan gyda'i gilydd, OK? 945 00:45:41,306 --> 00:45:42,290 946 00:45:42,290 --> 00:45:45,530 Felly cydio rhai papur, chrafangia partner, yn dechrau gweithio. 947 00:45:45,530 --> 00:45:53,897 948 00:45:53,897 --> 00:45:55,605 Rydw i'n mynd i gael darn mwy o sialc. 949 00:45:55,605 --> 00:45:56,624 950 00:45:56,624 --> 00:45:58,150 Oherwydd ei fod yn mynd i fod yn llawer. 951 00:45:58,150 --> 00:45:59,410 952 00:45:59,410 --> 00:45:59,910 OK. 953 00:45:59,910 --> 00:48:08,567 954 00:48:08,567 --> 00:48:09,150 ATHRO: OK. 955 00:48:09,150 --> 00:48:11,599 956 00:48:11,599 --> 00:48:12,890 Gadewch i ni ddechrau gyda'r rhes gyntaf. 957 00:48:12,890 --> 00:48:14,070 958 00:48:14,070 --> 00:48:16,970 Byddwn yn dechrau yno, yna rydych guys Gall efallai yn gweithio drwy rai mwy. 959 00:48:16,970 --> 00:48:17,870 OK. 960 00:48:17,870 --> 00:48:19,810 yn hafal b amseroedd c, felly beth yw? 961 00:48:19,810 --> 00:48:21,420 962 00:48:21,420 --> 00:48:23,260 Nid yw'n gwestiwn castia, yr wyf yn addo. 963 00:48:23,260 --> 00:48:24,440 >> MYFYRIWR: 4 gwaith 5. 964 00:48:24,440 --> 00:48:25,420 >> ATHRO: 4 gwaith 5. 965 00:48:25,420 --> 00:48:25,920 20. 966 00:48:25,920 --> 00:48:26,730 Felly beth b? 967 00:48:26,730 --> 00:48:27,921 968 00:48:27,921 --> 00:48:28,420 MYFYRIWR: 4. 969 00:48:28,420 --> 00:48:30,204 970 00:48:30,204 --> 00:48:31,043 >> ATHRO: A c? 971 00:48:31,043 --> 00:48:31,542 MYFYRIWR: 5. 972 00:48:31,542 --> 00:48:32,083 ATHRO: 5. 973 00:48:32,083 --> 00:48:35,960 Ac yna mae hyn yn unig yn mynd i cael ampersand a, ampersand b, 974 00:48:35,960 --> 00:48:38,575 ampersand c, dde? 975 00:48:38,575 --> 00:48:39,728 976 00:48:39,728 --> 00:48:40,596 Ddim yn ddrwg. 977 00:48:40,596 --> 00:48:42,081 Mae'n ddigon syml. 978 00:48:42,081 --> 00:48:42,580 OK. 979 00:48:42,580 --> 00:48:44,300 Felly yr un nesaf. 980 00:48:44,300 --> 00:48:48,725 A hafal gwaith y c, rhag ofn unrhyw un sydd yn anghyfarwydd â hynny. 981 00:48:48,725 --> 00:48:49,812 982 00:48:49,812 --> 00:48:53,300 A yw pawb yn gyfarwydd gyda'r oes yn gyfartal? 983 00:48:53,300 --> 00:49:00,105 OK, mae hyn i gyd yw-- mae hyn yn llaw-fer ar gyfer hafal o weithiau c. 984 00:49:00,105 --> 00:49:04,840 Gallwch hefyd wneud hynny gyda is-adran, gydag adio, gyda tynnu. 985 00:49:04,840 --> 00:49:12,130 Gallwch wneud yn gydradd, neu yn fantais yn dychwelyd c golygu yn gyfartal â plws c, a minws gyfartal 986 00:49:12,130 --> 00:49:15,190 Byddai c yn hafal minws a c. 987 00:49:15,190 --> 00:49:16,690 Dim ond siwgr cystrawennol. 988 00:49:16,690 --> 00:49:19,380 989 00:49:19,380 --> 00:49:24,140 >> Felly, yn yr achos hwn, mae yn hafal i Byddai gwaith y c rhoi i ni beth? 990 00:49:24,140 --> 00:49:25,910 991 00:49:25,910 --> 00:49:28,186 Unwaith eto, nid yw cwestiwn tric. 992 00:49:28,186 --> 00:49:28,965 >> MYFYRIWR: 100. 993 00:49:28,965 --> 00:49:29,300 >> ATHRO: 100. 994 00:49:29,300 --> 00:49:30,383 A oes unrhyw beth arall yn newid? 995 00:49:30,383 --> 00:49:31,790 996 00:49:31,790 --> 00:49:32,290 Rhif 997 00:49:32,290 --> 00:49:37,380 998 00:49:37,380 --> 00:49:39,850 Efallai y byddaf yn olaf yn cael yn well yn fy ampersands. 999 00:49:39,850 --> 00:49:42,047 >> MYFYRIWR: OK, ddrwg gennym, sut wnaethoch chi gael 100? 1000 00:49:42,047 --> 00:49:42,630 ATHRO: OK. 1001 00:49:42,630 --> 00:49:46,594 Felly mae yn hafal i amserau c, felly gwaith y c. 1002 00:49:46,594 --> 00:49:48,510 MYFYRIWR: O, ydych chi'n defnyddio a ar gyfer yr previous-- 1003 00:49:48,510 --> 00:49:49,135 ATHRO: Ydw. 1004 00:49:49,135 --> 00:49:51,450 Felly mae'r rhain yn ein gwerthoedd mwyaf diweddar. 1005 00:49:51,450 --> 00:49:53,990 Mae'r rhain yn yr hyn y dylech fod yn defnyddio wrth i ni symud i lawr, OK. 1006 00:49:53,990 --> 00:49:57,290 1007 00:49:57,290 --> 00:50:01,520 Felly, b yw'r unig newid peth, dde? 1008 00:50:01,520 --> 00:50:02,910 Felly gadewch i ni lenwi popeth arall. 1009 00:50:02,910 --> 00:50:09,110 1010 00:50:09,110 --> 00:50:11,330 B. Beth yw b mynd i fod? 1011 00:50:11,330 --> 00:50:13,020 1012 00:50:13,020 --> 00:50:14,140 I fod, neu beidio â bod. 1013 00:50:14,140 --> 00:50:18,680 1014 00:50:18,680 --> 00:50:20,240 Felly, beth mae hyn yn ei wneud? 1015 00:50:20,240 --> 00:50:21,605 Beth yw'r seren yf yn ei wneud? 1016 00:50:21,605 --> 00:50:23,280 1017 00:50:23,280 --> 00:50:25,350 >> MYFYRIWR: Côd at leoliad y flwyddyn. 1018 00:50:25,350 --> 00:50:26,390 1019 00:50:26,390 --> 00:50:27,480 >> MYFYRIWR: Na, ddim yn hollol. 1020 00:50:27,480 --> 00:50:29,470 Felly, mae hyn yn gyfeiriad d. 1021 00:50:29,470 --> 00:50:31,580 >> MYFYRIWR: Felly b mae gwerth handed o flwyddyn. 1022 00:50:31,580 --> 00:50:37,340 >> ATHRO: Yeah, felly yf yn cyfeiriad a, dde? 1023 00:50:37,340 --> 00:50:42,430 Felly mae'n ei ddweud yn mynd i lle mae mae storio ac yn rhoi gwerth hwnnw. 1024 00:50:42,430 --> 00:50:43,884 Felly beth yw b? 1025 00:50:43,884 --> 00:50:44,425 MYFYRIWR: 100. 1026 00:50:44,425 --> 00:50:46,534 ATHRO: 100. 1027 00:50:46,534 --> 00:50:47,450 Perffaith. 1028 00:50:47,450 --> 00:50:49,879 OK, felly pc yn beth sy'n newid. 1029 00:50:49,879 --> 00:50:51,170 Mae popeth arall yn aros yr un fath. 1030 00:50:51,170 --> 00:50:57,160 1031 00:50:57,160 --> 00:50:58,620 Yr hyn sydd ei pc mynd i fod? 1032 00:50:58,620 --> 00:51:00,770 1033 00:51:00,770 --> 00:51:01,580 Aseiniad syml. 1034 00:51:01,580 --> 00:51:03,520 1035 00:51:03,520 --> 00:51:05,990 Pc yn hafal i flwyddyn, a beth yw y flwyddyn? 1036 00:51:05,990 --> 00:51:07,049 >> MYFYRIWR: ampersand a. 1037 00:51:07,049 --> 00:51:07,840 ATHRO: Perffaith. 1038 00:51:07,840 --> 00:51:09,490 1039 00:51:09,490 --> 00:51:10,740 Nawr rydym yn ei gael yn ddiddorol. 1040 00:51:10,740 --> 00:51:12,310 1041 00:51:12,310 --> 00:51:15,230 OK, gadewch i dorri yr un yma i lawr. 1042 00:51:15,230 --> 00:51:21,110 Yn gyntaf, beth sydd b amseroedd c, oherwydd dyna y rhan hawdd o yr un yma, dde? 1043 00:51:21,110 --> 00:51:22,360 Amserau B c yw-- 1044 00:51:22,360 --> 00:51:23,320 >> MYFYRIWR: 500. 1045 00:51:23,320 --> 00:51:28,880 >> ATHRO: Yeah, felly beth mae hyn yn un yn ei wneud, 1046 00:51:28,880 --> 00:51:33,705 os bydd yn pb seren, beth sy'n newid? 1047 00:51:33,705 --> 00:51:35,320 1048 00:51:35,320 --> 00:51:37,242 >> MYFYRIWR: Beth sydd yn the-- 1049 00:51:37,242 --> 00:51:38,200 ATHRO: Beth sydd yn b? 1050 00:51:38,200 --> 00:51:41,340 MYFYRIWR: Beth sydd yn y gofod bod pb yn pwyntio i. 1051 00:51:41,340 --> 00:51:43,406 ATHRO: A pb yn pwyntio i'r canlynol-- 1052 00:51:43,406 --> 00:51:43,905 MYFYRIWR: B. 1053 00:51:43,905 --> 00:51:46,740 ATHRO: B. Felly yr unig newid beth yw b, ar y dde. 1054 00:51:46,740 --> 00:51:50,800 Amseroedd Felly b c, 500. 1055 00:51:50,800 --> 00:51:52,367 Felly dyna pa newidiadau nawr. 1056 00:51:52,367 --> 00:51:59,091 1057 00:51:59,091 --> 00:51:59,590 Cool. 1058 00:51:59,590 --> 00:52:00,340 1059 00:52:00,340 --> 00:52:00,840 Lovely. 1060 00:52:00,840 --> 00:52:01,905 Rydych guys yn ei wneud wych. 1061 00:52:01,905 --> 00:52:03,650 1062 00:52:03,650 --> 00:52:06,740 Mae pob hawl, torri hyn un i lawr. 1063 00:52:06,740 --> 00:52:08,050 1064 00:52:08,050 --> 00:52:09,630 C yn newid, dde? 1065 00:52:09,630 --> 00:52:11,530 Fel y gallwn lenwi popeth arall. 1066 00:52:11,530 --> 00:52:12,540 1067 00:52:12,540 --> 00:52:13,205 Gadewch i ni weld. 1068 00:52:13,205 --> 00:52:19,125 1069 00:52:19,125 --> 00:52:19,625 OK. 1070 00:52:19,625 --> 00:52:21,420 1071 00:52:21,420 --> 00:52:24,740 Rydym yn gwybod fod c yn mynd i fod y gynnyrch o ddau rif, dde? 1072 00:52:24,740 --> 00:52:26,290 1073 00:52:26,290 --> 00:52:27,980 Pa ddau rif, er bod? 1074 00:52:27,980 --> 00:52:28,970 >> MYFYRIWR: A a c? 1075 00:52:28,970 --> 00:52:31,930 >> ATHRO: Felly a yw iawn ar gyfer yr un cyntaf. 1076 00:52:31,930 --> 00:52:34,385 Felly, rydym yn d p cyfeirio i, dde? 1077 00:52:34,385 --> 00:52:35,390 1078 00:52:35,390 --> 00:52:42,870 P o bwyntiau i, felly rydym yn gwybod bod mae hyn yn mynd i fod 100 gwaith beth? 1079 00:52:42,870 --> 00:52:46,232 Amseroedd beth mae pwynt pc i? 1080 00:52:46,232 --> 00:52:47,410 1081 00:52:47,410 --> 00:52:48,740 Pwyntiau i a. 1082 00:52:48,740 --> 00:52:55,038 Felly 100 gwaith 100 yw 10,000. 1083 00:52:55,038 --> 00:52:56,170 Ydy hynny'n gwneud synnwyr? 1084 00:52:56,170 --> 00:52:57,640 1085 00:52:57,640 --> 00:52:58,200 Cool. 1086 00:52:58,200 --> 00:53:00,500 Ymestyn Home, guys, rhes olaf. 1087 00:53:00,500 --> 00:53:01,190 OK. 1088 00:53:01,190 --> 00:53:02,160 Beth sy'n newid yma? 1089 00:53:02,160 --> 00:53:05,640 1090 00:53:05,640 --> 00:53:06,935 >> MYFYRIWR: A. 1091 00:53:06,935 --> 00:53:09,435 ATHRO: A. Perffaith, felly Gall popeth arall yn aros yr un fath. 1092 00:53:09,435 --> 00:53:16,210 1093 00:53:16,210 --> 00:53:16,710 OK. 1094 00:53:16,710 --> 00:53:17,970 A beth yw? 1095 00:53:17,970 --> 00:53:23,610 1096 00:53:23,610 --> 00:53:26,060 Felly mae'n amser beth? 1097 00:53:26,060 --> 00:53:27,120 Mae hyn yn pb seren. 1098 00:53:27,120 --> 00:53:29,750 1099 00:53:29,750 --> 00:53:34,490 Felly pb seren yn golygu dyma pb, pwyntiau pb ib. 1100 00:53:34,490 --> 00:53:35,370 >> MYFYRIWR: 500. 1101 00:53:35,370 --> 00:53:36,230 >> ATHRO: 500. 1102 00:53:36,230 --> 00:53:39,236 Felly mae gennym 500 gwaith 100. 1103 00:53:39,236 --> 00:53:41,758 Dyna 50,000. 1104 00:53:41,758 --> 00:53:43,216 Whew! 1105 00:53:43,216 --> 00:53:45,646 Edrych ar hynny. 1106 00:53:45,646 --> 00:53:47,982 >> MYFYRIWR: Pam fod gennym y & c ar gyfer yr last-- 1107 00:53:47,982 --> 00:53:48,690 ATHRO: Mae'n ddrwg gennyf. 1108 00:53:48,690 --> 00:53:50,080 MYFYRIWR: O, OK. 1109 00:53:50,080 --> 00:53:51,600 ATHRO: Fy ddrwg. 1110 00:53:51,600 --> 00:53:52,890 Llawer o ysgrifennu. 1111 00:53:52,890 --> 00:53:53,917 1112 00:53:53,917 --> 00:53:54,500 Mae pawb yn dda? 1113 00:53:54,500 --> 00:53:55,630 1114 00:53:55,630 --> 00:53:56,660 Ddim yn rhy ddrwg, dde? 1115 00:53:56,660 --> 00:53:58,490 Dim ond yn cymryd ychydig tra i weithio drwy'r. 1116 00:53:58,490 --> 00:54:01,080 Os byddwch yn torri i lawr, deall beth mae pob rhan 1117 00:54:01,080 --> 00:54:03,197 yn cyfeirio i-- fel gyda phopeth 'i', 1118 00:54:03,197 --> 00:54:05,780 yes-- dorri i lawr at yr ychydig problemau ac yna ailgyfuno, 1119 00:54:05,780 --> 00:54:07,345 a gallwch wneud rhai pethau anhygoel. 1120 00:54:07,345 --> 00:54:08,970 Ceir yr atebion, ond yr ydym yn gwneud hynny. 1121 00:54:08,970 --> 00:54:10,324 1122 00:54:10,324 --> 00:54:11,115 Rhifyddeg pwyntydd. 1123 00:54:11,115 --> 00:54:13,961 1124 00:54:13,961 --> 00:54:14,460 Ah. 1125 00:54:14,460 --> 00:54:15,510 Mae fy dwylo i gyd yn sialc. 1126 00:54:15,510 --> 00:54:17,970 Felly adio neu dynnu int addasu'r pwyntydd 1127 00:54:17,970 --> 00:54:21,890 gan faint y math o pwyntydd. 1128 00:54:21,890 --> 00:54:22,940 1129 00:54:22,940 --> 00:54:28,390 Cofio sut pob math Mae gan faint gwahanol? 1130 00:54:28,390 --> 00:54:34,890 Felly, fel dwbl neu hir dymor yw wyth a int yw phedwar ond torgoch yn un. 1131 00:54:34,890 --> 00:54:38,360 >> Felly, yr hyn yr ydych am ei wneud yw-- un peth i'w gofio 1132 00:54:38,360 --> 00:54:44,080 yn unig yw bod faint mae'ch Gwerth pwyntydd mewn gwirionedd yn newid 1133 00:54:44,080 --> 00:54:46,550 yn dibynnu ar y math o pwyntydd y mae. 1134 00:54:46,550 --> 00:54:50,820 1135 00:54:50,820 --> 00:54:51,820 Mae pawb yn dda gyda hyn? 1136 00:54:51,820 --> 00:54:52,760 Alla i ddileu ei? 1137 00:54:52,760 --> 00:54:53,440 Rydym yn dda? 1138 00:54:53,440 --> 00:54:53,940 Awesome. 1139 00:54:53,940 --> 00:55:01,020 1140 00:55:01,020 --> 00:55:07,501 >> Felly, os oes gennym ryw pwyntydd that-- hyn yn mynd i be-- rwy'n 1141 00:55:07,501 --> 00:55:08,834 mynd i'w wneud yn pwyntydd int. 1142 00:55:08,834 --> 00:55:10,610 1143 00:55:10,610 --> 00:55:12,760 Mae'n siopau hyn. 1144 00:55:12,760 --> 00:55:14,210 1145 00:55:14,210 --> 00:55:20,170 Pe baech yn dweud pwyntydd ynghyd ag un, yr hyn y mae'n mynd i'w wneud 1146 00:55:20,170 --> 00:55:23,420 ei fod yn mynd i ddiweddaru iddo gan y maint o int 1147 00:55:23,420 --> 00:55:25,950 oherwydd dyna yw'r math o pwyntydd y mae. 1148 00:55:25,950 --> 00:55:28,260 >> Gyda C, popeth yn llym iawn a rheoledig. 1149 00:55:28,260 --> 00:55:29,440 1150 00:55:29,440 --> 00:55:35,260 Mae'r pwyntydd int yn mynd i ddiweddaru erbyn faint o le byddai int cymryd. 1151 00:55:35,260 --> 00:55:36,260 Mae int yw pedwar bytes. 1152 00:55:36,260 --> 00:55:37,650 1153 00:55:37,650 --> 00:55:39,060 >> Felly beth fyddai hyn yn troi i mewn i? 1154 00:55:39,060 --> 00:55:40,876 1155 00:55:40,876 --> 00:55:44,390 Ydych ond yn ychwanegu pedwar ar hyn. 1156 00:55:44,390 --> 00:55:50,040 Nawr, byddai eich pwyntydd be-- OK. 1157 00:55:50,040 --> 00:55:51,820 1158 00:55:51,820 --> 00:55:55,380 >> Felly, os oedd yn torgoch ac fe wnaethom pwyntydd ynghyd ag un, beth fyddai hynny yn awr? 1159 00:55:55,380 --> 00:56:00,300 1160 00:56:00,300 --> 00:56:03,330 Os yw'n started-- esgus ein bod started-- ar hyn o bryd ei fod yn 0x08. 1161 00:56:03,330 --> 00:56:04,850 1162 00:56:04,850 --> 00:56:10,850 Gadewch i ni yn awr yn dweud fod hyn yn golosg pwyntydd, ac ychwanegwyd un. 1163 00:56:10,850 --> 00:56:11,850 Yr hyn y byddai'n newid i? 1164 00:56:11,850 --> 00:56:14,989 1165 00:56:14,989 --> 00:56:16,030 Sawl beit yw torgoch? 1166 00:56:16,030 --> 00:56:16,680 >> GYNULLEIDFA: Un. 1167 00:56:16,680 --> 00:56:17,304 >> SIARADWR 1: Un. 1168 00:56:17,304 --> 00:56:18,309 GYNULLEIDFA: Felly 0x09. 1169 00:56:18,309 --> 00:56:19,600 SIARADWR 1: Felly byddai'n naw. 1170 00:56:19,600 --> 00:56:22,571 1171 00:56:22,571 --> 00:56:23,820 Felly, dim ond rhywbeth i'w gofio. 1172 00:56:23,820 --> 00:56:28,340 Dim ond pan fyddwch yn ychwanegu un, nid yw'n ychwanegu un oni bai ei fod yn torgoch. 1173 00:56:28,340 --> 00:56:34,190 Mae wedi ychwanegu sawl bytes y math ei bod yn, 1174 00:56:34,190 --> 00:56:36,960 a dyna pam yr ydym wedi hafaliad hyn i fyny yma. 1175 00:56:36,960 --> 00:56:40,190 Felly mae'n amser int maint o'r math o pwyntydd. 1176 00:56:40,190 --> 00:56:42,850 1177 00:56:42,850 --> 00:56:44,730 >> Felly mae gennym yr enghraifft yma. 1178 00:56:44,730 --> 00:56:47,250 1179 00:56:47,250 --> 00:56:54,430 Roedd y neilltuo at y gwerth hwnnw, 0x4, pan wnaethom y plws yn dychwelyd un. 1180 00:56:54,430 --> 00:56:56,830 Beth sydd ynddo, yr hyn sy'n mewn x, nid yw'n newid. 1181 00:56:56,830 --> 00:56:58,610 Beth mae newid yw'r hyn sydd yn y. 1182 00:56:58,610 --> 00:57:04,980 Gall y cyfeiriad storio yn y ddiweddaru gan bedwar oherwydd mae pedwar bytes mewn int 1183 00:57:04,980 --> 00:57:06,097 a 'i' an pwyntydd int. 1184 00:57:06,097 --> 00:57:07,290 1185 00:57:07,290 --> 00:57:07,790 >> Mae pob hawl. 1186 00:57:07,790 --> 00:57:09,123 Felly, yn awr mae gennym ymarfer arall. 1187 00:57:09,123 --> 00:57:11,140 1188 00:57:11,140 --> 00:57:13,500 Felly, y cwestiwn yw beth fydd yn argraffu. 1189 00:57:13,500 --> 00:57:36,710 1190 00:57:36,710 --> 00:57:37,650 Unrhyw syniadau? 1191 00:57:37,650 --> 00:57:41,690 1192 00:57:41,690 --> 00:57:43,699 >> GYNULLEIDFA: Mae nifer y cymeriadau yn gath yn hapus? 1193 00:57:43,699 --> 00:57:44,490 SIARADWR 1: Yn union. 1194 00:57:44,490 --> 00:57:45,531 Felly hoffi gyda'ch llinyn. 1195 00:57:45,531 --> 00:57:47,302 1196 00:57:47,302 --> 00:57:48,260 A yw pawb yn cael hynny? 1197 00:57:48,260 --> 00:57:49,509 A ydym am gerdded drwyddo? 1198 00:57:49,509 --> 00:57:50,300 1199 00:57:50,300 --> 00:57:52,010 >> Ie, OK. 1200 00:57:52,010 --> 00:57:57,385 Felly, yr hyn yr ydym Yma-- rhaid i mi fel hyn cymaint mwy. 1201 00:57:57,385 --> 00:57:59,340 Nid oes gennyf i [Anghlywadwy] chwerthinllyd. 1202 00:57:59,340 --> 00:58:01,690 >> Felly, rydym wedi ein llinyn yma, cath hapus. 1203 00:58:01,690 --> 00:58:02,950 Lovely. 1204 00:58:02,950 --> 00:58:05,080 Mae gennym rai cownter sy'n rydym yn cadw golwg ar. 1205 00:58:05,080 --> 00:58:11,430 Felly, mae gennym rai torgoch * pwyntydd mai dim ond yn cael ei osod cyfartal i str. 1206 00:58:11,430 --> 00:58:14,320 Beth mae hyn yn ei wneud yw ei fod yn aseinio rhyw pwyntydd 1207 00:58:14,320 --> 00:58:16,380 i ddechrau eich llinyn. 1208 00:58:16,380 --> 00:58:19,840 Gan fy mod i'n siwr, gan ei fod yn Soniwyd yn y ddarlith, 1209 00:58:19,840 --> 00:58:22,290 rydym wedi rhoi guys chi yma Math o ddata o'r enw llinyn. 1210 00:58:22,290 --> 00:58:29,070 >> Ond mewn gwirionedd llinynnau yn unig amrywiaeth o- fel torgoch *. 1211 00:58:29,070 --> 00:58:32,330 Mae'n pwyntydd â chriw o gymeriadau sy'n cydgyffwrdd yn y cof. 1212 00:58:32,330 --> 00:58:33,680 1213 00:58:33,680 --> 00:58:36,280 Felly, mae hyn yn unig yn gosod ei gyfartal i unrhyw llinyn yw 1214 00:58:36,280 --> 00:58:38,980 a nodwyd gan ble ei gymeriad cyntaf yw. 1215 00:58:38,980 --> 00:58:42,710 Felly, mae hyn yn unig yw gosod ryw adeg cyfartal i gychwyn y llinyn. 1216 00:58:42,710 --> 00:58:44,130 Mae pawb yn dda yno? 1217 00:58:44,130 --> 00:58:44,960 Cool. 1218 00:58:44,960 --> 00:58:49,840 >> Felly, mae hyn yn ein dereferencing pwyntydd. 1219 00:58:49,840 --> 00:58:53,760 Felly, mae'n wir yn mynd i rhoi rhywfaint o werth i ni yn y fan hyn, 1220 00:58:53,760 --> 00:58:55,610 yn ein llinyn yr ydym yn sôn amdano. 1221 00:58:55,610 --> 00:58:58,342 Ac rydym yn ei ddweud ar yr amod nid yw'n terminator null. 1222 00:58:58,342 --> 00:59:00,550 Felly, dal i fynd nes i chi ei gael at ddiwedd y llinyn. 1223 00:59:00,550 --> 00:59:02,180 1224 00:59:02,180 --> 00:59:04,190 Diweddaru eich pwyntydd erbyn un. 1225 00:59:04,190 --> 00:59:09,250 Felly r, bydd yn mewn gwirionedd yn diweddaru erbyn un bob tro am fod hwn yn torgoch, 1226 00:59:09,250 --> 00:59:09,820 y torgoch *. 1227 00:59:09,820 --> 00:59:10,930 1228 00:59:10,930 --> 00:59:12,340 >> Felly, mae'n mynd i fynd drwy. 1229 00:59:12,340 --> 00:59:13,290 Mae'n mynd i ddiweddaru. 1230 00:59:13,290 --> 00:59:16,705 Felly, y tro cyntaf mae hyn yn rhedeg, mae'n mynd i fod yma yn h. 1231 00:59:16,705 --> 00:59:17,590 Mae'n mynd i ddiweddaru. 1232 00:59:17,590 --> 00:59:18,185 >> Bydd yn yn a. 1233 00:59:18,185 --> 00:59:21,310 Mi fydd hi'n p, y, ac yn y blaen ac yn y blaen. 1234 00:59:21,310 --> 00:59:22,300 Byddwn yn diweddaru'r cownter. 1235 00:59:22,300 --> 00:59:26,160 Pan fydd yn cyrraedd y diwedd, mae'n jyst printiau pa mor bell y mae wedi gotten. 1236 00:59:26,160 --> 00:59:27,550 1237 00:59:27,550 --> 00:59:28,050 Ie. 1238 00:59:28,050 --> 00:59:31,475 >> GYNULLEIDFA: Felly Mae'n cyfrif y gofod fel un, dde? 1239 00:59:31,475 --> 00:59:31,974 OK. 1240 00:59:31,974 --> 00:59:34,294 1241 00:59:34,294 --> 00:59:35,222 >> SIARADWR 1: Meddyliwch hynny. 1242 00:59:35,222 --> 00:59:36,830 A yw hynny'n question-- 1243 00:59:36,830 --> 00:59:37,746 >> GYNULLEIDFA: [Anghlywadwy]. 1244 00:59:37,746 --> 00:59:37,968 1245 00:59:37,968 --> 00:59:38,884 >> SIARADWR 1: Dim pryderon. 1246 00:59:38,884 --> 00:59:39,720 1247 00:59:39,720 --> 00:59:42,736 Mae hyn yr wyf yn gwneud hynny. 1248 00:59:42,736 --> 00:59:47,710 Mae pob hawl, felly un peth yr wyf yn deall yw bod gydag amrywiaeth, 1249 00:59:47,710 --> 00:59:51,736 gallwch hefyd drin fel pwyntydd oherwydd araeau yn unig 1250 00:59:51,736 --> 00:59:52,860 smotiau parhaus o gof. 1251 00:59:52,860 --> 00:59:53,970 1252 00:59:53,970 --> 00:59:56,380 >> Felly, gallwch chi ei drin yr un ffordd. 1253 00:59:56,380 --> 00:59:59,000 Gallwch eu trin gydag awgrymiadau, hefyd. 1254 00:59:59,000 --> 01:00:04,770 Felly, yn hytrach na gwneud, yn hyn achos, y peth cyfatebol 1255 01:00:04,770 --> 01:00:07,490 fyddai arae 0 yn dychwelyd 1. 1256 01:00:07,490 --> 01:00:08,760 1257 01:00:08,760 --> 01:00:15,210 >> Ond yn yr un modd ag y llinyn yn cael ei bennu 1258 01:00:15,210 --> 01:00:18,740 erbyn dechrau lle ei gymeriad cyntaf yw, 1259 01:00:18,740 --> 01:00:22,270 amrywiaeth yn cael ei bennu gan lle mae ei elfen gyntaf yw. 1260 01:00:22,270 --> 01:00:25,120 Oherwydd ein bod yn gwybod, rydym yn gwarantu, bod y rhain 1261 01:00:25,120 --> 01:00:27,985 yn mynd i fod yn un barhaus blociau o gof. 1262 01:00:27,985 --> 01:00:29,360 Dyna beth yn ein galluogi i wneud hyn. 1263 01:00:29,360 --> 01:00:31,193 Rydym yn gwybod eu bod yn dor blociau o gof. 1264 01:00:31,193 --> 01:00:32,230 1265 01:00:32,230 --> 01:00:36,500 >> Felly, yn yr achos hwn, trwy dereferencing amrywiaeth yn unig, sy'n dweud wrthym, 1266 01:00:36,500 --> 01:00:40,800 OK, ewch i ddechrau'r eich array, sydd yn fan hyn. 1267 01:00:40,800 --> 01:00:42,640 Felly, gallwch osod hafal i un. 1268 01:00:42,640 --> 01:00:48,610 Ac yn yr achos hwn, beth bynnag yw eich array math yw, pan fyddwch yn diweddaru ei erbyn un, 1269 01:00:48,610 --> 01:00:50,830 dyna union fel diweddaru iddo at y mynegai nesaf. 1270 01:00:50,830 --> 01:00:52,760 1271 01:00:52,760 --> 01:00:56,360 Gallwch chi wneud hynny oherwydd eich bod yn gwybod beth sydd yn eich casgliad. 1272 01:00:56,360 --> 01:00:59,770 Felly mae'n gwybod faint i'w diweddaru eich pwyntydd yn ôl, 1273 01:00:59,770 --> 01:01:02,925 pa gyfeiriad i roi'r wybodaeth ddiweddaraf iddo i hynny eich bod chi yn y slot nesaf. 1274 01:01:02,925 --> 01:01:04,740 1275 01:01:04,740 --> 01:01:09,400 >> Felly, mae hyn yn unig yw ffordd wahanol o ysgrifennu array 0 yn dychwelyd 1, 1276 01:01:09,400 --> 01:01:15,114 array 1 yn dychwelyd 2, array braced 2 yn dychwelyd 3. 1277 01:01:15,114 --> 01:01:16,780 Dim ond ffordd arall i feddwl am y peth. 1278 01:01:16,780 --> 01:01:19,600 Oherwydd eu bod yn ddi-dor blociau yn y cof, 1279 01:01:19,600 --> 01:01:21,830 gallwch gyfeirio atynt naill ai gan yr amrywiaeth notation-- 1280 01:01:21,830 --> 01:01:24,390 yr wyf yn bersonol dod o hyd i easier-- ond efallai 1281 01:01:24,390 --> 01:01:27,347 angen i chi ei drin iddo llym gan cyfeiriadau cof. 1282 01:01:27,347 --> 01:01:28,930 Ac mae hyn yn y ffordd y byddech yn gwneud hynny. 1283 01:01:28,930 --> 01:01:30,630 1284 01:01:30,630 --> 01:01:32,630 Math o fwy o fel beth cool gallech ei wneud 1285 01:01:32,630 --> 01:01:35,213 yn erbyn rhywbeth efallai nad ydych yn mewn gwirionedd yn mynd i weithredu. 1286 01:01:35,213 --> 01:01:36,960 1287 01:01:36,960 --> 01:01:38,630 >> Rwy'n ei ddefnyddio mewn 61. 1288 01:01:38,630 --> 01:01:41,710 Nid ydych guys yn ôl pob tebyg dim angen i chi boeni am y peth ormod. 1289 01:01:41,710 --> 01:01:43,693 Ond os oes gennych ddiddordeb, cymryd 61 y flwyddyn nesaf. 1290 01:01:43,693 --> 01:01:45,269 1291 01:01:45,269 --> 01:01:46,560 Rydym yn y darn cartref guys. 1292 01:01:46,560 --> 01:01:47,510 Rwy'n gwybod, ei fod yn hir. 1293 01:01:47,510 --> 01:01:50,570 1294 01:01:50,570 --> 01:01:58,880 Dynamic Cof Allocation-- felly rydym yn gwybod bod un 1295 01:01:58,880 --> 01:02:01,790 o bethau pan fyddwn yn siarad yn ystod ein hadran gyntaf at ei gilydd, 1296 01:02:01,790 --> 01:02:04,560 buom yn edrych ar gyfnewid swyddogaeth lle'r oedd 1297 01:02:04,560 --> 01:02:08,010 tu allan i gwmpas ein prif swyddogaeth. 1298 01:02:08,010 --> 01:02:14,370 Ac rydym yn teithio yn y gwerthoedd hyn a oedd copïau yn effeithiol. 1299 01:02:14,370 --> 01:02:20,570 >> Ac unwaith cyfnewid gorffen gweithredu, mae newydd adael pentwr. 1300 01:02:20,570 --> 01:02:22,830 Cofiwch, mae gennym pentwr ffrâm am gyfnewid. 1301 01:02:22,830 --> 01:02:26,070 Mae'n gadael ac yn rhai gwerthoedd adael ag ef. 1302 01:02:26,070 --> 01:02:27,050 Ac yr oeddent yn mynd. 1303 01:02:27,050 --> 01:02:28,615 Ni allem wneud unrhyw beth gyda nhw ac roeddem yn drist 1304 01:02:28,615 --> 01:02:29,989 oherwydd ni allwn gyfnewid ein gwerthoedd. 1305 01:02:29,989 --> 01:02:31,070 1306 01:02:31,070 --> 01:02:36,560 >> Ond gyda C, fel y soniais, yr ydych cael llawer o rym dros gof. 1307 01:02:36,560 --> 01:02:43,310 Felly, beth y gallwch ei wneud yw eich bod yn gallu dyrannu pethau ar y domen yma 1308 01:02:43,310 --> 01:02:46,830 a fydd yn aros yno hyd nes y eich bod yn dweud wrthynt fel arall. 1309 01:02:46,830 --> 01:02:48,280 >> Maen nhw fel plant da. 1310 01:02:48,280 --> 01:02:49,150 Maent yn aros yno. 1311 01:02:49,150 --> 01:02:50,270 Nid ydynt yn gadael. 1312 01:02:50,270 --> 01:02:52,750 Byddant yn aros yno hyd nes eich bod fel, OK, gallwch fynd i ffwrdd. 1313 01:02:52,750 --> 01:02:55,920 >> Er bod pethau ar y simnai, who-- maen nhw fel plant drwg. 1314 01:02:55,920 --> 01:02:59,160 Byddan nhw'n jyst yn rhedeg i ffwrdd pan fyddwch eisiau i fod yn y fan a'r lle maen nhw'n mynd. 1315 01:02:59,160 --> 01:03:00,160 Ni allwch gael yn ôl. 1316 01:03:00,160 --> 01:03:01,350 1317 01:03:01,350 --> 01:03:07,187 >> Felly mae'r domen yw-- rydym yn mynd i siarad am malloc ac am ddim, sy'n 1318 01:03:07,187 --> 01:03:08,895 Rwy'n siŵr eich bod guys clywed amdanynt yn y ddarlith. 1319 01:03:08,895 --> 01:03:10,270 1320 01:03:10,270 --> 01:03:14,210 A dyna yn y bôn yn ffordd i gael data cyson iawn. 1321 01:03:14,210 --> 01:03:18,920 Felly, gallwch chi gadw'r data o gwmpas cyn belled ag y dymunwch. 1322 01:03:18,920 --> 01:03:19,546 MHM. 1323 01:03:19,546 --> 01:03:21,475 >> GYNULLEIDFA: Allwch chi ddiffinio tomen a simnai? 1324 01:03:21,475 --> 01:03:24,030 A ydynt yn hoffi llefydd i roi pethau? 1325 01:03:24,030 --> 01:03:26,630 >> SIARADWR 1: Felly, maen nhw'n bôn just-- eu bod yn 1326 01:03:26,630 --> 01:03:29,530 y ffordd yr ydym yn cyfeirio yn unig at cof. 1327 01:03:29,530 --> 01:03:37,300 Felly domen yn unig yw lleoedd lle cof yn cael ei ddyrannu yn ddeinamig, 1328 01:03:37,300 --> 01:03:40,960 tra yn cyfeirio stac mwy i'r golwg fframiau 1329 01:03:40,960 --> 01:03:45,950 sy'n fwy canolog i'r swyddogaethau sy'n cael eu rhedeg mewn gwirionedd. 1330 01:03:45,950 --> 01:03:47,200 Nid oes mewn gwirionedd gennych reolaeth i chi. 1331 01:03:47,200 --> 01:03:50,690 >> Y gwahaniaeth mawr, mae gennych reolaeth dros y domen os ydych yn dymuno. 1332 01:03:50,690 --> 01:03:52,710 Mae gennych lai o reolaeth dros y pentwr. 1333 01:03:52,710 --> 01:03:55,030 Mae'r stac yn dibynnu ar y swyddogaethau sy'n cael eu rhedeg, 1334 01:03:55,030 --> 01:03:58,320 ac ym mha drefn y maent yn rhedeg, a sut mae pethau'n cael eu dychwelyd. 1335 01:03:58,320 --> 01:04:01,290 Tra gyda'r domen, fel y byddwn yn gweld, gallwch ddweud, 1336 01:04:01,290 --> 01:04:06,639 OK, yr wyf am y gwerth hwn fod yn o gwmpas nes i mi ddweud wrthych yn wahanol. 1337 01:04:06,639 --> 01:04:08,180 Nid oes gennych hawl i gael gwared ohono. 1338 01:04:08,180 --> 01:04:09,300 Nid ydych yn cael ei ddiystyru. 1339 01:04:09,300 --> 01:04:11,675 Rydych yn mynd i gadw o gwmpas am gyhyd ag yr wyf yn dweud wrthych. 1340 01:04:11,675 --> 01:04:15,780 Byddwch yn cael i fod yn y bos yn y domen, tra bod y stack-- efallai os ydych yn 1341 01:04:15,780 --> 01:04:18,080 fel finagle eich ffordd gallwch fod yn y bos. 1342 01:04:18,080 --> 01:04:19,340 Ond nid yn eithaf. 1343 01:04:19,340 --> 01:04:20,480 1344 01:04:20,480 --> 01:04:22,070 A 'i' 'n sylweddol dim ond cof. 1345 01:04:22,070 --> 01:04:24,260 'I' jyst gwahanol ffyrdd o gyfeirio at gof. 1346 01:04:24,260 --> 01:04:25,800 1347 01:04:25,800 --> 01:04:26,400 >> Cool. 1348 01:04:26,400 --> 01:04:28,630 Felly, gyda hynny, sut i rheoli eich cof. 1349 01:04:28,630 --> 01:04:32,070 Mae'n gyda malloc, a oedd rydych yn mynd i gael eu defnyddio. 1350 01:04:32,070 --> 01:04:37,100 Felly, 'i' ychydig yn brin ar gyfer dyrannu cof. 1351 01:04:37,100 --> 01:04:38,459 Dyna'r cyfan y mae. 1352 01:04:38,459 --> 01:04:41,250 Mae 'na griw o oer eraill swyddogaethau sydd â alloc ar y diwedd, 1353 01:04:41,250 --> 01:04:42,750 ac maent yn sefyll am bethau gwahanol. 1354 01:04:42,750 --> 01:04:43,550 1355 01:04:43,550 --> 01:04:49,050 >> Felly, pan fyddwch ei angen storio y mae angen i oroesi eich swyddogaeth bresennol fel 1356 01:04:49,050 --> 01:04:51,010 bod pan fydd eich presennol swyddogaeth yn rhedeg i ffwrdd, 1357 01:04:51,010 --> 01:04:55,774 byddwch yn dal i gael y data y byddwch yn got ohono, ydych am ei ddefnyddio malloc. 1358 01:04:55,774 --> 01:04:57,190 Bydd hynny'n ei ymgychwyn ar y domen. 1359 01:04:57,190 --> 01:05:00,140 Ac fel y dywedais a chadw gan ddweud, byddwch yn ei gadw yno 1360 01:05:00,140 --> 01:05:03,050 hyd nes y byddwch yn dweud ei fod fel arall, sef y peth pwysig yma. 1361 01:05:03,050 --> 01:05:08,450 >> Felly, un peth i hysbysiad, ac mae hynny'n bwysig iawn fel arfer, 1362 01:05:08,450 --> 01:05:13,620 yw bod hyn sizeof yn super ddefnyddiol i'w ddefnyddio 1363 01:05:13,620 --> 01:05:16,440 oherwydd bod yn dibynnu ar y math o beiriant rydych yn rhedeg, 1364 01:05:16,440 --> 01:05:22,470 gall fod arno symiau amrywiol o gof ei bod yn cymryd. 1365 01:05:22,470 --> 01:05:26,870 Felly, yr ydych bob amser yn awyddus i ddefnyddio maint felly nad ydych yn ddibynnol peiriant, 1366 01:05:26,870 --> 01:05:30,300 fel bod eich cod bydd rhedeg ar unrhyw beiriant. 1367 01:05:30,300 --> 01:05:32,360 >> A dim ond rhan o ysgrifennu cod da. 1368 01:05:32,360 --> 01:05:34,610 Os bydd yn gweithio ar un peiriant, ond nid yw unrhyw un o'r bobl eraill, 1369 01:05:34,610 --> 01:05:36,440 pa mor ddefnyddiol oedd eich rhaglen? 1370 01:05:36,440 --> 01:05:38,420 Felly, yr ydych bob amser yn awyddus i gwnewch yn siŵr a defnyddio sizeof. 1371 01:05:38,420 --> 01:05:41,306 >> GYNULLEIDFA: Felly, yw bod fel yr maint o 10 modfedd [Anghlywadwy]? 1372 01:05:41,306 --> 01:05:43,698 >> SIARADWR 1: Mae hyn yn y maint o 10 ints. 1373 01:05:43,698 --> 01:05:44,197 yeah. 1374 01:05:44,197 --> 01:05:45,360 1375 01:05:45,360 --> 01:05:48,830 Felly, bydd maint y ints dychwelyd faint mae un int cymryd. 1376 01:05:48,830 --> 01:05:51,530 Neu faint y torgoch, sut llawer yn un cymryd torgoch. 1377 01:05:51,530 --> 01:05:54,150 Ac yna faint o flociau o hynny ydych chi eisiau? 1378 01:05:54,150 --> 01:05:57,590 >> Felly, yn yr achos hwn, rydym am rywbeth ein bod yn gallu storio 10 o ints i. 1379 01:05:57,590 --> 01:06:00,240 A bydd yn gweithio beth bynnag o beiriant, sydd yn oer. 1380 01:06:00,240 --> 01:06:01,720 1381 01:06:01,720 --> 01:06:04,846 Felly faint o bytes bydd sydd mewn gwirionedd yn rhoi i chi? 1382 01:06:04,846 --> 01:06:06,190 Mathemateg Cyflym. 1383 01:06:06,190 --> 01:06:06,787 >> GYNULLEIDFA: 40. 1384 01:06:06,787 --> 01:06:07,370 SIARADWR 1: 40. 1385 01:06:07,370 --> 01:06:07,869 Yn union. 1386 01:06:07,869 --> 01:06:09,520 1387 01:06:09,520 --> 01:06:12,030 Felly mae peth mawr arall. 1388 01:06:12,030 --> 01:06:14,840 Gall Pointer neu malloc dychwelyd null. 1389 01:06:14,840 --> 01:06:17,910 >> Felly, unwaith eto, dylech sicrhau bob amser i weld a dychwelodd nwl 1390 01:06:17,910 --> 01:06:19,620 cyn i chi geisio gwneud unrhyw beth ag ef. 1391 01:06:19,620 --> 01:06:23,430 1392 01:06:23,430 --> 01:06:27,350 Os ydych yn ceisio dereference pwyntydd hwn yn awr, 1393 01:06:27,350 --> 01:06:29,720 dim ond mae'n mynd i segfault oherwydd eich bod yn mynd ac yn rhoi cynnig 1394 01:06:29,720 --> 01:06:31,730 i gyffwrdd null pan na ddylai fod gennych. 1395 01:06:31,730 --> 01:06:34,000 Felly, bob amser yn chwilio am null. 1396 01:06:34,000 --> 01:06:36,075 Unwaith eto, gall yr holl chi ei wneud. 1397 01:06:36,075 --> 01:06:38,300 1398 01:06:38,300 --> 01:06:39,720 >> Gallai fod yn dychwelyd null. 1399 01:06:39,720 --> 01:06:42,740 Bydd yn dychwelyd null os ydych naill ai allan o le, neu am ba bynnag reswm 1400 01:06:42,740 --> 01:06:44,350 ei fod yn rhedeg i mewn i rai bug cof. 1401 01:06:44,350 --> 01:06:45,890 1402 01:06:45,890 --> 01:06:47,510 Mae weithiau dim ond yn dychwelyd null. 1403 01:06:47,510 --> 01:06:48,990 Felly, os oes gen ti i wirio am iddo. 1404 01:06:48,990 --> 01:06:51,050 Dyna'r cyfan y sleid hon yn ei ddweud. 1405 01:06:51,050 --> 01:06:53,366 1406 01:06:53,366 --> 01:06:55,240 Ac yna yr hyn sydd gennym dyma alwad am ddim. 1407 01:06:55,240 --> 01:07:00,550 Felly, yn yr un modd, os ydych agor ffeil mae'n rhaid i chi gau ffeil, 1408 01:07:00,550 --> 01:07:04,340 os ydych cof malloc, rydych mae'n rhaid i chi am ddim y cof. 1409 01:07:04,340 --> 01:07:06,530 A byddwch yn guys yn cael i wneud pethau 'n sylweddol oera. 1410 01:07:06,530 --> 01:07:09,624 >> Ac mae rhaglen y gallwch ei redeg i weld a ydych yn byth yn gollwng cof. 1411 01:07:09,624 --> 01:07:11,040 Ond nad ydych am i gollwng cof. 1412 01:07:11,040 --> 01:07:11,820 Mae'n wirioneddol ddrwg. 1413 01:07:11,820 --> 01:07:13,191 1414 01:07:13,191 --> 01:07:15,020 Llanast i fyny pethau yn unig. 1415 01:07:15,020 --> 01:07:20,939 >> Mae'n ddrwg i wneud yn union fel rhaglennu ddoeth ar gyfer effeithlonrwydd dylunio. 1416 01:07:20,939 --> 01:07:22,980 Ond mae hefyd yn jyst fath o wael ar gyfer eich cyfrifiadur. 1417 01:07:22,980 --> 01:07:26,780 Pethau felly dim ond am ddim pan fyddwch yn eu malloc. 1418 01:07:26,780 --> 01:07:28,190 1419 01:07:28,190 --> 01:07:30,210 >> Rydych guys yn gweld y cymesureddau yma. 1420 01:07:30,210 --> 01:07:31,180 Super syml. 1421 01:07:31,180 --> 01:07:33,010 Dim ond yn rhydd ac yna beth bynnag yw eich pwyntydd, 1422 01:07:33,010 --> 01:07:34,843 beth bynnag enw eich pwyntydd yw, ac mae'n 1423 01:07:34,843 --> 01:07:36,710 Bydd yn gofalu am ryddhau hynny ar eich rhan. 1424 01:07:36,710 --> 01:07:38,200 1425 01:07:38,200 --> 01:07:38,700 Cool. 1426 01:07:38,700 --> 01:07:40,410 1427 01:07:40,410 --> 01:07:42,530 >> Yna, rydym wedi hyn. 1428 01:07:42,530 --> 01:07:44,770 Felly, rydym yn jyst yn mynd i cerdded drwy'r rhaglen hon. 1429 01:07:44,770 --> 01:07:46,560 Ac yna rydych guys yn cael eu gwneud. 1430 01:07:46,560 --> 01:07:50,240 >> Felly [Anghlywadwy] jyst prif. 1431 01:07:50,240 --> 01:07:51,690 Felly, mae gennym rai int * pwyntydd. 1432 01:07:51,690 --> 01:07:53,648 Felly mae gennym pwyntydd mae hynny'n mynd i ddal ints. 1433 01:07:53,648 --> 01:07:54,500 1434 01:07:54,500 --> 01:07:56,170 A faint o ints mae'n mynd i ddal? 1435 01:07:56,170 --> 01:07:57,400 1436 01:07:57,400 --> 01:07:58,170 Dim ond un. 1437 01:07:58,170 --> 01:07:59,400 1438 01:07:59,400 --> 01:08:01,100 Maint o int. 1439 01:08:01,100 --> 01:08:03,900 >> Rydym yn gwirio i weld os pwyntydd yn null oherwydd ei fod yn 1440 01:08:03,900 --> 01:08:06,130 yw, yr ydym am ei ddweud peidiwch â gwneud unrhyw beth. 1441 01:08:06,130 --> 01:08:07,065 Mae'n ddrwg. 1442 01:08:07,065 --> 01:08:08,130 1443 01:08:08,130 --> 01:08:12,130 Felly, rydym yn argraffu rhyw wall allan o cof, mae'r rhan fwyaf yn aml yn dychwelyd 1, 1444 01:08:12,130 --> 01:08:14,260 wrth i chi guys yn cael eu defnyddio i. 1445 01:08:14,260 --> 01:08:17,390 >> Ac yna sydd gennym yma, rydym yn dereference ein pwyntydd. 1446 01:08:17,390 --> 01:08:22,840 Felly, mae hynny'n golygu ein bod ni'n mynd i storio rhywbeth yn y lleoliad a roddwyd i ni. 1447 01:08:22,840 --> 01:08:24,350 1448 01:08:24,350 --> 01:08:30,830 Int * pwyntydd, neu malloc, yn dychwelyd y cyfeiriad o ble y mae'n neilltu hwn 1449 01:08:30,830 --> 01:08:31,750 cof ar eich cyfer. 1450 01:08:31,750 --> 01:08:32,830 1451 01:08:32,830 --> 01:08:34,800 Felly, yn y bôn gan roi i chi os ydych like-- 1452 01:08:34,800 --> 01:08:38,149 meddwl am griw o tai mewn cymdogaeth 1453 01:08:38,149 --> 01:08:40,640 eich bod eisiau rhoi eich mewn dodrefn, malloc 1454 01:08:40,640 --> 01:08:43,850 yn debyg iawn, byddwch yn cael i fynd i dŷ tri. 1455 01:08:43,850 --> 01:08:45,800 Ac mae'n rhoi i chi y cyfeiriad y tŷ tair. 1456 01:08:45,800 --> 01:08:48,775 >> Felly, mae hyn ar hyn o bryd, mae hyn yn siopau pwyntydd cyfeiriad, 1457 01:08:48,775 --> 01:08:50,149 storio cyfeiriad eich tŷ. 1458 01:08:50,149 --> 01:08:51,470 1459 01:08:51,470 --> 01:08:54,640 * Yn golygu ptr, OK, rwy'n yn fy nhŷ. 1460 01:08:54,640 --> 01:08:55,326 Cool. 1461 01:08:55,326 --> 01:08:56,580 Angen i mi gael rhywfaint o cyfanrif. 1462 01:08:56,580 --> 01:08:59,229 >> Felly, rydych yn gofyn am rywun i roi dodrefn i chi nawr. 1463 01:08:59,229 --> 01:09:00,430 Felly, byddwch yn cael rhywfaint o int. 1464 01:09:00,430 --> 01:09:05,100 Ac mae'n rhoi yn eich pwyntydd ble mae'n pwyntio at. 1465 01:09:05,100 --> 01:09:08,670 >> Ac yna 'i jyst printiau allan, aeth chi ble bynnag. 1466 01:09:08,670 --> 01:09:11,060 Ac eto, mae'r cyfeiriad. 1467 01:09:11,060 --> 01:09:15,649 Felly, mae hyn yn debyg i chi fynd â hyn yn mynd i'r afael a welsoch yr hyn a oedd yno. 1468 01:09:15,649 --> 01:09:17,120 1469 01:09:17,120 --> 01:09:17,630 Cool? 1470 01:09:17,630 --> 01:09:20,174 >> Ac yna, wrth gwrs, rydym yn rhad ac am ddim ar ein pwyntydd. 1471 01:09:20,174 --> 01:09:21,590 Peidiwch ag anghofio i ryddhau eich pwyntydd. 1472 01:09:21,590 --> 01:09:22,933 Peidiwch ag anghofio i wirio am null. 1473 01:09:22,933 --> 01:09:24,349 Peidiwch ag anghofio i ryddhau eich pwyntydd. 1474 01:09:24,349 --> 01:09:27,270 Mae gennych ddau beth ydych yn cofio o hyn, neu y dylech gofio. 1475 01:09:27,270 --> 01:09:27,770 Ie. 1476 01:09:27,770 --> 01:09:31,590 GYNULLEIDFA: [Anghlywadwy] stwff fel 'na, mae'r torgoch * s. 1477 01:09:31,590 --> 01:09:33,760 Pa mor byth yn dod i ni am ddim rheini? 1478 01:09:33,760 --> 01:09:34,529 >> SIARADWR 1: Hm? 1479 01:09:34,529 --> 01:09:36,450 >> GYNULLEIDFA: A yw rhai fel llinynnau? 1480 01:09:36,450 --> 01:09:39,160 Dywedasoch llinynnau yn yn union fel torgoch * s, dde? 1481 01:09:39,160 --> 01:09:41,200 Felly pam nad ydym am ddim llinynnau? 1482 01:09:41,200 --> 01:09:43,204 >> SIARADWR 1: Rydych yn unig i rhad ac am ddim os ydych yn mallocing. 1483 01:09:43,204 --> 01:09:44,620 GYNULLEIDFA: O, os ydych yn mallocing. 1484 01:09:44,620 --> 01:09:47,399 SIARADWR 1: Felly malloc ac yn rhydd yn ddau beth 1485 01:09:47,399 --> 01:09:49,000 y dylech bob amser yn cael ei gilydd. 1486 01:09:49,000 --> 01:09:51,630 f ar agor, yn agos f, dau beth Dylai fod gennych gyda'i gilydd. 1487 01:09:51,630 --> 01:09:54,471 Yn y ddau yr achosion hynny, gwirio am null. 1488 01:09:54,471 --> 01:09:54,971 Ie. 1489 01:09:54,971 --> 01:09:57,130 >> GYNULLEIDFA: Felly, rhad ac am ddim yn unig caniatáu rhywbeth arall 1490 01:09:57,130 --> 01:09:59,690 i gael eu storio yno ar ôl mae'r rhaglen hon wedi ei ddefnyddio? 1491 01:09:59,690 --> 01:10:01,946 >> SIARADWR 1: Mae'n dim ond dweud, OK, dw i'n ei wneud gyda hyn. 1492 01:10:01,946 --> 01:10:03,320 Nid oes angen i chi gadw o gwmpas. 1493 01:10:03,320 --> 01:10:05,340 1494 01:10:05,340 --> 01:10:08,190 Fel arall, bydd eich cyfrifiadur jyst hoffi ceisiwch a'i gadw yno. 1495 01:10:08,190 --> 01:10:10,910 Ac yna rydych can't-- mae'n rhedeg i faterion cof yn nes ymlaen. 1496 01:10:10,910 --> 01:10:13,660 Rydych chi bob amser yn awyddus i ryddhau oherwydd mae'n dweud wrth eich cyfrifiadur, OK, rwy'n 1497 01:10:13,660 --> 01:10:15,190 wneud gyda fan yma o gof. 1498 01:10:15,190 --> 01:10:17,190 Gallwch ei gael yn ôl i mi ei ddefnyddio yn nes ymlaen. 1499 01:10:17,190 --> 01:10:19,250 1500 01:10:19,250 --> 01:10:20,500 Cool? 1501 01:10:20,500 --> 01:10:21,320 Ie. 1502 01:10:21,320 --> 01:10:26,950 >> GYNULLEIDFA: Felly, yr ydym yn defnyddio y% d yn unig am fod ddwbl sydd wedi dod yn ôl, 1503 01:10:26,950 --> 01:10:28,330 neu pam yw-- [Anghlywadwy]. 1504 01:10:28,330 --> 01:10:30,170 1505 01:10:30,170 --> 01:10:31,620 >> GYNULLEIDFA: A allwch chi ddefnyddio% i? 1506 01:10:31,620 --> 01:10:32,760 >> SIARADWR 1: Gallwch ddefnyddio% i. 1507 01:10:32,760 --> 01:10:35,052 1508 01:10:35,052 --> 01:10:36,135 Unrhyw gwestiynau munud olaf? 1509 01:10:36,135 --> 01:10:38,310 1510 01:10:38,310 --> 01:10:38,985 Mynd yn ei flaen. 1511 01:10:38,985 --> 01:10:40,610 GYNULLEIDFA: Fi jyst gwestiwn cyflym. 1512 01:10:40,610 --> 01:10:50,200 Felly y newidyn PTR, that's-- fel, gyda'r int * ptr = malloc, 1513 01:10:50,200 --> 01:10:54,142 sy'n 'jyst dweud ei fod yn gan dynnu sylw at le yn memory-- 1514 01:10:54,142 --> 01:10:55,600 SIARADWR 1: Ydych chi am [Anghlywadwy]? 1515 01:10:55,600 --> 01:10:58,050 GYNULLEIDFA: --that yw'r maint o- na, mae'n iawn. 1516 01:10:58,050 --> 01:11:01,292 Ond mae'n dim ond pwyntio i le mewn cof dyna union fel pedwar bytes. 1517 01:11:01,292 --> 01:11:02,000 SIARADWR 1: Iawn. 1518 01:11:02,000 --> 01:11:03,030 1519 01:11:03,030 --> 01:11:07,070 Felly malloc maint y int yn dweud, OK, yr wyf i'n mynd i fynd i redeg i ffwrdd, 1520 01:11:07,070 --> 01:11:08,780 dod o hyd i bedwar bytes o gof i chi. 1521 01:11:08,780 --> 01:11:10,700 Pan mae'n darganfod bod pedwar bytes o gof, mae'n 1522 01:11:10,700 --> 01:11:14,030 yn rhoi i chi yn ôl y cyfeiriad o ble y bydd yn dechrau, 1523 01:11:14,030 --> 01:11:16,160 a dyna beth ei storio mewn pwyntydd, neu ptr. 1524 01:11:16,160 --> 01:11:17,510 1525 01:11:17,510 --> 01:11:18,010 Da. 1526 01:11:18,010 --> 01:11:18,742 1527 01:11:18,742 --> 01:11:21,700 Rydych guys yn edrych yn llai dryslyd na'r rhan fwyaf pobl pan fyddaf yn siarad am pwyntydd, 1528 01:11:21,700 --> 01:11:23,670 felly rwy'n teimlo'n eithaf da ar hyn o bryd. 1529 01:11:23,670 --> 01:11:24,520 >> Mae pob hawl. 1530 01:11:24,520 --> 01:11:27,960 Fel bob amser, dylech chi gael yr holl guys gotten eich graddau pset2 erbyn hyn. 1531 01:11:27,960 --> 01:11:32,769 Rwy'n gwybod cafwyd rhai wonky pethau lle mae'n dweud, fformiwla nad ddilys 1532 01:11:32,769 --> 01:11:33,310 neu rywbeth. 1533 01:11:33,310 --> 01:11:36,166 Os ydych yn cael bod, pob un eich graddau yn ddilys ar fy ochr. 1534 01:11:36,166 --> 01:11:38,040 Felly, gallaf anfon chi screenshots eich graddau. 1535 01:11:38,040 --> 01:11:39,011 1536 01:11:39,011 --> 01:11:41,760 Dim ond gadewch i mi wybod yn ogystal os ydych yn colli unrhyw raddau neu rywbeth 1537 01:11:41,760 --> 01:11:43,060 nid yw'n ymddangos i wneud synnwyr. 1538 01:11:43,060 --> 01:11:43,720 Dod i mi. 1539 01:11:43,720 --> 01:11:44,830 1540 01:11:44,830 --> 01:11:48,830 >> Rwyf wedi bod yn super falch ohonoch chi guys yn barod, felly cadwch i fyny. 1541 01:11:48,830 --> 01:11:50,640 Ac yn gael gorffwys da o'ch wythnos. 1542 01:11:50,640 --> 01:11:53,440 Rwy'n siŵr y byddaf yn gweld rhai ohonoch yn oriau swyddfa. 1543 01:11:53,440 --> 01:11:55,414