1 00:00:00,000 --> 00:00:03,388 >> [Muusika mängib] 2 00:00:03,388 --> 00:00:05,104 3 00:00:05,104 --> 00:00:06,020 DOUG LLOYD: Okei. 4 00:00:06,020 --> 00:00:07,680 Töö ühe muutujad on päris lõbus. 5 00:00:07,680 --> 00:00:09,500 Aga kui me tahame töötada palju muutujaid, 6 00:00:09,500 --> 00:00:12,760 aga me ei taha olla kamp eri nimede sõidavad ringi meie koodi? 7 00:00:12,760 --> 00:00:15,980 Sel juhul massiivid on tulemas tõesti mugav. 8 00:00:15,980 --> 00:00:19,510 Massiivid on tõesti fundamentaalne andmeid struktuuri iga programmeerimise keel 9 00:00:19,510 --> 00:00:20,260 et te kasutate. 10 00:00:20,260 --> 00:00:24,450 Ja nad on tõesti kasulik, eriti, kui me näeme, CS 50. 11 00:00:24,450 --> 00:00:27,870 >> Me kasutame massiivid hoida väärtusi sama andmetüüp 12 00:00:27,870 --> 00:00:29,830 kell sidusmäluplokki kohtades. 13 00:00:29,830 --> 00:00:32,430 See tähendab, et see on nii, et saame grupi 14 00:00:32,430 --> 00:00:35,430 kamp täisarvud koos mälu või hunnik tähemärki 15 00:00:35,430 --> 00:00:38,270 või hõljub mälu tõesti lähestikku ja töö 16 00:00:38,270 --> 00:00:41,930 nendega ilma et anda igale üks on oma ainulaadne nimi, mis võib 17 00:00:41,930 --> 00:00:44,500 saada tülikas mõne aja pärast. 18 00:00:44,500 --> 00:00:48,130 >> Nüüd, üks viis analogize massiivid on mõelda oma kohaliku postitus 19 00:00:48,130 --> 00:00:49,000 ametis teist. 20 00:00:49,000 --> 00:00:51,820 Nii sammu kaugusel programmeerimine ja lihtsalt sule silmad 21 00:00:51,820 --> 00:00:54,120 ja visualiseerida meelt kohaliku postkontori. 22 00:00:54,120 --> 00:00:57,160 Tavaliselt on kõige postitus kontorid, seal on suur pank 23 00:00:57,160 --> 00:01:00,490 postkontor kastid seina peal. 24 00:01:00,490 --> 00:01:03,510 >> Hulgaliselt on hiiglaslik blokk sidusmäluplokki, 25 00:01:03,510 --> 00:01:06,120 samamoodi, et mail pank oma postkontor 26 00:01:06,120 --> 00:01:11,230 on suur ruumi seina postkontoris. 27 00:01:11,230 --> 00:01:15,750 Massiivid on liigendatud väike, identselt plokke ruumi, 28 00:01:15,750 --> 00:01:19,930 millest igaüks nimetatakse element, in Samamoodi, et seina postitus 29 00:01:19,930 --> 00:01:23,840 office on liigendatud väike, identselt plokke ruumi, 30 00:01:23,840 --> 00:01:27,560 mida me nimetame PO box. 31 00:01:27,560 --> 00:01:31,650 Iga element massiivi saab talletada teatud andmemaht 32 00:01:31,650 --> 00:01:37,540 nagu iga postkasti on võimalik hoida teatud summa mail. 33 00:01:37,540 --> 00:01:41,540 >> Mis saab panna iga elemendi massiiv on muutujate samadele andmetele 34 00:01:41,540 --> 00:01:45,300 tüüp, näiteks int või char, vaid nagu oma postkasti, 35 00:01:45,300 --> 00:01:47,300 saab ainult sobivad asjad Samasugust tüüpi, 36 00:01:47,300 --> 00:01:50,430 näiteks tähti või väikepakendis. 37 00:01:50,430 --> 00:01:55,050 Lõpuks suudame iga elemendi massiivi otse registrinumbrit, 38 00:01:55,050 --> 00:01:59,770 nagu suudame meie postkontor kasti teades oma kõneposti number. 39 00:01:59,770 --> 00:02:02,750 Loodetavasti et analoogia aitab teil oma peaga 40 00:02:02,750 --> 00:02:05,540 idee ümber massiive analogizing midagi muud 41 00:02:05,540 --> 00:02:08,400 et olete ilmselt juba tuttav. 42 00:02:08,400 --> 00:02:13,182 >> In C massiivi elemente on indekseeritud alates 0, mitte 1. 43 00:02:13,182 --> 00:02:14,390 Ja see on tõepoolest oluline. 44 00:02:14,390 --> 00:02:18,530 Ja tegelikult, see on põhjus, miks me, CS 50, ja miks arvuti teadlased sageli 45 00:02:18,530 --> 00:02:22,150 loeb 0, on sest C on massiiv 46 00:02:22,150 --> 00:02:24,660 indekseerimine, mis algab alati 0. 47 00:02:24,660 --> 00:02:28,730 Nii et kui massiivi koosneb n elementi, esimene osa, mis massiivi 48 00:02:28,730 --> 00:02:32,960 asub indeks 0, ja Viimase element massiivi 49 00:02:32,960 --> 00:02:36,610 asub indeks n miinus 1. 50 00:02:36,610 --> 00:02:43,160 Jällegi, kui seal on n elementi meie massiivi viimase indeks on n miinus 1. 51 00:02:43,160 --> 00:02:46,820 >> Nii et kui meie massiiv on 50 osast, Esimene element asub indeks 0, 52 00:02:46,820 --> 00:02:51,060 ja viimane element asub indeks 49. 53 00:02:51,060 --> 00:02:53,940 Kahjuks või õnneks sõltuvalt oma seisukohast, 54 00:02:53,940 --> 00:02:56,170 C on väga leebed siin. 55 00:02:56,170 --> 00:02:59,480 See ei takista teil läheb auti oma valikut. 56 00:02:59,480 --> 00:03:03,080 Sa võid pääseda miinus 3 osa oma rida 57 00:03:03,080 --> 00:03:07,400 või 59. osa oma rida, kui teie massiiv on ainult 50 elementi. 58 00:03:07,400 --> 00:03:11,060 See ei peatu oma programmi koostamisel, kuid töötamise ajal, 59 00:03:11,060 --> 00:03:14,350 , mis võivad tekkida Kartsin killustatust süü 60 00:03:14,350 --> 00:03:17,460 kui hakkad juurde mälu mis on väljaspool piire, mida 61 00:03:17,460 --> 00:03:19,260 sa palusid oma programmi teile. 62 00:03:19,260 --> 00:03:21,250 Nii ei ole ettevaatlik. 63 00:03:21,250 --> 00:03:23,120 >> Mida tähendab massiivi deklaratsiooni välja näeb? 64 00:03:23,120 --> 00:03:26,940 Kuidas me koodi massiivi tegutsema nagu me kood muu muutuja? 65 00:03:26,940 --> 00:03:31,250 Seal on kolm osa massiivi declaration-- tüüp, nimi, 66 00:03:31,250 --> 00:03:31,880 ja suurus. 67 00:03:31,880 --> 00:03:34,088 See on väga sarnane muutuja deklaratsiooni, mis 68 00:03:34,088 --> 00:03:36,970 on lihtsalt tüüp ja nimi, suurus element on 69 00:03:36,970 --> 00:03:39,860 erijuhul massiivi, sest me oleme kobar 70 00:03:39,860 --> 00:03:41,830 samal ajal. 71 00:03:41,830 --> 00:03:45,560 >> Nii et tüüp on, millist muutujat sa tahan iga element massiivi olla. 72 00:03:45,560 --> 00:03:47,150 Kas tahad seda massiivi täisarvud? 73 00:03:47,150 --> 00:03:49,010 Siis, oma andmete tüübi peaks olema int. 74 00:03:49,010 --> 00:03:51,760 Kas sa tahad seda olla massiivi kahekordseid või ujub? 75 00:03:51,760 --> 00:03:54,545 Andmetüüp tuleb topelt või sularahaga. 76 00:03:54,545 --> 00:03:56,420 Nime on see, mida sa soovite helistada oma valikut. 77 00:03:56,420 --> 00:04:00,970 Mida sa tahad selle nime hiiglane Bank of täisarvud või ujukite või sümbolit 78 00:04:00,970 --> 00:04:03,250 või kahekordistab või mis iganes olete? 79 00:04:03,250 --> 00:04:04,700 Mida sa tahad seda kutsuda? 80 00:04:04,700 --> 00:04:06,110 Päris enesestmõistetavad. 81 00:04:06,110 --> 00:04:08,610 >> Lõpuks, suurus, mis läheb sees nurksulgudes, 82 00:04:08,610 --> 00:04:12,180 on mitu elementi soovid nagu sinu rida sisaldama. 83 00:04:12,180 --> 00:04:13,530 Mitu täisarvud sa tahad? 84 00:04:13,530 --> 00:04:15,570 Mitu ujukite sa tahad? 85 00:04:15,570 --> 00:04:19,070 >> Nii näiteks int õpilane klassid 40. 86 00:04:19,070 --> 00:04:26,020 See kinnitab massiivi nimega Student klassid, mis koosneb 40 täisarvud. 87 00:04:26,020 --> 00:04:28,180 Päris mõistetav, ma loodan. 88 00:04:28,180 --> 00:04:29,330 Siin on veel üks näide. 89 00:04:29,330 --> 00:04:31,560 Kahe menüü hindadega 8. 90 00:04:31,560 --> 00:04:34,610 See loob massiivi nimetatakse Menüü hind, mis koosneb 91 00:04:34,610 --> 00:04:38,300 ruumi mälu kaheksa kahekordistub. 92 00:04:38,300 --> 00:04:42,000 93 00:04:42,000 --> 00:04:45,750 >> Kui te arvate, iga element massiivi tüüpi andmete tüüpi, 94 00:04:45,750 --> 00:04:49,860 Nii näiteks, ühe elemendi massiivi tüüpi int, samamoodi kui 95 00:04:49,860 --> 00:04:52,770 Võiks arvata, muu muutuja tüüpi int, 96 00:04:52,770 --> 00:04:56,440 kõik tuttavad operatsioone, et me eelpool teenindus- 97 00:04:56,440 --> 00:04:58,270 video on mõtet. 98 00:04:58,270 --> 00:05:01,620 Nii et siin me võiksime kuulutada massiivi tõeväärtused nimetatakse Truthtable, 99 00:05:01,620 --> 00:05:05,590 mis koosneb ruumi 10 tõeväärtused. 100 00:05:05,590 --> 00:05:09,650 >> Ja siis, just nagu me võiks lihtsalt anda väärtus mistahes muu muutuja tüüpi 101 00:05:09,650 --> 00:05:13,470 Loogiline, võiksime öelda midagi nagu Truthtable nurksulg 102 00:05:13,470 --> 00:05:18,040 2, mis on see, kuidas me näidata, mis osa tõde lauale? 103 00:05:18,040 --> 00:05:20,350 Kolmas element tõeväärtustabelitega, sest mäletan, 104 00:05:20,350 --> 00:05:21,800 me arvestame 0. 105 00:05:21,800 --> 00:05:25,690 Nii see on, kuidas me näitama Kolmas osa tõde tabelis. 106 00:05:25,690 --> 00:05:28,680 Truthtable 2 võrdub vale, nagu võiksime declare-- 107 00:05:28,680 --> 00:05:33,560 või võiksime omistada pigem tahes Loogiline tüüpi muutuja valeks. 108 00:05:33,560 --> 00:05:35,050 >> Me saame seda kasutada ka tingimustes. 109 00:05:35,050 --> 00:05:39,000 if (truthtable 7 == true), mis tähendab, 110 00:05:39,000 --> 00:05:42,370 kui kaheksanda elemendi of Truthtable on tõsi, 111 00:05:42,370 --> 00:05:46,760 äkki soovite printida sõnum kasutaja, printf ("tõsi! n") ;. 112 00:05:46,760 --> 00:05:50,290 See paneb meid ütlema Truthtable 10 võrdub tõsi, eks? 113 00:05:50,290 --> 00:05:53,590 Noh, ma saan, aga see on päris ohtlik, sest mäletan, 114 00:05:53,590 --> 00:05:56,260 meil hulgaliselt 10 tõeväärtused. 115 00:05:56,260 --> 00:06:02,340 Nii kõrgeim indeks, et koostaja on andnud meile on 9. 116 00:06:02,340 --> 00:06:06,010 >> See programm koostada, kuid kui midagi mälestuseks 117 00:06:06,010 --> 00:06:09,110 eksisteerib, kui oleksime oota Truthtable 10 minna, 118 00:06:09,110 --> 00:06:13,980 me võiks kannatada killustatust süü. Me Võib pääse ta, kuid üldiselt 119 00:06:13,980 --> 00:06:14,710 päris ohtlik. 120 00:06:14,710 --> 00:06:19,759 Mida ma teen siin on juriidiline C, kuid mitte tingimata parim liikuda. 121 00:06:19,759 --> 00:06:22,300 Nüüd, kui sa tunnistada ja initsialiseerida massiivi üheaegselt, 122 00:06:22,300 --> 00:06:23,960 seal on tegelikult päris süntaksit, et teil 123 00:06:23,960 --> 00:06:26,250 saab kasutada täita kuni rida oma lähteväärtustest. 124 00:06:26,250 --> 00:06:30,130 Seda saad tülikas Kinnitan massiivi suurus 100, 125 00:06:30,130 --> 00:06:33,430 ja siis pean ütlema, element 0 võrdub selle; element 1 võrdub see; 126 00:06:33,430 --> 00:06:34,850 element 2 võrdne. 127 00:06:34,850 --> 00:06:36,370 Mis mõtet, eks? 128 00:06:36,370 --> 00:06:39,470 >> Kui see on väike massiiv, siis võiks teha midagi sellist. 129 00:06:39,470 --> 00:06:44,360 Bool truthtable 3 võrdub avatud lokkis traksidega ja seejärel komaga 130 00:06:44,360 --> 00:06:48,060 eraldada elementide loetelu mis sa tahad panna massiivi. 131 00:06:48,060 --> 00:06:50,520 Seejärel sulgege lokkis traksidega semikooloniga. 132 00:06:50,520 --> 00:06:53,910 See loob hulgaliselt suurus kolm nimetatakse Truthtable, 133 00:06:53,910 --> 00:06:56,090 elementidega vale, tõsi, ja tõsi. 134 00:06:56,090 --> 00:06:59,270 Ja tegelikult instantiation süntaks Mul on siin 135 00:06:59,270 --> 00:07:03,350 täpselt sama nagu teed individuaalne element süntaks allpool. 136 00:07:03,350 --> 00:07:09,380 Need kaks võimalust variatsiooni toodavad täpselt sama rida. 137 00:07:09,380 --> 00:07:11,740 >> Samamoodi võiksime itereerima üle kõik elemendid 138 00:07:11,740 --> 00:07:15,400 massiivi kasutades loop, mis Tegelikult on väga rangelt soovitatav 139 00:07:15,400 --> 00:07:16,790 kodus kasutada. 140 00:07:16,790 --> 00:07:20,720 Kuidas luua massiivi 100 täisarvud, kus 141 00:07:20,720 --> 00:07:23,477 iga element massiivi on selle indeks? 142 00:07:23,477 --> 00:07:26,560 Nii näiteks on meil hulgaliselt 100 täisarvud ja esimeses element, 143 00:07:26,560 --> 00:07:27,790 tahame panna 0. 144 00:07:27,790 --> 00:07:29,810 Teises element, me tahame panna 1. 145 00:07:29,810 --> 00:07:33,319 Kolmandas element, me tahame panna 2; ja nii edasi ja nii edasi. 146 00:07:33,319 --> 00:07:35,360 See on tõesti hea kodus harjutust teha. 147 00:07:35,360 --> 00:07:38,190 148 00:07:38,190 --> 00:07:40,220 >> Siin, see ei tundu nagu liiga palju muutunud. 149 00:07:40,220 --> 00:07:44,170 Aga teate, et vahel Nurksulgudes seekord 150 00:07:44,170 --> 00:07:45,830 Olen tegelikult jätta arvu. 151 00:07:45,830 --> 00:07:48,000 Kui te kasutate seda väga erilist instantiation 152 00:07:48,000 --> 00:07:50,380 süntaks luua massiivi, siis tegelikult ei ole 153 00:07:50,380 --> 00:07:53,491 vaja näitab suurust massiivi varem. 154 00:07:53,491 --> 00:07:55,740 Koostaja on piisavalt targad teada, et te tegelikult 155 00:07:55,740 --> 00:07:58,980 tahad massiivi suurus 3, sest paned kolm elementi 156 00:07:58,980 --> 00:08:00,640 paremal võrdusmärki. 157 00:08:00,640 --> 00:08:04,140 Kui teil oli panna neli, siis oleks andnud teile tõtt tabelis suuruse neli; 158 00:08:04,140 --> 00:08:06,270 ja nii edasi ja nii edasi. 159 00:08:06,270 --> 00:08:09,380 >> Massiivid ei piirdu üheainsa mõõde, mis on päris lahe. 160 00:08:09,380 --> 00:08:12,000 Võite tegelikult on nii palju pool specifiers kui soovid. 161 00:08:12,000 --> 00:08:16,470 Nii näiteks, kui soovite luua juhatuse mängu Soomuslaev, mis 162 00:08:16,470 --> 00:08:20,910 kui te olete kunagi mänginud, on mäng, mis on mängitakse pesulõksud kohta 10 10 võrku, 163 00:08:20,910 --> 00:08:22,450 võid luua massiivi niimoodi. 164 00:08:22,450 --> 00:08:26,030 Võiks öelda Bool lahingulaev nurksulg 10 165 00:08:26,030 --> 00:08:29,590 Suletud nurksulg ruut bracket 10 suletud nurksulg. 166 00:08:29,590 --> 00:08:32,710 >> Ja siis, saate valida tõlgendab seda meelt kui 10 167 00:08:32,710 --> 00:08:35,576 10 grid rakke. 168 00:08:35,576 --> 00:08:37,409 Nüüd, tegelikult mälust see tõesti lihtsalt 169 00:08:37,409 --> 00:08:42,440 jääb 100 elementi, ühe kolmemõõtmelise massiivi. 170 00:08:42,440 --> 00:08:46,070 Ja see, et tegelikult läheb, kui sa on kolm mõõdet või neli või viis. 171 00:08:46,070 --> 00:08:49,420 See on tõesti lihtsalt ei korrutada kõik indices-- 172 00:08:49,420 --> 00:08:51,130 või kõik suurust specifiers-- kokku 173 00:08:51,130 --> 00:08:53,480 ja sa saad ühemõõtmeline massiiv, mis suurus. 174 00:08:53,480 --> 00:08:57,090 >> Aga nii organisatsiooni ja visualiseerimine ja inimese taju, 175 00:08:57,090 --> 00:08:59,240 see saab olema palju lihtsam töötada võre 176 00:08:59,240 --> 00:09:02,980 Kui te töötate mängu nagu Tic-tac-toe või Soomuslaev 177 00:09:02,980 --> 00:09:05,179 või midagi sellist. 178 00:09:05,179 --> 00:09:06,970 See on suurepärane võtmiseks, selle asemel 179 00:09:06,970 --> 00:09:09,340 mõelda Tic-tac-toe pardal joonena üheksa 180 00:09:09,340 --> 00:09:13,810 ruudud või Soomuslaev juhatuse joonena 100 ruutu. 181 00:09:13,810 --> 00:09:16,010 10 10 võrku või kolm kolm grid on ilmselt 182 00:09:16,010 --> 00:09:17,225 palju kergemini tajuda. 183 00:09:17,225 --> 00:09:19,820 184 00:09:19,820 --> 00:09:22,280 >> Nüüd midagi tõeliselt oluline umbes massiivid. 185 00:09:22,280 --> 00:09:25,950 Me võime ravida iga massiivi element muutujana. 186 00:09:25,950 --> 00:09:27,700 Me nägime, et varem kui olime määrates 187 00:09:27,700 --> 00:09:32,240 väärtuse True teatud tõeväärtused või nende testimist tingimusavaldistes. 188 00:09:32,240 --> 00:09:35,960 Kuid me ei saa ravida kogu massiivid end muutujaid. 189 00:09:35,960 --> 00:09:41,760 Me ei saa näiteks anda ühe massiivi teise massiivi kasutades loovutamise 190 00:09:41,760 --> 00:09:42,930 operaator. 191 00:09:42,930 --> 00:09:44,640 See ei ole õiguslikku C. 192 00:09:44,640 --> 00:09:47,920 >> Kui me tahame, et example-- mida me teeks selle näite 193 00:09:47,920 --> 00:09:50,200 Oleks kopeerida ühe massiivi teise. 194 00:09:50,200 --> 00:09:53,810 Kui me tahame teha, et me tegelikult vaja kasutada loop kopeerida üle 195 00:09:53,810 --> 00:09:56,550 iga üksiku elemendi ühe korraga. 196 00:09:56,550 --> 00:09:58,700 Ma tean, et see on natuke aeganõudev. 197 00:09:58,700 --> 00:10:04,022 >> Nii näiteks, kui meil oleks neid paari rida koodi, siis see toimib? 198 00:10:04,022 --> 00:10:05,230 Noh, ei, see ei oleks, eks? 199 00:10:05,230 --> 00:10:07,860 Kuna me üritame määrata toidu baar. 200 00:10:07,860 --> 00:10:09,860 See ei hakka tööle, sest see on massiivi, 201 00:10:09,860 --> 00:10:13,130 ja me lihtsalt kirjeldatud et see ei ole juriidiline C. 202 00:10:13,130 --> 00:10:15,580 >> Selle asemel, kui me tahame kopeerimiseks toidu 203 00:10:15,580 --> 00:10:18,070 juhtplaadi, mis on see, mida me üritame teha siin, 204 00:10:18,070 --> 00:10:19,970 meil oleks vaja süntaks niimoodi. 205 00:10:19,970 --> 00:10:24,170 Meil on silmus, mis läheb alates J on võrdne 0 kuni 5, 206 00:10:24,170 --> 00:10:28,390 ja me juurdekasvu J iga iteratsiooni silmuse ja Määra elementide niimoodi. 207 00:10:28,390 --> 00:10:33,360 See tooks kaasa bar ka olles üks, kaks, kolm, neli, viis, 208 00:10:33,360 --> 00:10:36,730 kuid me peame seda tegema seda väga aeglane element-by-element viis, 209 00:10:36,730 --> 00:10:40,009 selle asemel, et lihtsalt kopeerida kogu massiivi. 210 00:10:40,009 --> 00:10:42,050 Teiste programmeerimine keeled, rohkem moodsate, 211 00:10:42,050 --> 00:10:45,610 saab tegelikult teha just Nii lihtne võrdub süntaks. 212 00:10:45,610 --> 00:10:49,620 Aga C, kahjuks me oleme ei ole lubatud seda teha. 213 00:10:49,620 --> 00:10:52,026 >> Nüüd, seal on üks teine asi, mida ma tahan mainida 214 00:10:52,026 --> 00:10:54,650 umbes massiivid, mis võib olla natuke veidi keeruline esmakordsel 215 00:10:54,650 --> 00:10:55,990 nendega koostööd tegema. 216 00:10:55,990 --> 00:10:59,860 Arutasime video umbes muutuva ulatusega, 217 00:10:59,860 --> 00:11:04,940 et enamik muutujaid C, kui helistate neid funktsioone, mida läbib väärtus. 218 00:11:04,940 --> 00:11:08,620 Kas sa mäletad, mida see tähendab edasi midagi, mida väärtust? 219 00:11:08,620 --> 00:11:12,570 See tähendab, et me teeme koopia muutuja, mis kuramuse möödunud aastal. 220 00:11:12,570 --> 00:11:16,290 Väljakutsutute funktsiooni funktsioon mis on saanud muutuja 221 00:11:16,290 --> 00:11:17,730 ei saa muutuja ise. 222 00:11:17,730 --> 00:11:20,850 Läheb oma kohaliku koopia koos töötada. 223 00:11:20,850 --> 00:11:24,070 >> Massiivid, muidugi tegema ei järgi seda reeglit. 224 00:11:24,070 --> 00:11:27,600 Pigem me nimetame seda möödub viitega. 225 00:11:27,600 --> 00:11:31,360 Väljakutsutute tegelikult ei saanud massiivi. 226 00:11:31,360 --> 00:11:34,207 See ei saa oma oma kohaliku koopia. 227 00:11:34,207 --> 00:11:36,040 Ja kui sa arvad see on see mõttekas. 228 00:11:36,040 --> 00:11:39,750 Kui massiivid on tõesti suur, võtab nii palju aega ja vaeva 229 00:11:39,750 --> 00:11:44,470 teha koopia massiivi 100 või 1000 või 10000 elemendid, 230 00:11:44,470 --> 00:11:48,290 et see ei ole seda väärt jaoks funktsioneerida saada selle koopia, 231 00:11:48,290 --> 00:11:51,037 teha mõned tööd, ja siis lihtsalt võimalik teha koopia; 232 00:11:51,037 --> 00:11:53,120 see ei pea olema see rippus ümber enam. 233 00:11:53,120 --> 00:11:54,710 >> Kuna massiivid on mõned mahukad ja kohmakad, 234 00:11:54,710 --> 00:11:56,001 me lihtsalt mööda need tooted. 235 00:11:56,001 --> 00:12:01,210 Me lihtsalt loodan, et funktsiooni et, ei riku midagi. 236 00:12:01,210 --> 00:12:03,010 Nii see tegelikult saada massiivi. 237 00:12:03,010 --> 00:12:05,290 See ei saa oma kohaliku koopia. 238 00:12:05,290 --> 00:12:07,170 >> Mida see tähendab, siis, kui Väljakutsutu 239 00:12:07,170 --> 00:12:08,970 manipuleerib elemendid massiivi? 240 00:12:08,970 --> 00:12:10,780 Mis juhtub? 241 00:12:10,780 --> 00:12:13,210 Praegu me läike üle, miks just see 242 00:12:13,210 --> 00:12:15,320 juhtub, miks massiivid on läbinud viitega 243 00:12:15,320 --> 00:12:17,810 ja kõik muu on vastu võetud väärtus. 244 00:12:17,810 --> 00:12:20,470 Aga ma luban, me tagasi ja teile vastus 245 00:12:20,470 --> 00:12:23,750 Käesoleva uuringu hilisemas video. 246 00:12:23,750 --> 00:12:28,110 >> Siin on veel üks harjutus sulle enne kui me pakkima asju massiivid. 247 00:12:28,110 --> 00:12:31,400 Hunnik koodi siin, see on mitte eriti hea stiil, 248 00:12:31,400 --> 00:12:33,400 lihtsalt ma teen, et hoiatus. 249 00:12:33,400 --> 00:12:36,660 Ei ole kommentaare siin, mis on päris halb vorm. 250 00:12:36,660 --> 00:12:39,750 Aga see on ainult sellepärast, et ma tahtsin olla mahuvad kõik ekraanil. 251 00:12:39,750 --> 00:12:44,360 >> Ülaosas, näed, et ma pean kaks funktsiooni deklaratsioonide array 252 00:12:44,360 --> 00:12:45,820 ja määrata int. 253 00:12:45,820 --> 00:12:49,680 Määra massiivi ilmselt võtab massiivi Nelja täisarvud sisendina. 254 00:12:49,680 --> 00:12:52,767 Ja komplekt int ilmselt võtab täisarv sisendina. 255 00:12:52,767 --> 00:12:54,350 Aga nad mõlemad ei ole väljund. 256 00:12:54,350 --> 00:12:57,689 Toodangu, tagastamise kirjuta, iga üks on tühine. 257 00:12:57,689 --> 00:12:59,480 Põhi on meil paar rida koodi. 258 00:12:59,480 --> 00:13:02,730 Me kinnitame täisarv muutuja A-ks ja määrata selle väärtus 10. 259 00:13:02,730 --> 00:13:07,080 Me kinnitame massiivi neli täisarvud nimetatakse B ja määrata elementide 0, 1, 260 00:13:07,080 --> 00:13:08,730 2 ja 3, vastavalt. 261 00:13:08,730 --> 00:13:12,190 Siis on meil kõnet, int ja kõnet, et massiivi. 262 00:13:12,190 --> 00:13:15,910 Definitsioone massiivi ja komplekt int on allapoole, allosas. 263 00:13:15,910 --> 00:13:17,640 >> Ja nii uuesti, ma palun teil on küsimus. 264 00:13:17,640 --> 00:13:20,770 Mis saab välja trükkida siin lõpus Main? 265 00:13:20,770 --> 00:13:23,020 Seal on väljatrükk col. Ma olen väljatrükk kaks täisarvu. 266 00:13:23,020 --> 00:13:28,010 Ma väljatrükk sisu ja sisu B nurksulg 0. 267 00:13:28,010 --> 00:13:29,880 Peata video siin ja võta minut. 268 00:13:29,880 --> 00:13:35,482 Kas sa aru saada, mis see funktsioon prindib lõpus? 269 00:13:35,482 --> 00:13:38,190 Loodetavasti, kui te mäletate vahet möödub väärtus 270 00:13:38,190 --> 00:13:41,680 ja kulgeb läbi viite, seda Probleem ei olnud liiga keeruline sinu jaoks. 271 00:13:41,680 --> 00:13:44,130 Ja vastus soovid leidnud on see. 272 00:13:44,130 --> 00:13:47,660 Kui sa ei ole päris kindel, et miks see on nii, võta teine, 273 00:13:47,660 --> 00:13:50,620 tagasi minna, vaadata, mida ma olin lihtsalt arutada umbes kulgeb massiivid 274 00:13:50,620 --> 00:13:53,450 lähtudes, võrreldes kulgeb muude muutujate väärtuste järgi, 275 00:13:53,450 --> 00:13:56,680 ja loodetavasti see teen natuke rohkem mõistust. 276 00:13:56,680 --> 00:13:59,760 >> Ma olen Doug Lloyd, ja see on CS50. 277 00:13:59,760 --> 00:14:01,467