1 00:00:00,000 --> 00:00:11,320 2 00:00:11,320 --> 00:00:13,260 >> DAVID Malan: Hello, u merħba lura għall CS50. 3 00:00:13,260 --> 00:00:14,860 Allura dan huwa l-aħħar ta 'erba' ġimgħat. 4 00:00:14,860 --> 00:00:16,680 Just tħabbira wieħed ewwel. 5 00:00:16,680 --> 00:00:19,600 Allura l-hekk imsejjaħ ħames Tnejn tkun ġejjin up dan it-tnejn li ġejjin. 6 00:00:19,600 --> 00:00:22,800 Din hija l-opportunità għall-bidla minn Sib / insodisfaċenti għal grad ittra, jew minn 7 00:00:22,800 --> 00:00:24,130 grad ittra SAT / insodisfaċenti. 8 00:00:24,130 --> 00:00:27,130 Annoyingly, dan il-proċess ma jeħtieġu firma, għaliex inti għandek timla 9 00:00:27,130 --> 00:00:28,770 out waħda ta 'dawk roża żid / qatra forom. 10 00:00:28,770 --> 00:00:31,680 >> Minħabba teknikament, l-SAT / insodisfaċenti Verżjoni u l-verżjoni grad ittra 11 00:00:31,680 --> 00:00:33,320 jkollhom in-numri katalgu distinti. 12 00:00:33,320 --> 00:00:34,240 Imma l-ebda big deal. 13 00:00:34,240 --> 00:00:36,620 Just toħroġ lili jew lil Rob jew Lauren fi kwalunkwe punt. 14 00:00:36,620 --> 00:00:39,550 Jew email us jekk inti ma jkollhom it-tip ta 'burokrazija li għandek bżonn illum, u aħna 15 00:00:39,550 --> 00:00:43,410 se jkun żgur biex jgħinuk tieħu ħsieb ta 'dak qabel it-Tnejn. 16 00:00:43,410 --> 00:00:45,780 >> Kull dritt, hekk illum - 17 00:00:45,780 --> 00:00:47,630 attwalment, hemm daqsxejn ta 'eku. 18 00:00:47,630 --> 00:00:51,070 Nistgħu tone me isfel daqsxejn? 19 00:00:51,070 --> 00:00:51,730 OK. 20 00:00:51,730 --> 00:00:54,850 Allura llum, aħna jintroduċu suġġett magħrufa bħala pointers. 21 00:00:54,850 --> 00:00:57,770 U jien ser jammettu li dan huwa wieħed mill- suġġetti aktar kumplessi li għandna t-tendenza li 22 00:00:57,770 --> 00:01:00,960 ikopru f'dan il-klassi, jew verament xi kors ta 'introduzzjoni li juża C. 23 00:01:00,960 --> 00:01:05,510 >> Iżda tieħu kelma tiegħi għaliha, partikolarment jekk moħħok iħoss bent ftit aktar 24 00:01:05,510 --> 00:01:07,100 llum u fil-ġimgħat li ġejjin. 25 00:01:07,100 --> 00:01:10,340 Mhuwiex rappreżentant ta 'inti jkollok kwalunkwe agħar f'dan ifisser biss li 26 00:01:10,340 --> 00:01:13,360 huwa suġġett partikolarment sofistikat li I wegħda, ftit ġimgħat 27 00:01:13,360 --> 00:01:17,610 għalhekk, se jidhru wisq impressjonanti sempliċi retrospettivament. 28 00:01:17,610 --> 00:01:18,720 >> I still remember din il-ġurnata. 29 00:01:18,720 --> 00:01:22,190 I kien seduta fil Elliott Dining Hall, seduta li jmiss TF Nishat tiegħi Mehta, 30 00:01:22,190 --> 00:01:24,070 li kien residenti ta 'Elliott dar. 31 00:01:24,070 --> 00:01:26,340 U għal xi raġuni, dan suġġett biss klikks. 32 00:01:26,340 --> 00:01:29,430 Li huwa li jgħidu li jien wisq tħabtu miegħu għal xi ammont ta 'żmien, iżda I 33 00:01:29,430 --> 00:01:33,610 se nagħmlu l-almu tiegħi biex jgħinu biex jiġu evitati kwalunkwe tali ġlieda ma 'tema li finalment 34 00:01:33,610 --> 00:01:34,580 huwa pjuttost qawwija. 35 00:01:34,580 --> 00:01:37,350 >> Fil-fatt, waħda mit-temi aħna ser jiddiskutu fil-ġimgħat li ġejjin huwa li 36 00:01:37,350 --> 00:01:41,130 ta 'sigurtà, u kif inti tista' fil-fatt jisfruttaw magni b'modi 37 00:01:41,130 --> 00:01:42,320 li ma kinux intiżi. 38 00:01:42,320 --> 00:01:45,850 U dawk isfruttamenti huma tipikament ir-riżultat ta 'bugs, żbalji li aħna 39 00:01:45,850 --> 00:01:49,740 nies jagħmlu billi ma fehim xi tal-implimentazzjoni sottostanti 40 00:01:49,740 --> 00:01:52,250 Dettalji via liema programmi huma magħmula. 41 00:01:52,250 --> 00:01:55,410 >> Issa jagħmlu din jidhru l-aktar utenti friendly, ħsibt I d jkollhom 10 42 00:01:55,410 --> 00:01:59,680 tieni preview ta 'claymation ftit figura jismu Binky li ġie ppreżentat 43 00:01:59,680 --> 00:02:03,020 ħajja minn ħabib ta 'tagħna fil Stanford, professur Nick Parlante. 44 00:02:03,020 --> 00:02:06,753 Allura ippermettuli li jtik din teaser ta 'Binky hawn. 45 00:02:06,753 --> 00:02:09,520 >> [Daqq video] 46 00:02:09,520 --> 00:02:10,380 >> -Ħej, Binky. 47 00:02:10,380 --> 00:02:11,050 Wake up. 48 00:02:11,050 --> 00:02:13,610 Wasal iż-żmien għall-gost pointer. 49 00:02:13,610 --> 00:02:14,741 >> -X'hemm li? 50 00:02:14,741 --> 00:02:16,440 Tgħallem dwar pointers? 51 00:02:16,440 --> 00:02:17,928 Oh, goodie. 52 00:02:17,928 --> 00:02:18,920 >> [Daqq video END] 53 00:02:18,920 --> 00:02:20,670 >> DAVID Malan: Dan huwa Stanford xjenza tal-kompjuter. 54 00:02:20,670 --> 00:02:23,194 Allura aktar fuq li li ġejjin. 55 00:02:23,194 --> 00:02:24,930 >> [Applause] 56 00:02:24,930 --> 00:02:26,660 >> DAVID Malan: Jiddispjacini, Nick. 57 00:02:26,660 --> 00:02:30,680 >> Allura ifakkar li l-aħħar darba aħna spiċċajna fuq dan cliffhanger verament eċċitanti 58 00:02:30,680 --> 00:02:32,960 fejn din il-funzjoni biss ma ħadmux. 59 00:02:32,960 --> 00:02:34,960 Mill-inqas intuwittivament, li ħass bħal din għandha taħdem. 60 00:02:34,960 --> 00:02:37,600 Simply iskambji il-valuri ta 'żewġ numri interi. 61 00:02:37,600 --> 00:02:40,915 Iżda tfakkar li meta aħna stampata tal- Valuri oriġinali prinċipali, waħda u 62 00:02:40,915 --> 00:02:44,210 tnejn, kienu għadhom wieħed u tnejn u mhux tnejn u wieħed. 63 00:02:44,210 --> 00:02:46,070 >> So let me attwalment jaqilbu fuq l-appliance. 64 00:02:46,070 --> 00:02:50,180 U I kiteb up a bit tal-kodiċi skeletali fil javvanzaw hawn, fejn I jsostnu li x 65 00:02:50,180 --> 00:02:52,500 se tkun l-1, y se jkun 2. 66 00:02:52,500 --> 00:02:54,810 I imbagħad jistampa tnejn tagħhom Valuri li jistampa f. 67 00:02:54,810 --> 00:02:57,540 >> I imbagħad titlob stabbiliti hawn li aħna qed tmur biex tpartit lilhom. 68 00:02:57,540 --> 00:03:00,800 I ħalla post vojt hawn għalina biex timla llum ftit mument. 69 00:03:00,800 --> 00:03:03,380 Imbagħad, jien ser jsostnu li l- żewġ varjabbli ġew skambjati. 70 00:03:03,380 --> 00:03:04,770 Imbagħad jien ser jistampaw minnhom mill-ġdid. 71 00:03:04,770 --> 00:03:07,090 U għalhekk wieħed jittama, I għandha tara 1, 2. 72 00:03:07,090 --> 00:03:07,380 2, 1. 73 00:03:07,380 --> 00:03:09,830 Dik hija l-sempliċi super għan dritt issa. 74 00:03:09,830 --> 00:03:12,430 >> Allura kif do we go dwar iskambji żewġ varjabbli? 75 00:03:12,430 --> 00:03:17,220 Ukoll jekk nipproponi hawnhekk li dawn tazzi jafu jirrappreżentaw memorja fil-kompjuter. 76 00:03:17,220 --> 00:03:19,070 Dan huwa ftit gdim, dan hija ieħor ftit gdim. 77 00:03:19,070 --> 00:03:23,260 Jista għandna voluntier come fuq u ' ħallat us xi xarbiet, jekk familjari? 78 00:03:23,260 --> 00:03:23,920 Come fuq up. 79 00:03:23,920 --> 00:03:24,815 X'hemm isem tiegħek? 80 00:03:24,815 --> 00:03:25,260 >> JESS: Jess. 81 00:03:25,260 --> 00:03:25,690 >> DAVID Malan: Jess? 82 00:03:25,690 --> 00:03:26,540 Come on up, Jess. 83 00:03:26,540 --> 00:03:29,180 Jekk inti ma mind, għandna biex tpoġġi l- Google ħġieġ fuq inti sabiex inkunu nistgħu 84 00:03:29,180 --> 00:03:30,430 immortalize dan. 85 00:03:30,430 --> 00:03:32,800 86 00:03:32,800 --> 00:03:34,670 OK, ħġieġ. 87 00:03:34,670 --> 00:03:37,250 Jirreġistra video. 88 00:03:37,250 --> 00:03:43,103 U OK, aħna tajba li jmorru ma Jess hawn. 89 00:03:43,103 --> 00:03:43,810 Kull dritt. 90 00:03:43,810 --> 00:03:45,120 Nizza li jissodisfaw inti. 91 00:03:45,120 --> 00:03:47,720 >> Allura dak li nixtieq li inti tagħmel hawn - jekk inti tista ', pjuttost malajr - 92 00:03:47,720 --> 00:03:51,040 biss pours us nofs tazza larinġ meraq u nofs tazza tal-ħalib, 93 00:03:51,040 --> 00:03:55,710 jirrappreżentaw b'mod effettiv in-numri 1 fl tazza waħda u 2 fit-tazza oħra. 94 00:03:55,710 --> 00:04:01,380 95 00:04:01,380 --> 00:04:02,630 >> Din se tkun footage tajba. 96 00:04:02,630 --> 00:04:04,910 97 00:04:04,910 --> 00:04:05,860 >> JESS: Jiddispjacini. 98 00:04:05,860 --> 00:04:06,330 >> DAVID Malan: No, no. 99 00:04:06,330 --> 00:04:08,703 Huwa OK. 100 00:04:08,703 --> 00:04:10,120 Nizza. 101 00:04:10,120 --> 00:04:12,950 Kull dritt, hekk għandna erba 'bytes valur ta 'meraq tal-larinġ. 102 00:04:12,950 --> 00:04:14,460 Aħna ser imsejħa l-valur 1. 103 00:04:14,460 --> 00:04:16,579 Issa erba 'bytes ieħor li jiswew ta' ħalib. 104 00:04:16,579 --> 00:04:18,519 Se sejħa hija valur 2. 105 00:04:18,519 --> 00:04:20,440 Allura x u y, rispettivament. 106 00:04:20,440 --> 00:04:23,450 >> Kull dritt, hekk issa jekk il-ħidma fuq naħa - għalik, Jess, quddiem ta 'kulħadd 107 00:04:23,450 --> 00:04:24,270 ta 'klassi tiegħek - 108 00:04:24,270 --> 00:04:28,510 huwa li tpartit l-valuri ta 'xuy bħal li aħna rridu l-meraq tal-larinġ fil- 109 00:04:28,510 --> 00:04:32,070 tazza oħra u l-ħalib f'dan tazza, kif jista inti - qabel ma attwalment tagħmel 110 00:04:32,070 --> 00:04:34,020 dan - tmur dwar kif isir dan? 111 00:04:34,020 --> 00:04:35,220 >> OK, għaqli deċiżjoni. 112 00:04:35,220 --> 00:04:36,340 Għalhekk ikollok bżonn ftit aktar memorja. 113 00:04:36,340 --> 00:04:38,190 Mela ejja jallokaw temporanju tazza, jekk inti se. 114 00:04:38,190 --> 00:04:40,540 U issa tipproċedi biex tpartit xuy. 115 00:04:40,540 --> 00:04:52,950 116 00:04:52,950 --> 00:04:53,530 >> Eċċellenti. 117 00:04:53,530 --> 00:04:54,420 Allura ħafna isir ukoll. 118 00:04:54,420 --> 00:04:55,670 Grazzi tant, Jess. 119 00:04:55,670 --> 00:04:59,520 120 00:04:59,520 --> 00:05:00,020 Hawnhekk inti. 121 00:05:00,020 --> 00:05:01,950 A souvenir ftit. 122 00:05:01,950 --> 00:05:04,350 >> OK, hekk ovvjament, idea sempliċi super. 123 00:05:04,350 --> 00:05:07,500 Kompletament intuwittivi li għandna bżonn daqsxejn aktar spazju għall-ħażna - f'din il-forma, 124 00:05:07,500 --> 00:05:09,750 tazza - jekk aħna fil-fatt tixtieq li tpartit dawn iż-żewġ varjabbli. 125 00:05:09,750 --> 00:05:11,110 Mela ejja jagħmlu eżattament dan. 126 00:05:11,110 --> 00:05:14,330 Up hawn fl bejn fejn nitlob jien se tkun qed twettaq xi iskambji, I ser 127 00:05:14,330 --> 00:05:15,720 imorru quddiem u tiddikjara temperatura. 128 00:05:15,720 --> 00:05:17,980 U jien ser twaqqaf it ugwali għal, per eżempju, x. 129 00:05:17,980 --> 00:05:21,110 >> Imbagħad jien ser jibdlu l-valur tal- x bħad Jess ma hawn ma ' 130 00:05:21,110 --> 00:05:23,200 ħalib u meraq tal-larinġ li jkun ugwali għal y. 131 00:05:23,200 --> 00:05:27,460 U jien se jibdlu y li jkun ugwali li ma x, għaliex issa aħna se jkunu 132 00:05:27,460 --> 00:05:29,530 staġnati f'ċirku, iżda pjuttost TEMP. 133 00:05:29,530 --> 00:05:33,170 Fejn I temporanjament - jew fejn Jess temporanjament tpoġġi l-meraq tal-larinġ 134 00:05:33,170 --> 00:05:35,460 qabel clobbering li tazza mal-ħalib. 135 00:05:35,460 --> 00:05:37,250 >> So let me aqbad issa u jagħmlu dan. 136 00:05:37,250 --> 00:05:39,210 Huwa sejjaħ noswap.c. 137 00:05:39,210 --> 00:05:41,190 U issa let me run ebda swap. 138 00:05:41,190 --> 00:05:43,910 U fil-fatt nara, jekk I jespandu l- tieqa ftit, li 139 00:05:43,910 --> 00:05:45,160 x hija l-1, y huwa 2. 140 00:05:45,160 --> 00:05:47,230 U allura x hija 2, y hija l-1. 141 00:05:47,230 --> 00:05:51,910 >> Iżda tfakkar li nhar it-Tnejn għamilna affarijiet ftit differenti fejn I 142 00:05:51,910 --> 00:05:56,760 minflok implimentati funzjoni helper, jekk inti se, li kien attwalment null. 143 00:05:56,760 --> 00:05:58,010 I sejħitilha tpartit. 144 00:05:58,010 --> 00:06:01,600 I tatha żewġ parametri, u I imsejħa minnhom u I imsejħa minnhom b. 145 00:06:01,600 --> 00:06:04,380 >> Franchement, I jistgħu jsejħulhom xuy. 146 00:06:04,380 --> 00:06:06,040 M'hemm xejn waqfien me milli jagħmlu dan. 147 00:06:06,040 --> 00:06:08,140 Iżda nixtieq jargumentaw li huwa mbagħad ftit ambigwa. 148 00:06:08,140 --> 00:06:11,910 Minħabba jfakkru għal It-tnejn li aħna sostna li dawn il-parametri kienu 149 00:06:11,910 --> 00:06:13,650 kopji tal-valuri għaddew pulzieri 150 00:06:13,650 --> 00:06:15,640 Allura hija biss messijiet mal tiegħek mind, I think, jekk tuża 151 00:06:15,640 --> 00:06:17,370 eżattament l-istess varjabbli. 152 00:06:17,370 --> 00:06:20,150 >> So I ser minflok jsejħulhom a u b, biss għaċ-ċarezza. 153 00:06:20,150 --> 00:06:21,840 Iżda nistgħu jsejħulhom aktar xejn irridu. 154 00:06:21,840 --> 00:06:26,280 U jien ser kopja u paste effettivament dan il-kodiċi mill-up hemm 155 00:06:26,280 --> 00:06:27,170 isfel fil hawn. 156 00:06:27,170 --> 00:06:29,110 Minħabba I biss raw li taħdem. 157 00:06:29,110 --> 00:06:30,790 Allura dak fil-forma pjuttost tajba. 158 00:06:30,790 --> 00:06:37,390 U jien ser jibdlu x tiegħi għal, x tiegħi għal, y tiegħi biex b uy tiegħi biex b. 159 00:06:37,390 --> 00:06:39,130 >> Allura fi kliem ieħor, l-istess loġika eżatt. 160 00:06:39,130 --> 00:06:40,850 L-istess ħaġa eżatt li Jess għamlet. 161 00:06:40,850 --> 00:06:44,350 U allura l-ħaġa waħda I għandek tagħmel up hawn, naturalment, huwa issa jinvokaw din 162 00:06:44,350 --> 00:06:45,990 funzjoni, jew sejħa din il-funzjoni. 163 00:06:45,990 --> 00:06:50,430 So I se sejħa din il-funzjoni ma 'żewġ inputs, u x y, u hit Save. 164 00:06:50,430 --> 00:06:52,300 >> Kull dritt, hekk fundamentalment l-istess ħaġa. 165 00:06:52,300 --> 00:06:55,570 Fil-fatt, stajt probabbilment għamel il-programm kumplessi bla bżonn billi 166 00:06:55,570 --> 00:07:00,820 kitba ta 'funzjoni li jinsab biss tieħu xi sitt linji ta 'kodiċi billi I 167 00:07:00,820 --> 00:07:02,970 qabel kienu implimentaw dan biss tlieta. 168 00:07:02,970 --> 00:07:06,230 >> So let me aqbad issa u remake dan, jagħmlu l-ebda swap. 169 00:07:06,230 --> 00:07:07,920 Kull dritt, I invitat up here. 170 00:07:07,920 --> 00:07:11,290 Dan għandu jkun żball li inti tista ' tara aktar komunement bħala tiegħek 171 00:07:11,290 --> 00:07:12,380 programmi nikseb aktar kumplessi. 172 00:07:12,380 --> 00:07:13,470 Iżda hemm jiffissaw faċli. 173 00:07:13,470 --> 00:07:15,650 Let me iscroll back up here. 174 00:07:15,650 --> 00:07:18,190 >> U x'inhu l-ewwel żball jien jaraw? 175 00:07:18,190 --> 00:07:19,520 Dikjarazzjoni impliċita. 176 00:07:19,520 --> 00:07:21,466 Xi jfisser li tipikament jindika? 177 00:07:21,466 --> 00:07:22,830 Oh, I nesa l-prototip. 178 00:07:22,830 --> 00:07:26,900 I nesa li jgħallmu l-kompilatur li tpartit se jibqgħu jeżistu anke jekk huwa 179 00:07:26,900 --> 00:07:28,920 ma teżistix fil-bidu nett tal-programm. 180 00:07:28,920 --> 00:07:35,780 Hekk jien biss se ngħid null, tpartit, int, a b int, b'waqfa u virgola. 181 00:07:35,780 --> 00:07:37,280 >> Hekk jien mhux ser reimplement dan. 182 00:07:37,280 --> 00:07:39,140 Imma issa jaqbel x'hemm stabbiliti hawn. 183 00:07:39,140 --> 00:07:42,530 U avviż, in-nuqqas ta 'punt u virgola hawnhekk, li ma tkunx meħtieġa meta 184 00:07:42,530 --> 00:07:43,200 implimentazzjoni. 185 00:07:43,200 --> 00:07:46,010 >> So let me remake dan, jagħmlu l-ebda swap. 186 00:07:46,010 --> 00:07:46,910 Forma ferm aħjar. 187 00:07:46,910 --> 00:07:48,130 Mexxi l-ebda swap. 188 00:07:48,130 --> 00:07:48,740 U kkritikat dan. 189 00:07:48,740 --> 00:07:51,650 Issa aħna qed lura fejn konna nhar it-Tnejn, meta l-ħaġa ma tpartit. 190 00:07:51,650 --> 00:07:55,410 >> U x'inhu l-ispjegazzjoni intuwittivi għal għaliex dan huwa l-każ? 191 00:07:55,410 --> 00:07:56,380 Yeah? 192 00:07:56,380 --> 00:07:57,630 >> STUDENT: [inaudible]. 193 00:07:57,630 --> 00:08:04,140 194 00:08:04,140 --> 00:08:05,230 >> DAVID Malan: Eżattament. 195 00:08:05,230 --> 00:08:07,330 Allura aub huma kopji ta 'xuy. 196 00:08:07,330 --> 00:08:10,680 U fil-fatt, kull darba li inti kont qed sejħa funzjoni s'issa li 197 00:08:10,680 --> 00:08:12,540 tgħaddi varjabbli bħall ints - 198 00:08:12,540 --> 00:08:14,470 daqstant swap qed tistenna hawn - 199 00:08:14,470 --> 00:08:16,270 inti guys kienu qed jittrasferixxu fl kopji. 200 00:08:16,270 --> 00:08:19,150 >> Issa li ifisser li jieħu xi ftit ta 'żmien, qasma tat-tieni, għall- 201 00:08:19,150 --> 00:08:23,270 kompjuter li kopja tal-bits minn wieħed varjabbli fl-bits ta 'ieħor. 202 00:08:23,270 --> 00:08:24,610 Iżda li mhux tali big deal. 203 00:08:24,610 --> 00:08:25,920 Iżda dawn qed madankollu kopja. 204 00:08:25,920 --> 00:08:30,020 >> U hekk issa, fil-kuntest ta 'tpartit, I am fil-fatt b'suċċess 205 00:08:30,020 --> 00:08:31,180 tibdil ta 'u b. 206 00:08:31,180 --> 00:08:33,000 Fil-fatt, ejja do a quick sanità check. 207 00:08:33,000 --> 00:08:36,830 Stampa f a huwa% i, linja ġdida. 208 00:08:36,830 --> 00:08:38,770 U plug ejja fil. 209 00:08:38,770 --> 00:08:41,830 Issa ejja jagħmlu l-istess ħaġa ma 'b. 210 00:08:41,830 --> 00:08:43,640 U ejja jagħmlu l-istess ħaġa hawn. 211 00:08:43,640 --> 00:08:47,260 >> U issa, let me kopja dawk l-istess linji mill-ġdid fil-qiegħ tal-funzjoni 212 00:08:47,260 --> 00:08:51,250 wara tliet linji tiegħi ta 'interessanti seta eżegwit, u 213 00:08:51,250 --> 00:08:53,270 tipprintja u b darb'oħra. 214 00:08:53,270 --> 00:08:56,030 Allura issa ejja jagħmlu dan, jagħmlu l-ebda swap. 215 00:08:56,030 --> 00:08:58,430 Let me jagħmlu l-tieqa terminal a bit taller, sabiex inkunu jista 'jara 216 00:08:58,430 --> 00:08:59,520 aktar minnu f'daqqa. 217 00:08:59,520 --> 00:09:00,860 >> U run ebda swap. 218 00:09:00,860 --> 00:09:04,000 x hija l-1, y huwa 2. a huwa 1, b huwa 2. 219 00:09:04,000 --> 00:09:06,070 U mbagħad, a hija 2, b hija l-1. 220 00:09:06,070 --> 00:09:09,390 Għalhekk qed taħdem, bħad Jess ma hawn ġewwa ta 'swap. 221 00:09:09,390 --> 00:09:13,090 Iżda naturalment, huwa li l-ebda effett fuq l-varjabbli fil prinċipali. 222 00:09:13,090 --> 00:09:15,360 >> Allura rajna trick li biha aħna jista jiffissaw dan, id-dritt? 223 00:09:15,360 --> 00:09:19,560 Meta inti qed iħabbtu wiċċhom ma 'dan scoping kwistjoni, inti tista 'biss Punt u jagħmlu x 224 00:09:19,560 --> 00:09:22,400 uy liema tip ta 'varjabbli minflok? 225 00:09:22,400 --> 00:09:23,390 >> Inti jista 'jagħmilhom globali. 226 00:09:23,390 --> 00:09:27,560 Tpoġġihom fuq nett tal-fajl kif għamilna, anki fil-logħba tal-15. 227 00:09:27,560 --> 00:09:28,890 Aħna nużaw varjabbli globali. 228 00:09:28,890 --> 00:09:32,420 Iżda fil-kuntest tal-logħba ta '15, huwa raġonevoli li jkollhom globali 229 00:09:32,420 --> 00:09:37,170 varjabbli li jirrappreżenta l-bord, minħabba l-intier ta '15.c hija kollha 230 00:09:37,170 --> 00:09:38,650 dwar implimentazzjoni din il-logħba. 231 00:09:38,650 --> 00:09:41,470 Dak hu l-fajl jeżisti tagħmel. 232 00:09:41,470 --> 00:09:44,170 >> Iżda f'dan il-każ hawnhekk, jien sejħa swap funzjoni. 233 00:09:44,170 --> 00:09:45,380 Irrid li tpartit żewġ varjabbli. 234 00:09:45,380 --> 00:09:48,950 U għandu tibda tħossok ftit sloppy jekk is-soluzzjoni kollha ta 'tagħna 235 00:09:48,950 --> 00:09:51,300 problemi meta aħna run fis ambitu kwistjonijiet huwa jagħmilha globali. 236 00:09:51,300 --> 00:09:54,730 Minħabba malajr ħafna programm tagħna huwa se ssir pjuttost mess. 237 00:09:54,730 --> 00:09:57,760 U aħna ma li kemxejn ħafna bħala riżultat 15.c. 238 00:09:57,760 --> 00:10:00,470 >> Iżda jirriżulta hemm mod aħjar għal kollox. 239 00:10:00,470 --> 00:10:05,600 Let me fatt imorru lura u tħassar il- jistampa l-f, biss biex jissimplifikaw dan il-kodiċi. 240 00:10:05,600 --> 00:10:09,160 U let me jipproponu li dan, fil-fatt, huwa ħażin. 241 00:10:09,160 --> 00:10:15,990 Imma jekk jien minflok iżidu f'xi asterisks u stilel, I jista 'minflok jibdlu din 242 00:10:15,990 --> 00:10:18,670 funzjoni fis waħda li attwalment operattiv. 243 00:10:18,670 --> 00:10:25,020 >> So let me jmorru lura hawn u jammettu qal asteriski hija dejjem diffiċli, 244 00:10:25,020 --> 00:10:26,170 so I ser jgħidu istilel. 245 00:10:26,170 --> 00:10:27,660 I ser biss fess sa li wieħed. 246 00:10:27,660 --> 00:10:28,190 Kull dritt. 247 00:10:28,190 --> 00:10:30,190 U issa, dak li jien ser biex tagħmel minflok? 248 00:10:30,190 --> 00:10:34,130 >> Allura l-ewwel nett, jien ser tispeċifika li minflok jgħaddu minn int fis 249 00:10:34,130 --> 00:10:37,980 il-funzjoni tpartit, jien minflok ta 'se ngħid star int. 250 00:10:37,980 --> 00:10:39,170 Issa, dak ma l-istilla jindika? 251 00:10:39,170 --> 00:10:41,970 Dan huwa dan il-kunċett ta 'pointer li Binky, il-karattru claymation, kien 252 00:10:41,970 --> 00:10:43,465 jirreferu għall mument ilu. 253 00:10:43,465 --> 00:10:47,610 >> Allura jekk ngħidu star int, it-tifsira ta ' dan issa huwa li mhux se jkun 254 00:10:47,610 --> 00:10:49,110 għaddiet fl-valur tagħha. 255 00:10:49,110 --> 00:10:50,350 Huwa mhux se jiġu kkupjati pulzieri 256 00:10:50,350 --> 00:10:54,700 Pjuttost, l-indirizz ta 'huwa se tiġi mgħoddija pulzieri 257 00:10:54,700 --> 00:10:57,840 >> Allura ifakkar li ġewwa tal-kompjuter tiegħek huwa mazz sħiħ ta 'memorja, inkella 258 00:10:57,840 --> 00:10:58,760 magħrufa bħala RAM. 259 00:10:58,760 --> 00:11:00,520 U li RAM huwa biss mazz sħiħ ta 'bytes. 260 00:11:00,520 --> 00:11:03,320 Hekk jekk Mac tiegħek jew PC tiegħek żewġ gigabytes, inti għandek 2 261 00:11:03,320 --> 00:11:05,760 biljun bytes ta 'memorja. 262 00:11:05,760 --> 00:11:08,440 >> Issa ejja biss jissoponi li biss biex żżomm affarijiet sbieħ u ordnat, aħna 263 00:11:08,440 --> 00:11:09,450 tassenja indirizz - 264 00:11:09,450 --> 00:11:10,170 numru - 265 00:11:10,170 --> 00:11:12,270 għal kull byte ta 'RAM fil-kompjuter tiegħek. 266 00:11:12,270 --> 00:11:15,410 L-ewwel byte ta 'dawk 2 biljun huwa billi numru żero. 267 00:11:15,410 --> 00:11:18,572 Il-wieħed li jmiss huwa numru byte wieħed, in-numru tnejn, it-triq kollha fuq up, dot dot 268 00:11:18,572 --> 00:11:20,530 dot, għal madwar 2 biljuni. 269 00:11:20,530 --> 00:11:23,640 >> Allura inti tista 'numru ta' bytes tal-memorja fil-kompjuter tiegħek. 270 00:11:23,640 --> 00:11:26,460 Mela ejja nassumu li dak hu rridu nfissru minn indirizz. 271 00:11:26,460 --> 00:11:31,360 Allura meta nara int star a, x'inhu għaddej għandhom jiġu mgħoddija fil swap issa huwa l- 272 00:11:31,360 --> 00:11:32,830 indirizz ta '. 273 00:11:32,830 --> 00:11:37,150 Mhux valur tagħha, iżda tkun xi tkun postali tagħha indirizz huwa, biex ngħidu hekk - 274 00:11:37,150 --> 00:11:38,810 post tagħha fil RAM. 275 00:11:38,810 --> 00:11:41,250 >> U l-istess għall-b, jien ser jiġifieri l-istess ħaġa. 276 00:11:41,250 --> 00:11:42,720 Int, star, b. 277 00:11:42,720 --> 00:11:46,350 Bħala twarrib, teknikament l-istilla tista 'tmur f'postijiet oħra. 278 00:11:46,350 --> 00:11:50,140 Iżda aħna ser standardizzati fuq l-istilla qed dritt li jmiss għall-tip data. 279 00:11:50,140 --> 00:11:54,080 >> Allura tpartit firma issa jfisser, agħti lili l-indirizz ta 'int, u sejħa 280 00:11:54,080 --> 00:11:55,400 dak l-indirizz a. 281 00:11:55,400 --> 00:11:58,690 U jagħtu me indirizz ieħor ta ' int u sejħa li jindirizzaw b. 282 00:11:58,690 --> 00:12:01,120 >> Imma issa kodiċi tiegħi hawn għall-bidla. 283 00:12:01,120 --> 00:12:03,470 Għaliex jekk Niddikjara temperatura int - 284 00:12:03,470 --> 00:12:05,580 li għadu ta int tip - 285 00:12:05,580 --> 00:12:08,700 iżda I taħżen fiha ta ', liema tip ta 'valur? 286 00:12:08,700 --> 00:12:12,870 Biex ikunu ċari, jien tqegħid ta 'a ma' il-kodiċi kif miktub dritt issa? 287 00:12:12,870 --> 00:12:14,360 >> Jien tqegħid tal-post fil-. 288 00:12:14,360 --> 00:12:16,500 Imma jien ma jimpurtahom dwar il- post issa, id-dritt? 289 00:12:16,500 --> 00:12:21,940 Temp jeżisti biss Jess "tielet tazza jeżistu, għal liema skop? 290 00:12:21,940 --> 00:12:23,090 Li jaħżen valur. 291 00:12:23,090 --> 00:12:24,830 Ħalib jew meraq tal-larinġ. 292 00:12:24,830 --> 00:12:28,520 Mhux li attwalment jaħżnu l-indirizz ta ' waħda minn dawk l-affarijiet, li jħoss 293 00:12:28,520 --> 00:12:31,200 ftit tagħmel sens f'dan reali kuntest dinji xorta waħda. 294 00:12:31,200 --> 00:12:34,990 >> Allura verament, dak li nixtieq li jitqiegħdu fil temperatura mhuwiex l-indirizz ta ', iżda l- 295 00:12:34,990 --> 00:12:36,180 kontenut ta '. 296 00:12:36,180 --> 00:12:41,930 Mela jekk huwa numru bħal 123, dan huwa l-byte 123 ta 'memorja li biss 297 00:12:41,930 --> 00:12:45,090 jiġri li jkun jokkupaw, li l-valur fil-jiġri li jkun jokkupaw. 298 00:12:45,090 --> 00:12:49,040 >> Jekk Irrid immur għal dak l-indirizz, I bżonn biex ngħid star a. 299 00:12:49,040 --> 00:12:52,610 Bl-istess mod, jekk I kellhom jibdlu x'hemm fl-indirizz a, nibdel 300 00:12:52,610 --> 00:12:53,570 dan biex jibdew. 301 00:12:53,570 --> 00:12:58,185 Jekk irrid li jaħżen fil x'hemm fil- post ta 'ma' dak l fil-post 302 00:12:58,185 --> 00:13:02,180 fil b, star b star. 303 00:13:02,180 --> 00:13:05,340 >> Għalhekk fil-qosor, anke jekk dan ikun pjuttost mhux għarqa fil s'issa - u I ma jistennewx 304 00:13:05,340 --> 00:13:06,560 li dan iwassal tant mgħaġġel - 305 00:13:06,560 --> 00:13:11,100 tirrealizza li kollha qed nagħmel huwa prefiss dawn il stilla għall-varjabbli tiegħi, 306 00:13:11,100 --> 00:13:13,350 qal ma grab il-valuri. 307 00:13:13,350 --> 00:13:14,520 Tbiddilx l-valuri. 308 00:13:14,520 --> 00:13:17,600 Iżda, mur dawk l-indirizzi u jiksbu l-valur. 309 00:13:17,600 --> 00:13:21,430 Mur f'dak l-indirizz u l-bidla il-valur hemmhekk. 310 00:13:21,430 --> 00:13:25,500 >> Allura issa let me iscroll lura sal-quċċata, biss biex jiffissaw din il-linja hawn, biex 311 00:13:25,500 --> 00:13:27,690 jibdlu l-prototip biex jaqblu. 312 00:13:27,690 --> 00:13:30,280 Imma I issa jeħtieġ li jagħmlu ħaġa waħda oħra. 313 00:13:30,280 --> 00:13:35,500 Intuwittivament, jekk stajt mibdula-tipi ta 'argumenti li l-iskambju qed tistenna, 314 00:13:35,500 --> 00:13:37,245 x'iktar għandi bżonn biex bidla fil-kodiċi tiegħi? 315 00:13:37,245 --> 00:13:39,750 316 00:13:39,750 --> 00:13:40,840 >> Meta I call swap. 317 00:13:40,840 --> 00:13:43,340 Minħabba dritt issa, dak am I tgħaddi li tpartit xorta? 318 00:13:43,340 --> 00:13:47,450 Il-valur x u l-valur ta 'y, jew il-ħalib u l-meraq tal-larinġ. 319 00:13:47,450 --> 00:13:48,510 Imma jien ma trid tagħmel dan. 320 00:13:48,510 --> 00:13:51,060 I minflok jridu jgħaddu dak? 321 00:13:51,060 --> 00:13:53,050 Il-post ta 'x u il-post ta 'y. 322 00:13:53,050 --> 00:13:55,300 X'inhuma indirizzi postali tagħhom, biex ngħidu hekk. 323 00:13:55,300 --> 00:13:57,600 >> Allura biex tagħmel dan, hemm xi ampersand. 324 00:13:57,600 --> 00:13:59,260 Ampersand tip ta 'ħsejjes bħal indirizz. 325 00:13:59,260 --> 00:14:03,240 hekk n, ampersand, l-indirizz ta 'x, u l-indirizz ta' y. 326 00:14:03,240 --> 00:14:06,790 Allura huwa intenzjonat li nużaw ampersands meta ssejjaħ il-funzjoni, 327 00:14:06,790 --> 00:14:10,230 u stilel meta tiddikjara u meta implimentazzjoni tal-funzjoni. 328 00:14:10,230 --> 00:14:14,220 >> U jaħsbu biss tal ampersand bħala l- indirizz tal-operatur, u stilel kif l- 329 00:14:14,220 --> 00:14:15,490 jmorru hemm operatur - 330 00:14:15,490 --> 00:14:18,640 jew, b'mod aktar xieraq, l- operatur dereference. 331 00:14:18,640 --> 00:14:23,480 Allura li l-lott kollu ta 'kliem biss biex jgħidu li issa, wieħed jittama, swap va 332 00:14:23,480 --> 00:14:24,440 biex tkun korretta. 333 00:14:24,440 --> 00:14:26,550 >> Let me imorru quddiem u jagħmlu - 334 00:14:26,550 --> 00:14:30,940 ejja fil-fatt tibdel isem il-fajl, lest dan il-programm għadu jissejjaħ ebda swap. 335 00:14:30,940 --> 00:14:33,240 I jsostnu li aħna ser sejħa hija swap.c issa. 336 00:14:33,240 --> 00:14:35,670 Sabiex tagħmel, tpartit. 337 00:14:35,670 --> 00:14:37,520 Dot, slash, tpartit. 338 00:14:37,520 --> 00:14:40,210 >> U issa fil-fatt, huwa x 1, y huwa 2. 339 00:14:40,210 --> 00:14:44,040 U mbagħad, x hija 2, y hija waħda. 340 00:14:44,040 --> 00:14:46,500 Well ejja ara jekk aħna ma tistax tagħmel dan a ftit differenti dwar x'hemm 341 00:14:46,500 --> 00:14:47,180 jiġri hawn fuq. 342 00:14:47,180 --> 00:14:51,250 L-ewwel, let me zoom fl fuq tagħna tpinġija iskrin hawn. 343 00:14:51,250 --> 00:14:54,160 U let me tipproponi għal mument - u kulmeta I tfassal hawnhekk se jkunu riflessi 344 00:14:54,160 --> 00:14:58,660 up issa hemm - let me jipproponi li hawn mazz sħiħ ta 'memorja, jew 345 00:14:58,660 --> 00:15:00,540 RAM, ġewwa tal-kompjuter tiegħi. 346 00:15:00,540 --> 00:15:04,140 >> U dan ikun in-numru gidma, ejja ngħidu, 1. 347 00:15:04,140 --> 00:15:05,720 Dan se jkun bytes numru 2. 348 00:15:05,720 --> 00:15:08,220 U jien ser tagħmel mazz sħiħ aktar, u allura mazz ta 'dot dot tikek li 349 00:15:08,220 --> 00:15:10,880 jindikaw li hemm 2 biljun fis- ta 'dawn l-affarijiet. 350 00:15:10,880 --> 00:15:13,520 4, 5, u oħrajn. 351 00:15:13,520 --> 00:15:17,055 >> Allura hemm l-ewwel ħames bytes ta 'memorja tal-kompjuter tiegħi. 352 00:15:17,055 --> 00:15:17,560 Kull dritt? 353 00:15:17,560 --> 00:15:19,060 Ftit minn 2 biljuni. 354 00:15:19,060 --> 00:15:21,120 Imma issa jien ser tipproponi dan li ġej. 355 00:15:21,120 --> 00:15:27,490 Jien ser nipproponi li x ser jaħżnu in-numru 1, uy va 356 00:15:27,490 --> 00:15:29,690 li jaħżen in-numru 2. 357 00:15:29,690 --> 00:15:35,000 U let me imorru quddiem issa u jirrappreżenta dawn il-valuri kif ġej. 358 00:15:35,000 --> 00:15:41,510 >> Ejja nagħmlu dan kif ġej. 359 00:15:41,510 --> 00:15:42,870 Agħti me wieħed biss sekonda. 360 00:15:42,870 --> 00:15:44,150 Tieni waħda. 361 00:15:44,150 --> 00:15:45,680 OK. 362 00:15:45,680 --> 00:15:47,560 Irrid nagħmel dan ftit - 363 00:15:47,560 --> 00:15:50,440 ejja tagħmel dan mill-ġdid. 364 00:15:50,440 --> 00:15:53,250 Inkella jien ser u bl-użu istess numri, mhux intenzjonalment, 365 00:15:53,250 --> 00:15:54,230 minn darba. 366 00:15:54,230 --> 00:15:57,320 >> Hekk biss hekk aħna numri differenti biex jitkellmu dwar, ejja sejħa dan byte 367 00:15:57,320 --> 00:16:03,391 numru 123, 124, 125, 126, u dot dot dot. 368 00:16:03,391 --> 00:16:08,400 U let me jsostnu issa li jien ser tpoġġi l-valur 1 hawn, u l-valur 2 369 00:16:08,400 --> 00:16:11,990 hawn, magħrufa wkoll bħala xuy. 370 00:16:11,990 --> 00:16:15,300 Allura hija biss hekk jiġri li dan huwa x, dan huwa y. 371 00:16:15,300 --> 00:16:18,180 >> U biss minn xi ċans każwali, l- kompjuter, is-sistema operattiva, 372 00:16:18,180 --> 00:16:21,890 ġara li tpoġġi x fil-lokalità numru 123. 373 00:16:21,890 --> 00:16:25,590 U y spiċċaw fil-lokalità 124 - 374 00:16:25,590 --> 00:16:26,330 kkritikat dan. 375 00:16:26,330 --> 00:16:28,700 I kellha tiffissa dan. 376 00:16:28,700 --> 00:16:34,040 Oh bniedem, għandi verament jixtiequ jagħmlu dan? 377 00:16:34,040 --> 00:16:37,340 Iva, nixtieq li jiffissaw dan u b xierqa dwar dan illum. 378 00:16:37,340 --> 00:16:39,950 Jiddispjacini, ġodda fuq dan. 379 00:16:39,950 --> 00:16:45,020 >> 127, 131, u jien ma riedx li jkun dan kumplessi, iżda għaliex ma I jibdlu l- 380 00:16:45,020 --> 00:16:46,340 numri hemmhekk? 381 00:16:46,340 --> 00:16:48,360 Għaliex nixtieq l ints li fil-fatt tkun erba bytes. 382 00:16:48,360 --> 00:16:49,810 Mela ejja tkun anali super dwar dan. 383 00:16:49,810 --> 00:16:53,800 B'tali mod li jekk jiġri li 1 jiġu indirizzati 123, l-2 se tkun fl-indirizz 384 00:16:53,800 --> 00:16:55,730 127 għaliex dan huwa biss 4 byes bogħod. 385 00:16:55,730 --> 00:16:56,210 Li kollox. 386 00:16:56,210 --> 00:16:58,640 U aħna ser tinsa dwar kollha ta 'l- indirizzi l-oħra fid-dinja. 387 00:16:58,640 --> 00:17:03,320 >> Allura x hija fil lokazzjoni 123, y hija fil post 127. 388 00:17:03,320 --> 00:17:05,770 U issa, liema do I attwalment trid tagħmel? 389 00:17:05,770 --> 00:17:10,099 Meta I call swap issa, x'hemm attwalment għaddejjin? 390 00:17:10,099 --> 00:17:14,920 Well, meta I sejħa swap, jien tgħaddi fis l-indirizz tal xu l-indirizz ta 'y. 391 00:17:14,920 --> 00:17:18,540 Għalhekk per eżempju, jekk dawn iż-żewġ biċċiet tal-karta issa jirrappreżentaw it-tnejn 392 00:17:18,540 --> 00:17:23,510 argumenti au b li tpartit, dak am I ser jikteb fuq l-ewwel ta 'dawn, 393 00:17:23,510 --> 00:17:27,720 li jien ser sejħa jirreferu għalih bħala? 394 00:17:27,720 --> 00:17:30,610 >> Eżattament, 123. 395 00:17:30,610 --> 00:17:31,905 Allura dan nitlob huwa. 396 00:17:31,905 --> 00:17:32,955 Dan huwa l-parametru a. 397 00:17:32,955 --> 00:17:35,856 Jien tqegħid-indirizz ta 'x fil hemmhekk. 398 00:17:35,856 --> 00:17:38,152 >> X'hemm li? 399 00:17:38,152 --> 00:17:40,890 >> X'hemm li? 400 00:17:40,890 --> 00:17:41,190 >> No, no. 401 00:17:41,190 --> 00:17:41,720 Li OK. 402 00:17:41,720 --> 00:17:42,570 Still tajba, għadu tajjeb. 403 00:17:42,570 --> 00:17:43,530 Allura dan huwa. 404 00:17:43,530 --> 00:17:46,240 U issa fit-tieni biċċa karta, din se tkun b, u dak am I 405 00:17:46,240 --> 00:17:49,010 se jkun miktub fuq din il-biċċa ta 'karta? 406 00:17:49,010 --> 00:17:50,080 127. 407 00:17:50,080 --> 00:17:53,720 >> Allura l-unika ħaġa li biddel peress javżak preċedenti tagħna ta 'din l-istorja hija, 408 00:17:53,720 --> 00:17:58,590 minflok litteralment 1 u 2, jien ser jgħaddu 123 u 127. 409 00:17:58,590 --> 00:18:02,130 U jien issa se timplimenta dawn ġewwa ta 'din il-kaxxa, id-dritt? 410 00:18:02,130 --> 00:18:04,640 Allura li kaxxa s-sewda issa jirrappreżenta il-funzjoni tpartit. 411 00:18:04,640 --> 00:18:07,230 >> Sadanittant, ejja issa jkollhom xi ħadd jimplimentaw il-funzjoni tpartit. 412 00:18:07,230 --> 00:18:09,090 Would xi ħadd up here tixtieq voluntier? 413 00:18:09,090 --> 00:18:09,560 Come fuq up. 414 00:18:09,560 --> 00:18:11,080 X'hemm isem tiegħek? 415 00:18:11,080 --> 00:18:11,460 Charlie. 416 00:18:11,460 --> 00:18:12,080 Kull dritt, Charlie. 417 00:18:12,080 --> 00:18:14,810 Come fuq up. 418 00:18:14,810 --> 00:18:17,310 >> Allura Charlie huwa se jkollu ir-rwol ta 'kaxxa s-sewda tagħna. 419 00:18:17,310 --> 00:18:21,460 U Charlie, dak I tixtieq li tagħmel issa qed timplimenta tpartit b'tali mod 420 00:18:21,460 --> 00:18:25,320 li, minħabba dawn iż-żewġ indirizzi, inti kienu attwalment għaddejjin 421 00:18:25,320 --> 00:18:26,330 li jibdlu l-valuri. 422 00:18:26,330 --> 00:18:28,290 U jien ser whisper fil-widnejn tiegħek kif jitmexxa l-TV hawn. 423 00:18:28,290 --> 00:18:29,930 >> Allura aqbad, u int l-kaxxa s-sewda. 424 00:18:29,930 --> 00:18:30,920 Reach fil hemmhekk. 425 00:18:30,920 --> 00:18:34,054 What valuri tara għal, u dak valuri tara għal b? 426 00:18:34,054 --> 00:18:36,740 >> CHARLIE: a huwa 123 u b huwa 127. 427 00:18:36,740 --> 00:18:37,530 >> DAVID Malan: OK, eżattament. 428 00:18:37,530 --> 00:18:38,940 Issa nieqaf hemm għal ftit mument. 429 00:18:38,940 --> 00:18:41,680 L-ewwel ħaġa int ser tagħmel issa, skont il-kodiċi - li 430 00:18:41,680 --> 00:18:43,220 I issa ser pull up fuq l-iskrin - 431 00:18:43,220 --> 00:18:46,750 se tkun li talloka ftit daqsxejn ta 'memorja imsejħa temperatura. 432 00:18:46,750 --> 00:18:48,850 Hekk jien ser jimxi 'l quddiem u jtik li memorja. 433 00:18:48,850 --> 00:18:52,210 >> Allura dan se tkun terz varjabbli li inti għandek aċċessibbli għal 434 00:18:52,210 --> 00:18:54,080 ċempilt temperatura. 435 00:18:54,080 --> 00:18:57,120 U liema huma inti ser jikteb fuq il-biċċa temperatura tal-karta? 436 00:18:57,120 --> 00:19:02,524 437 00:19:02,524 --> 00:19:03,470 >> CHARLIE: Pointers, right? 438 00:19:03,470 --> 00:19:04,790 >> DAVID Malan: OK, ukoll mhux neċessarjament pointers. 439 00:19:04,790 --> 00:19:07,230 Allura l-linja tal-kodiċi li stajt enfasizzata fuq il-lemin, 440 00:19:07,230 --> 00:19:07,900 ejja tibda hemmhekk. 441 00:19:07,900 --> 00:19:08,890 Hija tgħid star a. 442 00:19:08,890 --> 00:19:11,670 Allura bħalissa ħażna in-numru 123. 443 00:19:11,670 --> 00:19:16,660 U biss intuwittivament, liema ma star 123 jfisser? 444 00:19:16,660 --> 00:19:21,630 >> Iżda speċifikament, jekk ikun 123, star mezz liema? 445 00:19:21,630 --> 00:19:22,560 Il-valur ta '. 446 00:19:22,560 --> 00:19:24,580 Jew aktar każwali, jmorru hemm. 447 00:19:24,580 --> 00:19:28,620 So let me jipproponi li, li jkollu l-kontribut in naħa tiegħek, aqbad u jittrattaw dak 448 00:19:28,620 --> 00:19:29,430 bħallikieku huwa mappa. 449 00:19:29,430 --> 00:19:32,940 U jimxu lilek innifsek fuq il-kompjuter tal- memorja, u ssib us dak li huwa 450 00:19:32,940 --> 00:19:36,520 fil-post 123. 451 00:19:36,520 --> 00:19:37,720 Eżattament. 452 00:19:37,720 --> 00:19:41,100 >> Allura naraw fil-lokalità 123 huwa dak, ovvjament? 453 00:19:41,100 --> 00:19:44,240 OK, iva, liema valur issa huma inti ser jitqiegħdu fis temperatura? 454 00:19:44,240 --> 00:19:44,750 Eżattament. 455 00:19:44,750 --> 00:19:45,600 Allura aqbad u tagħmel dan. 456 00:19:45,600 --> 00:19:51,280 U jiktbu n-numru 1 fuq il-biċċa ta ' karta thats bħalissa titolat temp. 457 00:19:51,280 --> 00:19:53,540 >> U issa l-pass li jmiss li int ser jimplimentaw 458 00:19:53,540 --> 00:19:54,310 se tkun dak. 459 00:19:54,310 --> 00:19:57,820 Ukoll, fuq il-lemin tal- linja li jmiss tal-kodiċi hija stilla b. b, tal 460 00:19:57,820 --> 00:19:59,260 Naturalment, ħwienet indirizz. 461 00:19:59,260 --> 00:20:02,270 Li tindirizza 127. 462 00:20:02,270 --> 00:20:06,620 Star b ifisser dak, każwali jitkellem? 463 00:20:06,620 --> 00:20:08,700 >> Mur f'dak il-post. 464 00:20:08,700 --> 00:20:14,988 Allura aqbad u ssib us x'hemm fil-post 127. 465 00:20:14,988 --> 00:20:15,480 OK. 466 00:20:15,480 --> 00:20:19,170 Of course, fil-post 127, għadu l-valur 2. 467 00:20:19,170 --> 00:20:24,060 Allura dak li huma inti tmur issa store fi x'ikun l fil-post fil-? 468 00:20:24,060 --> 00:20:26,860 Allura star mezz tmur għall-post ta '. 469 00:20:26,860 --> 00:20:29,770 X'inhu l-post ta '? 470 00:20:29,770 --> 00:20:30,430 >> Eżattament. 471 00:20:30,430 --> 00:20:34,190 Allura issa, jekk inti tixtieq li tibdel x'hemm f'dak il-post - 472 00:20:34,190 --> 00:20:36,470 I ser imorru quddiem u run l-eraser huma hawnhekk. 473 00:20:36,470 --> 00:20:37,760 U issa poġġih lura fuq il-brush. 474 00:20:37,760 --> 00:20:42,190 Dak in-numru huma inti ser jikteb f'dik il-kaxxa vojta issa? 475 00:20:42,190 --> 00:20:42,850 >> Eżattament. 476 00:20:42,850 --> 00:20:46,470 Allura din il-linja tal-kodiċi, li jkun ċar - let me nieqaf dak Charlie qed jagħmel u 477 00:20:46,470 --> 00:20:51,730 jfakkru, dak hu biss isir huwa jikteb fil-kaxxa fil-lokalità 123 478 00:20:51,730 --> 00:20:55,150 il-valur li kien preċedentement fil b. 479 00:20:55,150 --> 00:20:59,140 U hekk aħna issa stajt implimentati tabilħaqq din it-tieni linja tal-kodiċi. 480 00:20:59,140 --> 00:21:01,920 >> Issa sfortunatament, hemm xorta linja waħda fadal. 481 00:21:01,920 --> 00:21:04,900 Issa dak li huwa fil temperatura, litteralment? 482 00:21:04,900 --> 00:21:06,200 Huwa ovvjament in-numru wieħed. 483 00:21:06,200 --> 00:21:07,020 Li mhux l-indirizz. 484 00:21:07,020 --> 00:21:09,380 Huwa biss numru, tip ta ' varjabbli minn ġimgħa. 485 00:21:09,380 --> 00:21:13,520 >> U issa meta inti tgħidli star b, dan ifisser mur l-indirizz b, li huwa ta ' 486 00:21:13,520 --> 00:21:15,090 kors hawn. 487 00:21:15,090 --> 00:21:16,020 Allura ladarba inti naslu s'hemm - 488 00:21:16,020 --> 00:21:18,320 I ser imorru quddiem u tħassar x'hemm attwalment hemm - u liema huma inti 489 00:21:18,320 --> 00:21:20,820 ser jikteb issa fil 127 post? 490 00:21:20,820 --> 00:21:22,010 >> CHARLIE: Temp, li hija waħda. 491 00:21:22,010 --> 00:21:23,430 >> DAVID Malan: Temp, li hija waħda. 492 00:21:23,430 --> 00:21:25,670 U dak li jiġri għall temperatura fl-aħħar? 493 00:21:25,670 --> 00:21:26,600 Well, aħna ma verament jafu. 494 00:21:26,600 --> 00:21:27,420 Aħna ma verament kura. 495 00:21:27,420 --> 00:21:31,090 Kwalunkwe ħin konna implimentati funzjoni s'issa, kwalunkwe varjabbli lokali għandek 496 00:21:31,090 --> 00:21:31,890 huma tabilħaqq lokali. 497 00:21:31,890 --> 00:21:33,060 U huma biss jisparixxu. 498 00:21:33,060 --> 00:21:35,040 Huma qed reklamata mill-operattiva sistema eventwalment. 499 00:21:35,040 --> 00:21:39,800 >> Allura l-fatt li Temperatura għad għandha l- valur 1 huwa tip ta fundamentalment 500 00:21:39,800 --> 00:21:41,150 uninteresting lilna. 501 00:21:41,150 --> 00:21:43,100 Kull dritt, hekk rawnd ta 'applause jekk nistgħu għal Charlie. 502 00:21:43,100 --> 00:21:46,400 Ħafna isir ukoll. 503 00:21:46,400 --> 00:21:51,520 >> Kull dritt, iva, liema aktar ma Dan ifisser li nistgħu nagħmlu? 504 00:21:51,520 --> 00:21:54,400 Għalhekk jirriżulta li aħna kont qed javżak tinsab abjad ftit 505 00:21:54,400 --> 00:21:55,540 għal żmien pjuttost twil. 506 00:21:55,540 --> 00:21:59,990 Tabilħaqq, jirriżulta li string, kollha ta 'dan iż-żmien huwa, mhuwiex verament 507 00:21:59,990 --> 00:22:02,190 sekwenza ta 'karattri per se. 508 00:22:02,190 --> 00:22:03,980 Huwa tip ta 'hija li intuwittivament. 509 00:22:03,980 --> 00:22:08,270 >> Iżda teknikament speaking, string hija tip ta 'data li aħna iddikjarat ġewwa tal 510 00:22:08,270 --> 00:22:12,170 il-librerija CS50 biex jissimplifikaw id-dinja għall-ewwel ftit ġimgħat ta 'klassi. 511 00:22:12,170 --> 00:22:20,130 What a string huwa verament huwa l-indirizz ta 'karattru x'imkien RAM. 512 00:22:20,130 --> 00:22:25,530 A string huwa verament numru, bħal 123 jew 127, li jiġri jiddemarkaw 513 00:22:25,530 --> 00:22:28,420 fejn string jibda memorja tal-kompjuter tiegħek. 514 00:22:28,420 --> 00:22:31,870 >> Iżda dan ma jirrappreżentax il- spag, per se, hija stess. 515 00:22:31,870 --> 00:22:33,460 U nistgħu naraw dan kif ġej. 516 00:22:33,460 --> 00:22:35,980 Let me imorru quddiem u tiftaħ xi kodiċi thats fost 517 00:22:35,980 --> 00:22:38,340 Eżempji source code tal-lum. 518 00:22:38,340 --> 00:22:42,225 U jien ser imorru quddiem u tiftaħ up, ejja ngħidu, iqabblu 0.c. 519 00:22:42,225 --> 00:22:44,830 520 00:22:44,830 --> 00:22:48,790 Dan huwa programm Buggy li ser li għandhom jiġu implimentati kif ġej. 521 00:22:48,790 --> 00:22:49,040 >> Ewwel. 522 00:22:49,040 --> 00:22:50,420 Jien se ngħid xi ħaġa. 523 00:22:50,420 --> 00:22:52,660 Imbagħad jien ser jimxi 'l quddiem u tikseb string mill-utent 524 00:22:52,660 --> 00:22:53,750 f'dik il-linja li jmiss. 525 00:22:53,750 --> 00:22:55,370 Imbagħad jien se ngħid mill-ġdid. 526 00:22:55,370 --> 00:22:57,540 Imbagħad jien ser tikseb ieħor string mill-utent. 527 00:22:57,540 --> 00:23:00,390 >> U avviż, jien li juri waħda mill- irbit varjabbli msejħa s, u 528 00:23:00,390 --> 00:23:03,040 ieħor ta 'dawn kordi fil-varjabbli imsejjaħ t. 529 00:23:03,040 --> 00:23:07,480 U issa jien ser jitolbu, ħafna raġonevolment, li jekk s ugwali ugwali t, 530 00:23:07,480 --> 00:23:08,940 il-kordi huma l-istess. 531 00:23:08,940 --> 00:23:09,970 Inti tip l-istess ħaġa. 532 00:23:09,970 --> 00:23:11,830 Else, il-kordi huma mhux l-istess ħaġa. 533 00:23:11,830 --> 00:23:15,440 >> Wara kollox, jekk aħna input żewġ ints, żewġ Chars, żewġ sufruni, żewġ jirdoppja, kwalunkwe ta ' 534 00:23:15,440 --> 00:23:18,400 tip ta 'data konna tkellem dwar s'issa biex iqabblu lilhom - 535 00:23:18,400 --> 00:23:22,070 recall għamilna ċara ħafna filwaqt li ilu li inti ma tagħmel dan, għaliex 536 00:23:22,070 --> 00:23:25,840 sinjal ugwali uniku huwa ta 'kors l-operatur assenjazzjoni. 537 00:23:25,840 --> 00:23:26,820 Allura li tkun bug. 538 00:23:26,820 --> 00:23:29,260 >> Aħna nużaw is-sinjal ugwali ugwali, li tabilħaqq tqabbel 539 00:23:29,260 --> 00:23:31,050 affarijiet għall-ugwaljanza vera. 540 00:23:31,050 --> 00:23:32,275 Imma I titlob dan huwa Buggy. 541 00:23:32,275 --> 00:23:37,400 Jekk I jimxi 'l quddiem u jagħmlu jqabblu żero, u allura ma dot mmejla jqabblu żero. 542 00:23:37,400 --> 00:23:39,700 U jien tip, ejja ngħidu, bonjour. 543 00:23:39,700 --> 00:23:41,590 U mbagħad ejja jgħidu bonjour mill-ġdid. 544 00:23:41,590 --> 00:23:46,040 Litteralment l-istess ħaġa, il-kompjuter pretensjonijiet I ittajpjat affarijiet differenti. 545 00:23:46,040 --> 00:23:47,640 >> Issa forsi I biss mistyped xi ħaġa. 546 00:23:47,640 --> 00:23:49,910 I ser tip isem tiegħi dan iż-żmien. 547 00:23:49,910 --> 00:23:52,580 I mean, bonjour. 548 00:23:52,580 --> 00:23:54,770 Hello. 549 00:23:54,770 --> 00:23:57,360 Huwa differenti kull wieħed ħin. 550 00:23:57,360 --> 00:23:58,430 >> Well, għaliex huwa li? 551 00:23:58,430 --> 00:24:00,140 X'qed verament għaddejjin taħt il-barnuża? 552 00:24:00,140 --> 00:24:03,270 Ukoll, dak li verament għaddejjin taħt il-barnuża huwa l-sekwenza imbagħad 553 00:24:03,270 --> 00:24:07,410 I ittajpjat f'dan l-ewwel darba, pereżempju hija l-kelma hello, tal-kors. 554 00:24:07,410 --> 00:24:11,660 Imma jekk aħna nirrappreżentaw dan taħt il-barnuża, ifakkar li 555 00:24:11,660 --> 00:24:13,470 sekwenza huwa fil-firxa. 556 00:24:13,470 --> 00:24:15,040 U konna qal kemm fil-passat. 557 00:24:15,040 --> 00:24:20,200 >> Hekk jekk I tfassal dak firxa bħal dan, jien ser jirrappreżentaw xi ħaġa pjuttost 558 00:24:20,200 --> 00:24:23,030 simili għal dak li għamilna mument ilu. 559 00:24:23,030 --> 00:24:25,390 U hemm attwalment xi ħaġa partikolari hawn, wisq. 560 00:24:25,390 --> 00:24:28,090 What did aħna jiddeterminaw kienet fi l-aħħar ta 'kull string? 561 00:24:28,090 --> 00:24:30,760 Yeah, dan żero backslash, li hija biss il-mod li jirrappreżentaw, 562 00:24:30,760 --> 00:24:33,610 litteralment, 00000000. 563 00:24:33,610 --> 00:24:35,680 Tmien 0 bits fil-filliera. 564 00:24:35,680 --> 00:24:37,610 >> I do not know, franchement, x'hemm wara dan. 565 00:24:37,610 --> 00:24:40,090 Li jinsab biss mazz aktar RAM ġewwa tal-kompjuter tiegħi. 566 00:24:40,090 --> 00:24:40,970 Iżda dan huwa firxa. 567 00:24:40,970 --> 00:24:42,260 Tkellimna dwar arrays qabel. 568 00:24:42,260 --> 00:24:45,010 U aħna tipikament nitkellmu dwar arrays bħala post żero, 569 00:24:45,010 --> 00:24:46,580 allura wieħed, imbagħad tnejn. 570 00:24:46,580 --> 00:24:47,950 Iżda li biss għall-konvenjenza. 571 00:24:47,950 --> 00:24:49,380 U li kollox relattiv. 572 00:24:49,380 --> 00:24:53,010 >> Meta int attwalment jkollna memorja minn il-kompjuter, huwa naturalment kwalunkwe 573 00:24:53,010 --> 00:24:55,450 2000000000 bytes xi fard, potenzjalment. 574 00:24:55,450 --> 00:24:59,100 Allura verament taħt il-barnuża, dan il-ħin, iva. 575 00:24:59,100 --> 00:25:01,670 Dan jista 'jkun tajjeb ħafna bracket żero. 576 00:25:01,670 --> 00:25:04,780 Imma jekk inti ħaffer aktar fil-fond taħt il-barnuża, li tassew 577 00:25:04,780 --> 00:25:07,000 jindirizzaw numru 123. 578 00:25:07,000 --> 00:25:09,150 Dan huwa l-indirizz 124. 579 00:25:09,150 --> 00:25:11,040 Dan huwa l-indirizz 125. 580 00:25:11,040 --> 00:25:12,540 >> U jien ma screw up dan iż-żmien. 581 00:25:12,540 --> 00:25:15,840 Dawn issa huma wieħed bytes apparti għal liema raġuni? 582 00:25:15,840 --> 00:25:17,930 Kif big huwa char? 583 00:25:17,930 --> 00:25:19,170 A char huwa biss wieħed byte. 584 00:25:19,170 --> 00:25:20,570 An int huwa tipikament erba bytes. 585 00:25:20,570 --> 00:25:24,850 Allura hu għalhekk li I magħmula 123, 127, 131 u oħrajn. 586 00:25:24,850 --> 00:25:27,560 Now I tista 'żżomm l-matematika sempliċi u biss tagħmel plus 1. 587 00:25:27,560 --> 00:25:30,510 U issa din x'inhu verament għaddej huwa fuq taħt il-barnuża. 588 00:25:30,510 --> 00:25:37,760 >> Allura meta inti tiddikjara xi ħaġa bħal din, string s, dan huwa attwalment - 589 00:25:37,760 --> 00:25:39,170 jirriżulta - 590 00:25:39,170 --> 00:25:41,190 star char. 591 00:25:41,190 --> 00:25:44,640 Star, naturalment, ifisser indirizz, pointer aka. 592 00:25:44,640 --> 00:25:46,200 Allura huwa l-indirizz ta 'xi ħaġa. 593 00:25:46,200 --> 00:25:47,510 X'inhu l-indirizz ta '? 594 00:25:47,510 --> 00:25:47,760 >> Well - 595 00:25:47,760 --> 00:25:51,680 Jien l-unika waħda li tista 'tara l-ħafna Punt importanti jien jagħmlu, jew taħseb 596 00:25:51,680 --> 00:25:52,560 Jien jagħmlu. 597 00:25:52,560 --> 00:25:55,270 Allura string - 598 00:25:55,270 --> 00:25:57,180 il-ħaġa diqa hija I jkollhom monitor hemm dritt fejn I 599 00:25:57,180 --> 00:25:58,100 seta 'jara li. 600 00:25:58,100 --> 00:26:00,990 >> Kull dritt, hekk string s huwa dak I kienet iddikjarat qabel. 601 00:26:00,990 --> 00:26:04,600 Iżda jirriżulta, grazzi għal ftit magic fil-librerija CS50, dan kollu 602 00:26:04,600 --> 00:26:08,780 string ħin għandha litteralment Kien star char. 603 00:26:08,780 --> 00:26:11,310 L-istilla darb'oħra ifisser pointer jew l-indirizz. 604 00:26:11,310 --> 00:26:14,180 Il-fatt li huwa akkumpanjament il- kelma char ifisser li huwa l- 605 00:26:14,180 --> 00:26:15,970 indirizz ta 'karattru. 606 00:26:15,970 --> 00:26:23,100 >> Mela jekk tikseb string huwa msejjaħ, u tip I fl H-E-L-L-O, tipproponi issa dak li tikseb 607 00:26:23,100 --> 00:26:27,330 string litteralment ġew jirritornaw kollha ta ' dan iż-żmien, anke jekk aħna ħadthom pjuttost 608 00:26:27,330 --> 00:26:29,980 eżaġerat id-dinja? 609 00:26:29,980 --> 00:26:33,310 Xi jfisser nikseb string attwalment ritorn bħala valur tar-ritorn tagħha? 610 00:26:33,310 --> 00:26:35,830 611 00:26:35,830 --> 00:26:38,720 >> 123 F'dan il-każ, per eżempju. 612 00:26:38,720 --> 00:26:42,630 Imxejna diġà qal li tikseb string sempliċiment jirritorna string, sekwenza ta ' 613 00:26:42,630 --> 00:26:43,300 karattri. 614 00:26:43,300 --> 00:26:44,790 Iżda li l-daqsxejn ta 'gidba abjad. 615 00:26:44,790 --> 00:26:48,010 Il-mod tikseb string tassew jaħdem taħt il-barnuża huwa jiġrilha 616 00:26:48,010 --> 00:26:48,930 string mill-utent. 617 00:26:48,930 --> 00:26:51,530 Hija plops-karattri li hu jew hi tipi fil-memorja. 618 00:26:51,530 --> 00:26:54,680 Huwa jpoġġi żero backslash fl-aħħar ta 'dawk sekwenza ta' karattri. 619 00:26:54,680 --> 00:26:57,310 >> Iżda mbagħad dak ma nikseb string litteralment ritorn? 620 00:26:57,310 --> 00:27:02,710 Huwa letteralment jirritorna l-indirizz tal- ħafna ewwel bytes fil-RAM li 621 00:27:02,710 --> 00:27:04,130 hija użat għal dik il-qawwa. 622 00:27:04,130 --> 00:27:07,500 U jirriżulta li biss billi jirritorna indirizz wieħed ta 'l- 623 00:27:07,500 --> 00:27:12,120 ewwel karattru fis-sekwenza, jiġifieri suffiċjenti għall-konstatazzjoni tal intier ta ' 624 00:27:12,120 --> 00:27:12,630 l-sekwenza. 625 00:27:12,630 --> 00:27:16,930 >> Fi kliem ieħor, jiksbu string ma jkollux li jirritornaw 123 u 124 u 125. 626 00:27:16,930 --> 00:27:19,950 Huwa ma jkollu li tagħti me twil lista ta 'kollha tal-bytes li 627 00:27:19,950 --> 00:27:20,740 string tiegħi qed tuża. 628 00:27:20,740 --> 00:27:22,670 Għaliex wieħed, dawn qed kollha lura lura. 629 00:27:22,670 --> 00:27:28,160 U tnejn, ibbażata fuq l-ewwel indirizz, I tista figura fejn il-sekwenza jispiċċa. 630 00:27:28,160 --> 00:27:29,910 Kif? 631 00:27:29,910 --> 00:27:33,490 >> Il-karattru null speċjali, il- backslash żero fl-aħħar. 632 00:27:33,490 --> 00:27:35,430 Allura fi kliem ieħor, jekk inti tgħaddi madwar - 633 00:27:35,430 --> 00:27:36,530 ġewwa ta 'varjabbli - 634 00:27:36,530 --> 00:27:41,300 l-indirizz ta 'char, u għandek tassumi li fl-aħħar ta 'kull spag, kwalunkwe 635 00:27:41,300 --> 00:27:45,040 sekwenza ta 'karattri kif aħna bnedmin think ta 'spag, jekk għandek tassumi li 636 00:27:45,040 --> 00:27:48,600 fl-aħħar ta 'kull sekwenza bħal hemm żero backslash, int tad-deheb. 637 00:27:48,600 --> 00:27:52,430 Għaliex inti tista 'dejjem issib l-aħħar ta 'sekwenza. 638 00:27:52,430 --> 00:27:54,870 >> Issa x'inhu verament għaddej mbagħad fuq f'dan il-programm? 639 00:27:54,870 --> 00:27:59,990 Għaliex dan il-programm, iqabblu 0.c, Buggy? 640 00:27:59,990 --> 00:28:01,690 Dak li huwa attwalment qed jiġu mqabbla? 641 00:28:01,690 --> 00:28:02,420 Yeah? 642 00:28:02,420 --> 00:28:05,000 >> STUDENT: [inaudible]. 643 00:28:05,000 --> 00:28:05,730 >> DAVID Malan: Eżattament. 644 00:28:05,730 --> 00:28:08,350 Huwa jitqabblu l-postijiet tal-kordi. 645 00:28:08,350 --> 00:28:12,420 Mela jekk l-utent ikun ittajpjat fil bonjour darba, kif għamilt, il-memorja tista 'tispiċċa 646 00:28:12,420 --> 00:28:13,430 tfittex bħal dan. 647 00:28:13,430 --> 00:28:18,210 Jekk l-utent imbagħad tipi fil bonjour mill-ġdid, iżda billi ċċempel tikseb string darb'oħra, c huwa 648 00:28:18,210 --> 00:28:21,800 mhux partikolarment għaqlija sakemm inti jgħallmu li tkun għaqlija minn kodiċi miktub. 649 00:28:21,800 --> 00:28:22,430 >> C - 650 00:28:22,430 --> 00:28:23,860 u kompjuters aktar ġenerali - 651 00:28:23,860 --> 00:28:27,370 jekk inti tip fil-kelma Hello għal darb'oħra, inti taf dak li int ser tikseb. 652 00:28:27,370 --> 00:28:31,480 Int biss ser tikseb tieni firxa ta 'memorja li, iva, jiġri jkun 653 00:28:31,480 --> 00:28:35,510 ħażna H-E-L-L-O u oħrajn. 654 00:28:35,510 --> 00:28:38,240 >> Huwa ser tħares l-istess għall- us bnedmin, iżda dan l-indirizz 655 00:28:38,240 --> 00:28:39,460 jista 'ma jkunx 123. 656 00:28:39,460 --> 00:28:42,470 Jista 'hekk jiġri biss li l- sistema operattiva għandha xi disponibbli 657 00:28:42,470 --> 00:28:45,430 ispazju per eżempju fil-post - 658 00:28:45,430 --> 00:28:49,820 ejja ngħidu xi ħaġa arbitrarja, bħal dan huwa post 200. 659 00:28:49,820 --> 00:28:51,620 U dan huwa post 201. 660 00:28:51,620 --> 00:28:53,060 U dan huwa post 202. 661 00:28:53,060 --> 00:28:55,730 Għandna l-ebda idea fejn dan huwa ser ikunu fil-memorja. 662 00:28:55,730 --> 00:28:59,110 >> Imma dak li dan ifisser huwa li dak li huwa ser jiġi maħżun finalment i? 663 00:28:59,110 --> 00:29:00,750 In-numru 123. 664 00:29:00,750 --> 00:29:04,860 X'hemm ser jiġi maħżun fil-t, f'dan l-eżempju arbitrarja? 665 00:29:04,860 --> 00:29:06,300 In-numru 200. 666 00:29:06,300 --> 00:29:11,410 U dak kollu li jfisser allura hija ovvjament, 123 ma tkunx daqs 200. 667 00:29:11,410 --> 00:29:14,940 U hekk dan jekk il-kundizzjoni qatt jevalwa l veru. 668 00:29:14,940 --> 00:29:18,430 Minħabba string get qed tuża differenti biċċiet ta 'memorja kull darba. 669 00:29:18,430 --> 00:29:20,360 >> Issa nistgħu naraw dan jerġa fl-eżempju ieħor. 670 00:29:20,360 --> 00:29:23,764 Let me imorru quddiem u tiftaħ kopja 0.c. 671 00:29:23,764 --> 00:29:28,770 I jsostnu li dan l-eżempju se ipprova - iżda jonqsu - li tikkopja żewġ kordi 672 00:29:28,770 --> 00:29:29,910 kif ġej. 673 00:29:29,910 --> 00:29:31,730 >> Jien se ngħid xi ħaġa għall-utent. 674 00:29:31,730 --> 00:29:34,490 Jien imbagħad ser tikseb spag u sejħa hija s. 675 00:29:34,490 --> 00:29:36,400 U issa, jien tagħmel dan il-kontroll hawnhekk. 676 00:29:36,400 --> 00:29:37,990 Aħna msemmija f'dan filwaqt li lura. 677 00:29:37,990 --> 00:29:42,490 Imma meta tista 'tikseb null ritorn string, karattru ieħor speċjali, jew speċjali 678 00:29:42,490 --> 00:29:45,050 simbolu Ejja ngħidu. 679 00:29:45,050 --> 00:29:45,900 Jekk huwa tal-memorja. 680 00:29:45,900 --> 00:29:48,970 >> Per eżempju, jekk l-utent huwa verament diffiċli, u t-tipi ta 'atroċi 681 00:29:48,970 --> 00:29:51,220 numru ta 'karattri fil- tastiera u hits Ikteb. 682 00:29:51,220 --> 00:29:54,580 Jekk dak in-numru ta 'karattri biss ma tistax tiffittja RAM għal kwalunkwe crazy 683 00:29:54,580 --> 00:29:57,820 raġuni, ukoll nikseb string jista tajjeb ħafna ritorn null. 684 00:29:57,820 --> 00:30:01,080 >> Jew jekk program tiegħek stess qed tagħmel ħafna ta 'affarijiet oħra u hemm biss 685 00:30:01,080 --> 00:30:03,790 mhux memorja biżżejjed għall string get biex jirnexxu, Huwa jista 'jispiċċa 686 00:30:03,790 --> 00:30:05,240 up jirritornaw null. 687 00:30:05,240 --> 00:30:07,160 Imma ejja tkun aktar preċiża dwar liema dan huwa. 688 00:30:07,160 --> 00:30:10,280 X'inhu tip ta 'data i tal tassew? 689 00:30:10,280 --> 00:30:11,610 Star Char. 690 00:30:11,610 --> 00:30:14,560 >> Għalhekk jirriżulta li issa nistgħu qoxra lura l-saff ta 'nulla. 691 00:30:14,560 --> 00:30:17,500 Jirriżulta, null hija - iva, ovvjament simbolu speċjali. 692 00:30:17,500 --> 00:30:19,190 Imma dak huwa tassew? 693 00:30:19,190 --> 00:30:25,220 Really, null hija biss simbolu li aħna bnedmin tuża biex jirrappreżentaw żero ukoll. 694 00:30:25,220 --> 00:30:29,010 >> Allura l-awturi ta 'C, u kompjuters b'mod aktar ġenerali, iddeċieda snin ilu 695 00:30:29,010 --> 00:30:30,010 dan, inti taf liema. 696 00:30:30,010 --> 00:30:34,850 Għaliex ma we jiżguraw li l-ebda utent data hija qatt, qatt, qatt 697 00:30:34,850 --> 00:30:36,730 maħżuna fil bye żero? 698 00:30:36,730 --> 00:30:39,610 Fil-fatt, anki fl-eżempju arbitrarja tiegħi qabel, I ma tibda numerazzjoni l- 699 00:30:39,610 --> 00:30:40,390 bytes f'żero. 700 00:30:40,390 --> 00:30:41,540 I bdiet fil waħda. 701 00:30:41,540 --> 00:30:44,950 Għaliex kont naf li n-nies fid-dinja jiddeċiedi li jirriżerva l-żero 702 00:30:44,950 --> 00:30:47,970 byte fl RAM ħadd bħala xi ħaġa speċjali. 703 00:30:47,970 --> 00:30:52,020 >> Ir-raġuni li, ghaċ tixtieq sinjal li xi ħaġa marret ħażin 704 00:30:52,020 --> 00:30:55,960 fir-rigward indirizzi, inti lura null - inkella magħruf bħala zero - 705 00:30:55,960 --> 00:30:59,410 u għaliex inti taf li hemm l-ebda leġittimu data fl-indirizz żero, b'mod ċar 706 00:30:59,410 --> 00:31:00,400 dan ifisser żball. 707 00:31:00,400 --> 00:31:04,080 U huwa għalhekk li għandna, b'konvenzjoni, check għall null u r-ritorn xi ħaġa 708 00:31:04,080 --> 00:31:06,260 bħal wieħed f'dawk il-każijiet. 709 00:31:06,260 --> 00:31:09,300 >> Allura jekk aħna iscroll issa, dan huwa biss mbagħad ftit verifika żball, biss fil-każ 710 00:31:09,300 --> 00:31:10,610 xi ħaġa li marret ħażin ma [? bail?] 711 00:31:10,610 --> 00:31:13,470 kollox u nieqaf-programm billi jirritorna kmieni. 712 00:31:13,470 --> 00:31:19,030 Din il-linja issa jistgħu jiġu miktuba mill-ġdid kif dan, li jfisser liema? 713 00:31:19,030 --> 00:31:23,155 Min-naħa tax-xellug, tagħti me ieħor pointer għal karattru, u sejħa hija t. 714 00:31:23,155 --> 00:31:26,935 What am I ħażna ġewwa ta 't, ibbażata fuq din il-linja waħda tal-kodiċi? 715 00:31:26,935 --> 00:31:30,950 716 00:31:30,950 --> 00:31:32,170 >> Jien jaħżen post. 717 00:31:32,170 --> 00:31:34,742 Speċifikament il-post li kien i. 718 00:31:34,742 --> 00:31:39,000 Mela jekk l-utent ikun ittajpjat fil hello, u li l-ewwel bonjour jiġri li jispiċċaw 719 00:31:39,000 --> 00:31:42,567 hawn, allura l-123 numru huwa ser jiġu lura minn tikseb 720 00:31:42,567 --> 00:31:43,810 string u jiġu maħżuna - 721 00:31:43,810 --> 00:31:44,780 kif għidna qabel - 722 00:31:44,780 --> 00:31:45,440 fl-i. 723 00:31:45,440 --> 00:31:50,560 >> Meta I issa niddikjara pointer ieħor biex a t char u sejħa hija, dak in-numru huwa 724 00:31:50,560 --> 00:31:53,940 litteralment ser jispiċċaw fl f't skont l-istorja? 725 00:31:53,940 --> 00:31:55,420 Allura 123. 726 00:31:55,420 --> 00:32:00,310 >> Allura teknikament issa kemm iu t huma tipponta lejn il-eżatt 727 00:32:00,310 --> 00:32:02,410 istess biċċiet ta 'memorja. 728 00:32:02,410 --> 00:32:06,140 Allura avviż dak li jien ser tagħmel issa li jipprova li dan il-programm huwa Buggy. 729 00:32:06,140 --> 00:32:08,820 >> Ewwel Jien ser jitolbu, ma print f, kapitalizzazzjoni 730 00:32:08,820 --> 00:32:10,080 il-kopja tas-sekwenza. 731 00:32:10,080 --> 00:32:11,660 Imbagħad jien ser tagħmel ftit Kontroll Żball. 732 00:32:11,660 --> 00:32:12,160 Jien ser tagħmel ċert. 733 00:32:12,160 --> 00:32:16,710 Ejja kun żgur li l-sekwenza t huwa fil inqas ogħla minn żero fit-tul, 734 00:32:16,710 --> 00:32:19,190 hekk hemm xi karattru hemm li attwalment kapitalizzazzjoni. 735 00:32:19,190 --> 00:32:22,840 >> U allura inti tista 'recall dan minn eżempji preċedenti. 736 00:32:22,840 --> 00:32:25,630 2 ta 'fuq - li huwa il-fajl ctype.h. 737 00:32:25,630 --> 00:32:30,800 T bracket żero me tagħti l-zero karattru tal-t sekwenza. 738 00:32:30,800 --> 00:32:34,360 U 2 ta 'fuq tal-istess valur, ta' Naturalment, tikkonverti li uppercase. 739 00:32:34,360 --> 00:32:38,230 >> Allura intuwittivament, din il-linja enfasizzat ta 'kodiċi hija kapitalizzazzjoni-ewwel 740 00:32:38,230 --> 00:32:40,250 ittra f't. 741 00:32:40,250 --> 00:32:44,485 Iżda mhuwiex kapitalizzazzjoni, intuwittivament, l-ewwel ittra fl-i. 742 00:32:44,485 --> 00:32:48,130 Imma jekk int taħseb quddiem, dak am I waslu biex tara meta I run dan il-programm 743 00:32:48,130 --> 00:32:54,220 u jistampa kemm l-oriġinali, i, u l-kopja hekk imsejħa, t? 744 00:32:54,220 --> 00:32:55,350 >> Huma qed fil-fatt se tkun l-istess. 745 00:32:55,350 --> 00:32:56,600 U għaliex dawn huma ser ikunu l-istess? 746 00:32:56,600 --> 00:32:58,970 747 00:32:58,970 --> 00:33:01,020 Huma qed kemm tipponta lejn eżattament l-istess ħaġa. 748 00:33:01,020 --> 00:33:01,610 Mela ejja jagħmlu dan. 749 00:33:01,610 --> 00:33:03,160 >> Jagħmlu kopja żero. 750 00:33:03,160 --> 00:33:04,070 Tiġbor OK. 751 00:33:04,070 --> 00:33:06,500 Let me run kopja żero. 752 00:33:06,500 --> 00:33:10,110 Let me tip xi ħaġa bħal bonjour kollha lowercase mbagħad hit Ikteb. 753 00:33:10,110 --> 00:33:16,520 U hija ssostni li kemm il-s oriġinali u l-kopja huma tabilħaqq identiċi. 754 00:33:16,520 --> 00:33:17,920 >> Allura dak li verament ġara hawn? 755 00:33:17,920 --> 00:33:20,100 Let me tiġbed din l-istampa biss li tgħid l-istorja fil- 756 00:33:20,100 --> 00:33:21,340 b'mod kemmxejn differenti. 757 00:33:21,340 --> 00:33:26,060 X'qed verament għaddejjin minn taħt il- hood meta Niddikjara xi ħaġa simili 758 00:33:26,060 --> 00:33:30,410 char s bidu, jew spag s, I am jkollna pointer - 759 00:33:30,410 --> 00:33:33,090 li jiġri li jkun ta 'erba bytes fil-appliance CS50 760 00:33:33,090 --> 00:33:34,410 u fil-lott ta 'kompjuters. 761 00:33:34,410 --> 00:33:36,008 U jien ser sejħa dan i. 762 00:33:36,008 --> 00:33:39,810 U dan bħalissa għandha xi valur mhux magħruf. 763 00:33:39,810 --> 00:33:43,900 >> Meta inti tiddikjara varjabbli, sakemm inti yourself nagħtu valur hemmhekk, li 764 00:33:43,900 --> 00:33:44,570 jaf x'hemm hemmhekk. 765 00:33:44,570 --> 00:33:48,110 Jista 'jkun hemm xi sekwenza każwali ta' bits mill-eżekuzzjoni ta 'qabel. 766 00:33:48,110 --> 00:33:52,490 Allura meta I, f'konformità tiegħi tal-kodiċi ma jiksbu spag, u mbagħad aħżen-ritorn 767 00:33:52,490 --> 00:33:54,800 valur s nikseb string b'xi mod - 768 00:33:54,800 --> 00:33:58,520 u aħna ser eventwalment qoxra lura kif tikseb xogħlijiet spag, b'xi jalloka 769 00:33:58,520 --> 00:34:00,480 array li probabbilment jistenna qisu dan. 770 00:34:00,480 --> 00:34:05,390 H-E-L-L-O, backslash żero. 771 00:34:05,390 --> 00:34:09,510 >> Ejja nassumu li din hija indirizz 123 biss l-ewwel konsistenza. 772 00:34:09,510 --> 00:34:13,000 Sabiex tikseb prospetti spag, fil- linja enfasizzat hemmhekk, dan jirritorna l- 773 00:34:13,000 --> 00:34:15,000 numru għidna, 123. 774 00:34:15,000 --> 00:34:17,420 Allura dak li verament tmur ġewwa ta 'i hawn? 775 00:34:17,420 --> 00:34:26,590 >> Ukoll, dak li verament tmur ġewwa ta 's huwa 123. 776 00:34:26,590 --> 00:34:29,250 Iżda franchement, jien jkollna ftit konfużi minn kulħadd ta 'dawn l-indirizzi, 777 00:34:29,250 --> 00:34:30,320 kollha ta 'dawn in-numri arbitrarji. 778 00:34:30,320 --> 00:34:32,290 123, 124, 127. 779 00:34:32,290 --> 00:34:34,570 Mela ejja attwalment jissimplifikaw id-dinja ftit. 780 00:34:34,570 --> 00:34:38,800 >> Meta nitkellmu dwar pointers, franchement, li us bnedmin, li l-Heck cares fejn 781 00:34:38,800 --> 00:34:39,870 affarijiet huma fil-memorja? 782 00:34:39,870 --> 00:34:41,080 C'est kompletament arbitrarja. 783 00:34:41,080 --> 00:34:43,370 Huwa ser jiddependi fuq kif RAM ħafna l-utent għandu. 784 00:34:43,370 --> 00:34:46,590 Huwa ser jiddependu fuq meta fil-ġurnata inti tmexxi l-programm, forsi, u 785 00:34:46,590 --> 00:34:48,250 dak input-utent jagħtik. 786 00:34:48,250 --> 00:34:50,060 Aħna abitazzjoni fuq id-dettalji mhux importanti. 787 00:34:50,060 --> 00:34:54,230 >> Mela ejja astratt bogħod u jgħidu li, meta inti tmexxi linja tal-kodiċi bħal dan, 788 00:34:54,230 --> 00:34:57,320 char star s gets-ritorn valur ta 'spag get. 789 00:34:57,320 --> 00:35:02,720 Għaliex ma we minflok biss jiġbed dak li aħna iżommu ssejjaħ pointer bħallikieku huwa 790 00:35:02,720 --> 00:35:04,140 tipponta lejn xi ħaġa? 791 00:35:04,140 --> 00:35:07,000 So I jsostnu issa li s up hemm pointer - 792 00:35:07,000 --> 00:35:08,480 taħt il-barnuża huwa ta 'indirizz. 793 00:35:08,480 --> 00:35:11,330 Iżda huwa biss li tipponta lejn l-ewwel byte fil- 794 00:35:11,330 --> 00:35:12,780 string li kien lura. 795 00:35:12,780 --> 00:35:16,710 >> Jekk I issa lura għall-kodiċi hawn, x'inhu għaddej fil din il-linja? 796 00:35:16,710 --> 00:35:20,020 Ukoll, f'dan il-linja enfasizzat issa, Jien tiddikjara apparentement ieħor 797 00:35:20,020 --> 00:35:21,070 varjabbli imsejħa t. 798 00:35:21,070 --> 00:35:25,700 Imma hija wkoll pointer, hekk jien ser biex tiġbed bħala, fit-teorija, il-eżatt 799 00:35:25,700 --> 00:35:26,710 kaxxa istess daqs. 800 00:35:26,710 --> 00:35:28,160 U jien ser sejħa hija t. 801 00:35:28,160 --> 00:35:33,500 >> U issa jekk immorru lura għall-kodiċi mill-ġdid, meta I jaħżnu s ġewwa ta 't, 802 00:35:33,500 --> 00:35:36,920 dak am I teknikament tqegħid ġewwa ta 't? 803 00:35:36,920 --> 00:35:39,350 Well teknikament, dan kien il-123 numru. 804 00:35:39,350 --> 00:35:42,270 Sabiex verament I għandu jkun miktub l-123 numru hemmhekk. 805 00:35:42,270 --> 00:35:43,900 Imma ejja teħodha livell ogħla. 806 00:35:43,900 --> 00:35:48,090 t, jekk din hija biss pointer, intuwittivament, huwa biss li. 807 00:35:48,090 --> 00:35:49,800 Li kollox thats qed maħżuna hemmhekk. 808 00:35:49,800 --> 00:35:54,970 >> Allura issa fl-aħħar linji interessanti tal-kodiċi, meta I attwalment tmur dwar 809 00:35:54,970 --> 00:36:00,680 jikkapitalizza-karattru żero f't, dak li qed jiġri? 810 00:36:00,680 --> 00:36:06,310 Ukoll, t bracket żero issa tipponta għal dak karattru, preżumibbilment? 811 00:36:06,310 --> 00:36:07,460 >> Huwa tipponta lejn h. 812 00:36:07,460 --> 00:36:08,870 Minħabba t bracket zero - 813 00:36:08,870 --> 00:36:12,490 recall, dan huwa sintassi qodma. t bracket zero ifisser biss jekk t hija sekwenza, t 814 00:36:12,490 --> 00:36:15,590 bracket żero ifisser li jkollna l-zero karattru li l-qawwa. 815 00:36:15,590 --> 00:36:18,650 Allura dak li verament ifisser hu li tmur għal dan array - 816 00:36:18,650 --> 00:36:21,520 u iva, dan jista 'jkun 123, dan jista 'jkun 124. 817 00:36:21,520 --> 00:36:22,790 Imma dan kollu relattiva, ftakar. 818 00:36:22,790 --> 00:36:25,640 Kull meta jitkellem dwar firxa, għandna l-vantaġġ ta 'jitkellem dwar 819 00:36:25,640 --> 00:36:27,000 indiċijiet relattivi. 820 00:36:27,000 --> 00:36:31,120 >> U hekk issa nistgħu biss wieħed jassumi li t bracket żero huwa h. 821 00:36:31,120 --> 00:36:35,090 Mela jekk jien sejħa 2 massimu fuq dan, dak li l- verament tagħmel huwa kapitalizzazzjoni 822 00:36:35,090 --> 00:36:38,290 il-h zghar li uppercase H. Iżda naturalment, dak li huwa s? 823 00:36:38,290 --> 00:36:41,010 Huwa tipponta lejn l-istess sekwenza darn. 824 00:36:41,010 --> 00:36:44,200 >> Allura dan huwa dak kollu li kien qed jiġri f'dan kodiċi s'issa. 825 00:36:44,200 --> 00:36:45,960 Allura x'inhu l allura l-implikazzjoni? 826 00:36:45,960 --> 00:36:48,300 Kif nistgħu jiffissaw dawn iż-żewġ problemi? 827 00:36:48,300 --> 00:36:50,870 Kif nistgħu iqabblu kordi attwali? 828 00:36:50,870 --> 00:36:53,720 >> Ukoll intuwittivament, kif kieku inti tmur dwar tqabbel żewġ 829 00:36:53,720 --> 00:36:55,090 kordi għall-ugwaljanza vera? 830 00:36:55,090 --> 00:36:58,920 831 00:36:58,920 --> 00:37:00,750 >> Xi jfisser jekk tnejn kordi huma ugwali? 832 00:37:00,750 --> 00:37:04,330 Ovvjament mhux li indirizzi huma ugwali fil-memorja, għaliex thats baxxa 833 00:37:04,330 --> 00:37:06,590 livell dettall implimentazzjoni. 834 00:37:06,590 --> 00:37:08,360 L-karattri huma l-istess. 835 00:37:08,360 --> 00:37:12,810 So let me tipproponi, u let me jintroduċu fil-verżjoni waħda ta compare.c 836 00:37:12,810 --> 00:37:14,970 hawn, hekk iqabblu 1.c. 837 00:37:14,970 --> 00:37:19,590 >> Let me tipproponi li aħna xorta jiksbu pointer imsejħa s, u maħżen fiha l- 838 00:37:19,590 --> 00:37:20,610 ritorn valur ta 'spag get. 839 00:37:20,610 --> 00:37:21,750 Ejja nagħmlu l-istess ħaġa ma 't. 840 00:37:21,750 --> 00:37:23,230 Allura l-ebda kodiċi hija differenti. 841 00:37:23,230 --> 00:37:25,420 Jien ser żid ftit aktar iċċekkjar għall-iżbalji issa. 842 00:37:25,420 --> 00:37:29,390 Allura issa li aħna qed tip ta 'tqaxxir lura dan saffi fil CS50 ta 'dak string 843 00:37:29,390 --> 00:37:33,520 fil-fatt hu, għandna bżonn li jkunu aktar anali dwar l-iżgurar aħna ma jabbużawx 844 00:37:33,520 --> 00:37:35,330 Valuri invalidi bħal null. 845 00:37:35,330 --> 00:37:36,440 >> Hekk jien biss jmorru biex jiċċekkjaw. 846 00:37:36,440 --> 00:37:41,490 Jekk i ma null ugwali u t ma null ugwali, li jfisser aħna qed OK. 847 00:37:41,490 --> 00:37:44,460 Get string ma screw up jkollna waħda minn dawk il-kordi. 848 00:37:44,460 --> 00:37:51,270 U inti tista 'forsi raden issa, dak li ma STR CMP preżumibbilment do? 849 00:37:51,270 --> 00:37:52,000 String jqabblu. 850 00:37:52,000 --> 00:37:55,470 >> Mela jekk inti stajt programm java qabel, dan huwa bħall-metodu ugwali fil- 851 00:37:55,470 --> 00:37:56,490 klassi string. 852 00:37:56,490 --> 00:37:57,890 Iżda għal dawk fostkom li għadhom ma programmati qabel, 853 00:37:57,890 --> 00:37:59,320 din hija biss funzjoni c. 854 00:37:59,320 --> 00:38:02,180 Dan jiġri li jaqgħu fil- inkartament imsejjaħ string.h. 855 00:38:02,180 --> 00:38:03,830 Li fejn huwa ddikjarat. 856 00:38:03,830 --> 00:38:05,110 >> U string tqabbel - 857 00:38:05,110 --> 00:38:07,530 I attwalment tinsa l-użu tagħha, iżda qatt f'moħħhom dik. 858 00:38:07,530 --> 00:38:10,470 Ifakkar li nistgħu nagħmlu bniedem, ħawwad jqabblu. 859 00:38:10,470 --> 00:38:12,590 U dan se iġibu l- Programmaturi Linux manwali. 860 00:38:12,590 --> 00:38:14,060 U huwa, franchement, ftit cryptic. 861 00:38:14,060 --> 00:38:15,270 Imma I jista 'jara hawnhekk li, yep. 862 00:38:15,270 --> 00:38:17,570 I għandhom jinkludu string.h. 863 00:38:17,570 --> 00:38:20,590 >> U jgħid hawn taħt deskrizzjoni, "il- Qabbel funzjoni string jikkompara 864 00:38:20,590 --> 00:38:24,560 iż-żewġ kordi S1 ​​u S2. "U S1 u S2 huma apparentament it-tnejn 865 00:38:24,560 --> 00:38:26,120 argumenti għadda pulzieri 866 00:38:26,120 --> 00:38:28,650 I ma verament tiftakar dak const hija, iżda issa avviż - 867 00:38:28,650 --> 00:38:31,480 u inti tista raw dan diġà meta inti stajt tuża l-paġni bniedem jekk inti 868 00:38:31,480 --> 00:38:32,390 jkollhom dan kollu - 869 00:38:32,390 --> 00:38:36,220 li star char huwa biss sinonimu ma string. 870 00:38:36,220 --> 00:38:40,440 >> Allura jikkompara iż-żewġ kordi, S1 u S2, u dan jirritorna integer inqas 871 00:38:40,440 --> 00:38:44,930 minn jew ugwali għal jew akbar minn żero jekk S1 jinstab, rispettivament, li jkun 872 00:38:44,930 --> 00:38:47,450 inqas minn, jew jaqblux, jew ikun akbar minn S2. 873 00:38:47,450 --> 00:38:51,220 Li jinsab biss mod kumpless ħafna ta 'tgħid li string jqabblu prospetti 874 00:38:51,220 --> 00:38:55,760 żero jekk żewġ kordi huma intuwittivament identiċi, karattru għal 875 00:38:55,760 --> 00:38:57,120 karattru għall-karattru. 876 00:38:57,120 --> 00:38:59,970 >> Dan jirritorna numru negattiv jekk i, alfabetikament, suppost 877 00:38:59,970 --> 00:39:01,010 biex jiġi qabel t. 878 00:39:01,010 --> 00:39:05,300 Jew prospetti numru pożittiv jekk i suppost li jiġu wara t 879 00:39:05,300 --> 00:39:06,170 alfabetikament. 880 00:39:06,170 --> 00:39:08,360 Allura ma din il-funzjoni sempliċi, jista inti, per eżempju, sort a 881 00:39:08,360 --> 00:39:09,770 mazz sħiħ ta 'kliem? 882 00:39:09,770 --> 00:39:13,984 >> Allura f'dan il-verżjoni l-ġdida, jien ser jimxi 'l quddiem u jagħmlu compare1. 883 00:39:13,984 --> 00:39:15,750 Dot slash jqabblu wieħed. 884 00:39:15,750 --> 00:39:18,030 I ser tip bonjour kollha żgħira. 885 00:39:18,030 --> 00:39:20,300 Jien ser tip fil bonjour fil kollha zghar mill-ġdid. 886 00:39:20,300 --> 00:39:23,340 U Thankfully issa jirrealizza I ttajpjati l-istess ħaġa. 887 00:39:23,340 --> 00:39:27,520 >> Sadanittant, jekk I tip bonjour t'isfel każ u HELLO fil-każ ta 'fuq u 888 00:39:27,520 --> 00:39:29,710 jqabbluhom, I ittajpjat affarijiet differenti. 889 00:39:29,710 --> 00:39:32,530 Minħabba li mhux biss huma l-indirizzi differenti, iżda aħna qed jitqabblu 890 00:39:32,530 --> 00:39:35,350 karattri differenti u għal darb'oħra. 891 00:39:35,350 --> 00:39:37,320 >> Well ejja go u tiffissa wieħed problema l-oħra issa. 892 00:39:37,320 --> 00:39:41,590 Let me jiftħu verżjoni waħda ta ' kopja, li issa jindirizza 893 00:39:41,590 --> 00:39:42,900 din il-kwistjoni kif ġej. 894 00:39:42,900 --> 00:39:45,650 U dan wieħed għaddej biex tfittex ftit aktar kumplessa. 895 00:39:45,650 --> 00:39:49,320 Imma jekk inti taħseb dwar liema problema aħna bżonn biex issolvi, wieħed jittama li dan se jkun 896 00:39:49,320 --> 00:39:51,870 ċar fil-ftit mument issa. 897 00:39:51,870 --> 00:39:57,280 >> Allura dan l-ewwel linja, char-bidu t, fil F'termini layman tista 'tipproponi xi ħadd 898 00:39:57,280 --> 00:39:59,450 dak il-linja hawnhekk tfisser? 899 00:39:59,450 --> 00:40:01,050 Star t Char, dak hu li tagħmel? 900 00:40:01,050 --> 00:40:06,660 901 00:40:06,660 --> 00:40:07,210 >> Tajba. 902 00:40:07,210 --> 00:40:09,500 Oħloq pointer għal xi post fil-memorja. 903 00:40:09,500 --> 00:40:10,930 U let me tirfina ftit. 904 00:40:10,930 --> 00:40:17,180 Tiddikjara varjabbli li ser taħżen l- indirizz ta 'xi char fil-memorja, biss 905 00:40:17,180 --> 00:40:18,480 li jkun ftit aktar xierqa. 906 00:40:18,480 --> 00:40:21,210 >> OK, hekk issa fuq il-lemin, stajt qatt ma tidher waħda minn dawn il-funzjonijiet 907 00:40:21,210 --> 00:40:22,660 qabel, malloc. 908 00:40:22,660 --> 00:40:26,980 Imma dak li jista 'jfisser? 909 00:40:26,980 --> 00:40:28,050 Allokazzjoni ta 'memorja. 910 00:40:28,050 --> 00:40:29,410 Allokazzjoni memorja. 911 00:40:29,410 --> 00:40:33,050 >> Għalhekk jirriżulta li, sa issa, aħna ma verament kellu mod qawwi ta ' 912 00:40:33,050 --> 00:40:36,210 titlob lill-sistema operattiva, tagħti me xi memorja. 913 00:40:36,210 --> 00:40:39,980 Pjuttost, issa għandna funzjoni msejħa malloc li ma eżattament dan. 914 00:40:39,980 --> 00:40:42,960 Anke jekk dan huwa daqsxejn ta ' distrazzjoni dritt issa, avviż li 915 00:40:42,960 --> 00:40:46,200 bejn iż-żewġ parentesi hemm biss se jkun hemm numru. 916 00:40:46,200 --> 00:40:48,510 Fejn stajt ittajpjat fil-kwistjoni marki tista 'tkun numru. 917 00:40:48,510 --> 00:40:51,020 >> U dak in-numru jfisser, tagħti me 10 bytes. 918 00:40:51,020 --> 00:40:52,320 Agħti me 20 bytes. 919 00:40:52,320 --> 00:40:53,820 Agħti me 100 bytes. 920 00:40:53,820 --> 00:40:56,500 U malloc se tagħmel ħilitha biex titlob lill-sistema operattiva - 921 00:40:56,500 --> 00:40:57,630 Linux, f'dan il-każ - 922 00:40:57,630 --> 00:40:59,630 ħej, huma 100 bytes tagħhom ta 'RAM disponibbli? 923 00:40:59,630 --> 00:41:04,320 Jekk iva, jirritorna dawk bytes lili minn jirritorna l-indirizz ta 'liema ta' 924 00:41:04,320 --> 00:41:06,610 dawk bytes, forsi? 925 00:41:06,610 --> 00:41:07,610 L-ewwel waħda ħafna. 926 00:41:07,610 --> 00:41:10,460 >> Allura hawnhekk wisq - u dan huwa predominanti fis-C, kwalunkwe ħin int 927 00:41:10,460 --> 00:41:11,680 jittrattaw indirizzi? 928 00:41:11,680 --> 00:41:15,830 Inti kważi dejjem jittrattaw mal- ewwel indirizz bħal dak, l-ebda kwistjoni kemm hu kbir 929 00:41:15,830 --> 00:41:19,490 blokki ta 'memorja inti qed mogħtija lura, biex ngħidu hekk. 930 00:41:19,490 --> 00:41:20,880 >> Mela ejja adsa fil hawn. 931 00:41:20,880 --> 00:41:23,940 I am tipprova talloka kif ħafna bytes, eżattament? 932 00:41:23,940 --> 00:41:24,080 Well. 933 00:41:24,080 --> 00:41:26,090 Tul sensiela ta 's - ejja jagħmlu eżempju konkret. 934 00:41:26,090 --> 00:41:30,700 Jekk i huwa hello, H-E-L-L-O, x'inhu l- tul sensiela ta 'i, ovvjament? 935 00:41:30,700 --> 00:41:32,010 Allura huwa ħamsa. 936 00:41:32,010 --> 00:41:34,590 Imma jien tagħmel plus 1 fuq li, għaliex? 937 00:41:34,590 --> 00:41:37,700 Għaliex nixtieq sitt bytes minflok ħamsa? 938 00:41:37,700 --> 00:41:38,790 Il-karattru null. 939 00:41:38,790 --> 00:41:41,210 >> Ma rridx li jħallu off din karattru null speċjali. 940 00:41:41,210 --> 00:41:45,160 Għaliex jekk I jagħmel kopja ta 'Hello u biss tagħmel H-E-L-L-O, imma jien ma jitqiegħdu 941 00:41:45,160 --> 00:41:50,160 dan il-karattru speċjali, il-kompjuter jista 'ma jkollhomx, b'kumbinazzjoni, backslash 942 00:41:50,160 --> 00:41:51,730 żero hemm għalija. 943 00:41:51,730 --> 00:41:55,570 U hekk jekk jien jippruvaw biex insemmu l- tul tal-kopja, I jista 'jaħseb li 944 00:41:55,570 --> 00:41:59,360 huwa 20 karattri fit-tul, jew miljun karattri twil jekk I biss qatt jiġri 945 00:41:59,360 --> 00:42:01,050 hit żero backslash. 946 00:42:01,050 --> 00:42:05,780 >> Allura għandna bżonn sitt bytes li jaħżen H-E-L-L-O, backslash żero. 947 00:42:05,780 --> 00:42:07,870 U allura dan huwa biss li jkun anali super. 948 00:42:07,870 --> 00:42:10,700 Ejja ngħidu li ninsa dak id-daqs ta 'char huwa. 949 00:42:10,700 --> 00:42:12,020 Aħna nżommu qal huwa wieħed byte. 950 00:42:12,020 --> 00:42:12,860 U normalment huwa. 951 00:42:12,860 --> 00:42:15,425 Fit-teorija, jista 'jkun xi ħaġa differenti, fuq Mac differenti jew 952 00:42:15,425 --> 00:42:16,250 PC differenti. 953 00:42:16,250 --> 00:42:19,650 >> Għalhekk jirriżulta li hemm dan l-operatur imsejħa sizeof li jekk inti tgħaddi din l- 954 00:42:19,650 --> 00:42:22,680 isem ta 'tip ta' dejta - bħal char, jew int, jew float - 955 00:42:22,680 --> 00:42:26,930 se jgħidlek, dinamiku, kemm bytes a char jieħu fuq dan 956 00:42:26,930 --> 00:42:28,090 partikolari kompjuter. 957 00:42:28,090 --> 00:42:31,360 >> Allura dan huwa effettivament biss simili qal ħinijiet 1 jew 958 00:42:31,360 --> 00:42:32,440 żminijiet xejn. 959 00:42:32,440 --> 00:42:36,340 Imma jien tagħmel dan biss sabiex ikunu anali super, li biss fil-każ li char differenti 960 00:42:36,340 --> 00:42:40,610 fuq il-kompjuter tiegħek kontra mini, b'dan il-mod l-matematika huwa dejjem se check out. 961 00:42:40,610 --> 00:42:43,720 >> Fl-aħħar nett, stabbiliti hawn I jiċċekkja għal null, li huwa dejjem prattika tajba - għal darb'oħra, 962 00:42:43,720 --> 00:42:44,920 kwalunkwe ħin aħna qed jittrattaw pointers. 963 00:42:44,920 --> 00:42:47,520 Jekk malloc kienx kapaċi jagħtu me sitt byes - li huwa 964 00:42:47,520 --> 00:42:49,210 improbabbli, iżda biss fil-każ - 965 00:42:49,210 --> 00:42:50,730 ritorn wieħed immedjatament. 966 00:42:50,730 --> 00:42:53,290 U issa, imorru quddiem u kopja l-sekwenza kif ġej. 967 00:42:53,290 --> 00:42:57,240 U dan huwa sintassi familjari, għalkemm fi rwol differenti. 968 00:42:57,240 --> 00:43:01,210 >> Jien ser jimxi 'l quddiem u jiksbu l-sekwenza tul ta 'i u jaħżen fil n. 969 00:43:01,210 --> 00:43:06,620 Jien imbagħad ser jtenni mill-i huwa ugwali żero sa u inkluż n, 970 00:43:06,620 --> 00:43:08,410 ikbar minn jew ugwali għal. 971 00:43:08,410 --> 00:43:13,540 Allura li fuq kull iterazzjoni, nressaq il- karattru ith ta 'i fil-ith 972 00:43:13,540 --> 00:43:15,380 karattru ta 't. 973 00:43:15,380 --> 00:43:18,190 >> Allura x'inhu verament għaddej taħt il-barnuża hawn? 974 00:43:18,190 --> 00:43:22,140 Ukoll jekk dan, per eżempju, huwa s - 975 00:43:22,140 --> 00:43:26,400 u jien ittajpjat fil-kelma H-E-L-L-O u hemm żero backslash. 976 00:43:26,400 --> 00:43:29,020 U għal darb'oħra, dan huwa s tipponta hawn. 977 00:43:29,020 --> 00:43:30,830 U hawn huwa issa t. 978 00:43:30,830 --> 00:43:34,860 >> U dan hija li tipponta issa biex kopja ta 'memorja, id-dritt? 979 00:43:34,860 --> 00:43:37,340 Malloc tani kollu blokki ta 'memorja. 980 00:43:37,340 --> 00:43:41,440 I do not know inizjalment x'hemm fi kwalunkwe ta 'dawn il-lokalitajiet. 981 00:43:41,440 --> 00:43:44,340 Hekk jien ser taħseb dawn bħala mazz sħiħ ta 'trade marks in kwistjoni. 982 00:43:44,340 --> 00:43:50,190 >> Iżda hekk kif nibda looping minn żero fuq up permezz-tul ta 'i, t 983 00:43:50,190 --> 00:43:52,790 bracket żero u t bracket 1 - 984 00:43:52,790 --> 00:43:55,080 u jien ser tpoġġi dan issa fuq l-overhead - 985 00:43:55,080 --> 00:44:04,190 t bracket żero u s bracket żero jfisser li jien ser tkun ikkupjar 986 00:44:04,190 --> 00:44:09,875 iteratively h fil hawn, E-L-L-O. Plus, minħabba I ma l-plus 987 00:44:09,875 --> 00:44:12,370 1, backslash żero. 988 00:44:12,370 --> 00:44:19,060 >> Allura issa fil-każ ta iqabblu 1.c, fl-aħħar, jekk I jistampa l- 989 00:44:19,060 --> 00:44:24,760 kapitalizzazzjoni ta 't, għandna tara li s ma jinbidilx. 990 00:44:24,760 --> 00:44:26,090 Let me imorru quddiem u tagħmel dan issa. 991 00:44:26,090 --> 00:44:28,630 Sabiex tagħmel copy1. 992 00:44:28,630 --> 00:44:30,860 Dot slash copy1. 993 00:44:30,860 --> 00:44:33,670 Jien ser tip fil hello, Ikteb. 994 00:44:33,670 --> 00:44:37,430 U issa avviż, biss il-kopja ġie kapitalizzat. 995 00:44:37,430 --> 00:44:40,890 Minħabba I verament għandhom żewġ biċċiet ta 'memorja. 996 00:44:40,890 --> 00:44:44,390 >> Sfortunatament, inti tista 'tagħmel xi pretty ħżiena u pretty perikolużi affarijiet hawn. 997 00:44:44,390 --> 00:44:49,290 Let me pull up eżempju hawn issa, li jagħtina eżempju ta 'ftit 998 00:44:49,290 --> 00:44:51,540 linji differenti. 999 00:44:51,540 --> 00:44:56,040 Hekk biss intuwittivament hawn, l-ewwel linja tal-kodiċi, x int stilla, hija tiddikjara 1000 00:44:56,040 --> 00:44:57,340 varjabbli msejħa x. 1001 00:44:57,340 --> 00:44:58,810 U x'inhu l-tip ta 'data ta 'dak il-varjabbli? 1002 00:44:58,810 --> 00:45:01,820 1003 00:45:01,820 --> 00:45:04,290 X'hemm-tip ta 'data ta' dak il-varjabbli? 1004 00:45:04,290 --> 00:45:06,980 Dan ma kienx il cliffhanger. 1005 00:45:06,980 --> 00:45:08,350 >> It-tip tad-data hija stilla int. 1006 00:45:08,350 --> 00:45:12,600 Allura dak ma jfisser? x se jaħżnu l-indirizz ta 'int. 1007 00:45:12,600 --> 00:45:13,520 Sempliċi bħal dik. 1008 00:45:13,520 --> 00:45:16,220 Y se jaħżnu l- indirizz ta 'int. 1009 00:45:16,220 --> 00:45:18,390 X'inhu l-tielet linja tal-kodiċi tagħmel hemm? 1010 00:45:18,390 --> 00:45:21,850 Huwa allokazzjoni kemm bytes, x'aktarx? 1011 00:45:21,850 --> 00:45:22,350 Erbgħa. 1012 00:45:22,350 --> 00:45:25,460 Minħabba d-daqs ta 'int huwa ġeneralment erba, malloc ta 'erba jagħti 1013 00:45:25,460 --> 00:45:29,950 me back-indirizz ta 'blokki ta' memorja, l-ewwel ta 'bytes li huwa 1014 00:45:29,950 --> 00:45:32,110 maħżuna issa x. 1015 00:45:32,110 --> 00:45:34,410 >> Issa aħna qed jiċċaqilqu ftit malajr. 1016 00:45:34,410 --> 00:45:35,760 Star x ifisser liema? 1017 00:45:35,760 --> 00:45:38,480 1018 00:45:38,480 --> 00:45:42,590 Dan ifisser tmur f'dak indirizz u mqiegħda dak in-numru hemmhekk? 1019 00:45:42,590 --> 00:45:43,870 Poġġi n-numru 42 hemmhekk. 1020 00:45:43,870 --> 00:45:47,590 Star y ifisser mur x'hemm fil y u n-numru 13 hemmhekk. 1021 00:45:47,590 --> 00:45:48,600 >> Imma stenna minuta. 1022 00:45:48,600 --> 00:45:51,640 X'inhu y fil-mument? 1023 00:45:51,640 --> 00:45:54,950 X'inhu l-indirizz huwa y ħażna? 1024 00:45:54,950 --> 00:45:55,770 Ma nafux, right? 1025 00:45:55,770 --> 00:45:59,230 Aħna qatt darba tuża l-assenjazzjoni operatur li jinvolvu y. 1026 00:45:59,230 --> 00:46:03,370 Allura y kif dikjarata fit-tieni linja ta ' kodiċi huwa biss ftit valur żibel, big 1027 00:46:03,370 --> 00:46:04,760 kwistjoni mark biex ngħidu hekk. 1028 00:46:04,760 --> 00:46:07,230 Jista 'jiġi tipponta bl-addoċċ li xejn fil-memorja, li 1029 00:46:07,230 --> 00:46:08,340 huwa ġeneralment ħażin. 1030 00:46:08,340 --> 00:46:13,540 >> Allura hekk kif aħna hit dik il-linja hemm, star y ugwali 13, xi ħaġa ħażina, 1031 00:46:13,540 --> 00:46:17,220 xi ħaġa ħażina ħafna huwa dwar li jiġri Binky. 1032 00:46:17,220 --> 00:46:25,810 Mela ejja ara dak li għaddej biex jispiċċaw jiġri Binky hawn f'dan il minuta 1033 00:46:25,810 --> 00:46:26,200 jew sabiex tfittex. 1034 00:46:26,200 --> 00:46:26,490 >> [Daqq video] 1035 00:46:26,490 --> 00:46:26,745 >> -Ħej, Binky. 1036 00:46:26,745 --> 00:46:27,000 Wake up. 1037 00:46:27,000 --> 00:46:29,296 Wasal iż-żmien għall-gost pointer. 1038 00:46:29,296 --> 00:46:30,680 >> -X'hemm li? 1039 00:46:30,680 --> 00:46:31,980 Tgħallem dwar pointers? 1040 00:46:31,980 --> 00:46:34,010 Oh, goodie. 1041 00:46:34,010 --> 00:46:37,220 >> Well, biex tibda, I raden aħna qed ser jeħtieġu pointers koppja. 1042 00:46:37,220 --> 00:46:37,930 >> -OK. 1043 00:46:37,930 --> 00:46:41,650 Dan il-kodiċi jalloka żewġ pointers li jista 'jiġbed l interi. 1044 00:46:41,650 --> 00:46:43,760 >> OK, ukoll, I tara l-żewġ pointers. 1045 00:46:43,760 --> 00:46:45,850 Iżda dawn ma jidhirx li tipponta lejn xejn. 1046 00:46:45,850 --> 00:46:46,490 >> -Dak id-dritt. 1047 00:46:46,490 --> 00:46:48,630 Inizjalment, pointers ma punt għal xejn. 1048 00:46:48,630 --> 00:46:51,700 L-affarijiet li jindikaw huma msejħa pointees, u li jistabbilixxu lilhom up huwa 1049 00:46:51,700 --> 00:46:52,850 pass separat. 1050 00:46:52,850 --> 00:46:53,740 >> Oh, id-dritt, id-dritt. 1051 00:46:53,740 --> 00:46:54,500 Jien kont naf li. 1052 00:46:54,500 --> 00:46:56,270 Il pointees huma separati. 1053 00:46:56,270 --> 00:46:58,553 Allura kif taħseb li jallokaw pointee? 1054 00:46:58,553 --> 00:46:59,480 >> -OK. 1055 00:46:59,480 --> 00:47:03,707 Ukoll, dan il-kodiċi jalloka interi ġodda pointee, u din il-parti tistabbilixxi x 1056 00:47:03,707 --> 00:47:05,520 għall-punt lilha. 1057 00:47:05,520 --> 00:47:06,760 >> -Ħej, li jistenna aħjar. 1058 00:47:06,760 --> 00:47:08,520 Sabiex tagħmel dan jagħmlu xi ħaġa. 1059 00:47:08,520 --> 00:47:09,530 >> -OK. 1060 00:47:09,530 --> 00:47:14,110 I ser dereference l pointer x biex jaħżnu in-numru 42 fis pointee tagħha. 1061 00:47:14,110 --> 00:47:17,660 Għal dan trick, I bzonn magic tiegħi wand ta dereferencing. 1062 00:47:17,660 --> 00:47:20,695 >> Your-bastun maġiku ta dereferencing? 1063 00:47:20,695 --> 00:47:22,632 Uh, li l-kbir. 1064 00:47:22,632 --> 00:47:24,620 >> -Dan huwa dak l-kodiċi Dehra. 1065 00:47:24,620 --> 00:47:27,526 I ser biss twaqqaf in-numru, u - 1066 00:47:27,526 --> 00:47:28,250 >> -Ħej, ħarsa. 1067 00:47:28,250 --> 00:47:29,680 Hemm tmur. 1068 00:47:29,680 --> 00:47:34,520 Allura tagħmel dereference fuq x ġej il-vleġġa għall-aċċess pointee tagħha. 1069 00:47:34,520 --> 00:47:36,690 F'dan il-każ, li jaħżen 42 fil hemmhekk. 1070 00:47:36,690 --> 00:47:40,890 Ħej, ipprova uża dan biex jaħżnu l-għadd 13 permezz tal-pointer oħra, y. 1071 00:47:40,890 --> 00:47:42,125 >> -OK. 1072 00:47:42,125 --> 00:47:46,810 I ser biss jmorru fuq hawn biex yu nikseb in-numru 13 jitwaqqaf. 1073 00:47:46,810 --> 00:47:50,890 U mbagħad ħu l-bastun tal- dereferencing u biss - 1074 00:47:50,890 --> 00:47:52,430 Whoa! 1075 00:47:52,430 --> 00:47:53,030 >> Oh, ħej. 1076 00:47:53,030 --> 00:47:54,610 Li ma ħadmux. 1077 00:47:54,610 --> 00:47:58,200 Say, Binky, ma naħsibx l- dereferencing y hija idea tajba, 1078 00:47:58,200 --> 00:48:01,370 minħabba twaqqif tal-pointee huwa pass separat. 1079 00:48:01,370 --> 00:48:03,460 U jien ma think we qatt ma kien. 1080 00:48:03,460 --> 00:48:03,810 >> Hmm-. 1081 00:48:03,810 --> 00:48:05,160 Punt tajjeb. 1082 00:48:05,160 --> 00:48:07,410 >> Yeah-, aħna allokat il-y pointer. 1083 00:48:07,410 --> 00:48:10,045 Imma aħna qatt tistabbilixxi li jippuntaw lejn pointee. 1084 00:48:10,045 --> 00:48:10,490 >> Hmm-. 1085 00:48:10,490 --> 00:48:12,170 Attent ħafna. 1086 00:48:12,170 --> 00:48:13,790 >> -Ħej, qed tfittex tajba hemmhekk, Binky. 1087 00:48:13,790 --> 00:48:16,920 Inti tista 'tiffissa lilha hekk li l-punti y għall-istess pointee bħala x? 1088 00:48:16,920 --> 00:48:17,810 >> Sure-. 1089 00:48:17,810 --> 00:48:20,300 I ser tuża bastun maġiku tiegħi ta ' assenjazzjoni pointer. 1090 00:48:20,300 --> 00:48:22,240 >> -Hija li għaddej biex tkun problema bħal qabel? 1091 00:48:22,240 --> 00:48:22,665 >> Nru-. 1092 00:48:22,665 --> 00:48:24,300 Dan ma tmissx il-pointees. 1093 00:48:24,300 --> 00:48:27,880 Hija biss bidliet wieħed pointer għall-punt għall-istess ħaġa bħat ieħor. 1094 00:48:27,880 --> 00:48:28,970 >> Oh, nara. 1095 00:48:28,970 --> 00:48:31,730 Issa punti y għall-istess post bħall x. 1096 00:48:31,730 --> 00:48:32,450 Allura stenna. 1097 00:48:32,450 --> 00:48:33,490 Issa y hija ffissata. 1098 00:48:33,490 --> 00:48:34,630 Hija għandha pointee. 1099 00:48:34,630 --> 00:48:36,520 Allura inti tista 'tipprova l-wand ta dereferencing darb'oħra 1100 00:48:36,520 --> 00:48:39,200 li tibgħat il-13 fuq. 1101 00:48:39,200 --> 00:48:39,840 >> -OK. 1102 00:48:39,840 --> 00:48:41,570 Hawnhekk tmur. 1103 00:48:41,570 --> 00:48:42,870 >> -Ħej, tħares lejn dak. 1104 00:48:42,870 --> 00:48:44,320 Issa dereferencing xogħlijiet fuq y. 1105 00:48:44,320 --> 00:48:47,020 U minħabba l-pointers huma qsim li pointee waħda, huma 1106 00:48:47,020 --> 00:48:48,585 kemm tara l-13. 1107 00:48:48,585 --> 00:48:49,040 >> Yeah-. 1108 00:48:49,040 --> 00:48:49,670 Qsim. 1109 00:48:49,670 --> 00:48:50,380 Tkun xi tkun. 1110 00:48:50,380 --> 00:48:52,290 Allura aħna se postijiet swiċċ issa? 1111 00:48:52,290 --> 00:48:52,970 >> Oh, tħares. 1112 00:48:52,970 --> 00:48:54,150 Aħna qed barra ta 'żmien. 1113 00:48:54,150 --> 00:48:55,200 >> Iżda-- 1114 00:48:55,200 --> 00:48:57,060 >> Just remember-it-tliet regoli pointer. 1115 00:48:57,060 --> 00:49:00,100 Numru wieħed, l-istruttura bażika huwa li inti għandek pointer. 1116 00:49:00,100 --> 00:49:02,170 U hija tirreferi fuq għal pointee. 1117 00:49:02,170 --> 00:49:04,160 Iżda l-pointer u pointee huma separati. 1118 00:49:04,160 --> 00:49:06,460 U l-iżball komuni huwa li twaqqaf pointer, iżda li 1119 00:49:06,460 --> 00:49:08,540 ninsewx li tingħata pointee. 1120 00:49:08,540 --> 00:49:12,460 >> Numru tnejn, dereferencing pointer jibda fil-pointer u jsegwi tagħha 1121 00:49:12,460 --> 00:49:14,570 vleġġa fuq l-aċċess pointee tagħha. 1122 00:49:14,570 --> 00:49:18,640 Kif nafu lkoll, dan jaħdem biss jekk ikun hemm huwa pointee, li gets lura għall 1123 00:49:18,640 --> 00:49:19,790 Regola numru wieħed. 1124 00:49:19,790 --> 00:49:23,670 >> Numru tlieta, assenjazzjoni pointer jieħu wieħed pointer u bidliet li jindikaw 1125 00:49:23,670 --> 00:49:25,850 l-istess pointee bħala pointer ieħor. 1126 00:49:25,850 --> 00:49:27,840 Hekk wara l-assenjazzjoni, iż-żewġ pointers se 1127 00:49:27,840 --> 00:49:29,430 punt li l-istess pointee. 1128 00:49:29,430 --> 00:49:31,600 Kultant li sejjaħ qsim. 1129 00:49:31,600 --> 00:49:33,430 U li kollox hemm għaliha, verament. 1130 00:49:33,430 --> 00:49:33,840 Bye bye issa. 1131 00:49:33,840 --> 00:49:34,300 >> [Daqq video END] 1132 00:49:34,300 --> 00:49:36,940 >> DAVID Malan: Allura aktar fuq pointers, aktar fuq ġimgħa d-dieħla Binky. 1133 00:49:36,940 --> 00:49:38,190 Aħna ser tara inti nhar it-Tnejn. 1134 00:49:38,190 --> 00:49:42,187