1 00:00:00,000 --> 00:00:03,388 >> [Daqq tal-mużika] 2 00:00:03,388 --> 00:00:05,104 3 00:00:05,104 --> 00:00:06,020 Doug LLOYD: Kull dritt. 4 00:00:06,020 --> 00:00:07,680 Ħidma ma wieħed varjabbli hija pjuttost divertenti. 5 00:00:07,680 --> 00:00:09,500 Imma x'jiġri jekk irridu naħdmu bil-lott ta 'varjabbli, 6 00:00:09,500 --> 00:00:12,760 iżda ma rridux li jkollhom mazz ta ' ismijiet differenti jtajru madwar kodiċi tagħna? 7 00:00:12,760 --> 00:00:15,980 F'dan il-każ, arrays huma ser jidħlu fil handy verament. 8 00:00:15,980 --> 00:00:19,510 Arrays huma data verament fundamentali struttura għal kwalunkwe lingwa ta 'programmar 9 00:00:19,510 --> 00:00:20,260 li int ser tuża. 10 00:00:20,260 --> 00:00:24,450 U dawn qed tassew, tassew utli, partikolarment, kif Ser naraw, fl CS 50. 11 00:00:24,450 --> 00:00:27,870 >> Aħna nużaw arrays li jżommu valuri tal-istess tip data 12 00:00:27,870 --> 00:00:29,830 f'postijiet memorja kontigwi. 13 00:00:29,830 --> 00:00:32,430 Jiġifieri, huwa mod li nistgħu grupp 14 00:00:32,430 --> 00:00:35,430 mazz ta 'numri interi flimkien memorja jew mazz ta 'karattri 15 00:00:35,430 --> 00:00:38,270 jew sufruni fil-memorja verament qrib flimkien u jaħdmu 16 00:00:38,270 --> 00:00:41,930 magħhom mingħajr ma jkollhom jagħtu kull wieħed isem uniku tagħha stess, li jistgħu 17 00:00:41,930 --> 00:00:44,500 jiksbu ineffiċjenti wara ftit ftit. 18 00:00:44,500 --> 00:00:48,130 >> Issa, mod wieħed biex analogize arrays huwa li wieħed jaħseb dwar post lokali tiegħek 19 00:00:48,130 --> 00:00:49,000 uffiċċju għat-tieni. 20 00:00:49,000 --> 00:00:51,820 Allura pass lil hinn minn programmazzjoni u biss qrib l-għajnejn tiegħek 21 00:00:51,820 --> 00:00:54,120 u Ħares fil moħħok uffiċċju tiegħek posta lokali. 22 00:00:54,120 --> 00:00:57,160 Normalment, fil-maġġoranza post uffiċċji, hemm bank kbir 23 00:00:57,160 --> 00:01:00,490 a kaxxi postali fuq il-ħajt. 24 00:01:00,490 --> 00:01:03,510 >> Firxa hija blokk ġgant ta 'memorja kontigwa, 25 00:01:03,510 --> 00:01:06,120 bl-istess mod li mail bank fil-kariga tiegħek post 26 00:01:06,120 --> 00:01:11,230 huwa spazju kbir fuq il- ħajt tal-uffiċċju tal-posta. 27 00:01:11,230 --> 00:01:15,750 Arrays ġew maqsuma fi żgħar, identiku blokki daqs ta 'spazju, 28 00:01:15,750 --> 00:01:19,930 kull wieħed minnhom huwa msejjaħ element, fil bl-istess mod li l-ħajt tal-post 29 00:01:19,930 --> 00:01:23,840 uffiċċju ġie maqsuma fi żgħar, identiku blokki daqs ta 'spazju, 30 00:01:23,840 --> 00:01:27,560 li nitolbu kaxxa PO. 31 00:01:27,560 --> 00:01:31,650 Kull element ta 'l-array jista jaħżnu ċertu ammont ta 'data, 32 00:01:31,650 --> 00:01:37,540 partikolarment għaliex kull kaxxa postali huwa kapaċi li jżommu ċertu ammont ta 'posta. 33 00:01:37,540 --> 00:01:41,540 >> Liema jistgħu jkunu maħżuna f'kull element tal il-firxa hija varjabbli tal-istess data 34 00:01:41,540 --> 00:01:45,300 tip, bħal int jew char, just bħal fil-kaxxa postali tiegħek, 35 00:01:45,300 --> 00:01:47,300 inti tista 'biss tajbin affarijiet ta 'tip simili, 36 00:01:47,300 --> 00:01:50,430 bħal ittri jew pakketti żgħar. 37 00:01:50,430 --> 00:01:55,050 Fl-aħħar nett, nistgħu aċċess għal kull element tad l-array direttament mill-index number, 38 00:01:55,050 --> 00:01:59,770 eżatt kif nistgħu aċċess uffiċċju tal-posta tagħna kaxxa billi jkun jaf in-numru mailbox tiegħu. 39 00:01:59,770 --> 00:02:02,750 Nisperaw, li analoġija jgħinek tikseb ras tiegħek 40 00:02:02,750 --> 00:02:05,540 madwar l-idea ta 'arrays mill analogizing għal xi ħaġa oħra 41 00:02:05,540 --> 00:02:08,400 li inti probabilment diġà familjari magħhom. 42 00:02:08,400 --> 00:02:13,182 >> Fil C, l-elementi ta 'firxa huma indiċjati jibdew minn 0, mhux mill-1. 43 00:02:13,182 --> 00:02:14,390 U dan huwa verament importanti. 44 00:02:14,390 --> 00:02:18,530 U fil-fatt, dan huwa għaliex aħna, f 'CS-50, u għaliex il-kompjuter xjentisti spiss 45 00:02:18,530 --> 00:02:22,150 se jgħoddu minn 0, huwa minħabba firxa C 46 00:02:22,150 --> 00:02:24,660 indiċjar, li dejjem jibda b'0. 47 00:02:24,660 --> 00:02:28,730 Mela jekk firxa tikkonsisti f'elementi n, l-ewwel element ta 'dik array 48 00:02:28,730 --> 00:02:32,960 tinsab fil-indiċi 0, u l-aħħar element tal-firxa 49 00:02:32,960 --> 00:02:36,610 tinsab fil-indiċi n minus 1. 50 00:02:36,610 --> 00:02:43,160 Għal darb'oħra, jekk hemm elementi n fil tagħna firxa, l-aħħar indiċi huwa n minus 1. 51 00:02:43,160 --> 00:02:46,820 >> Mela jekk array tagħna għandha 50 elementi, il- ewwel element jinsab fil-indiċi 0, 52 00:02:46,820 --> 00:02:51,060 u l-aħħar element tinsab fil-indiċi 49. 53 00:02:51,060 --> 00:02:53,940 Sfortunatament, jew fortunatament, jiddependi fuq il-perspettiva tiegħek, 54 00:02:53,940 --> 00:02:56,170 C huwa klementi ħafna hawn. 55 00:02:56,170 --> 00:02:59,480 Dan mhux se jipprevjeni milli għeluq ta 'limiti ta' firxa tiegħek. 56 00:02:59,480 --> 00:03:03,080 Inti tista 'aċċess għall-minus 3 element ta 'firxa tiegħek 57 00:03:03,080 --> 00:03:07,400 jew l-element 59 tat firxa tiegħek, jekk array tiegħek biss għandha 50 elementi. 58 00:03:07,400 --> 00:03:11,060 Dan mhux se tieqaf program tiegħek mill kumpilazzjoni, iżda fil-ħin run, 59 00:03:11,060 --> 00:03:14,350 inti tista 'tiltaqa' ma ' tort segmentazzjoni dreaded 60 00:03:14,350 --> 00:03:17,460 jekk tibda aċċess memorja jiġifieri jitilgħu lil hinn minn dak li 61 00:03:17,460 --> 00:03:19,260 inti tlabt program tiegħek li jtik. 62 00:03:19,260 --> 00:03:21,250 Allura jkun attent. 63 00:03:21,250 --> 00:03:23,120 >> Xi jfisser firxa dikjarazzjoni look like? 64 00:03:23,120 --> 00:03:26,940 Kif nistgħu kodiċi firxa fis-eżistenza bħal aħna kodiċi kwalunkwe varjabbli oħra? 65 00:03:26,940 --> 00:03:31,250 Hemm tliet partijiet għal firxa declaration-- tip, isem, 66 00:03:31,250 --> 00:03:31,880 u daqs. 67 00:03:31,880 --> 00:03:34,088 Dan huwa simili ħafna għal dikjarazzjoni varjabbli, li 68 00:03:34,088 --> 00:03:36,970 huwa biss tip u l-isem, l-element daqs huwa 69 00:03:36,970 --> 00:03:39,860 -każ speċjali għal firxa, għaliex aħna qed jkollna mazz minnhom 70 00:03:39,860 --> 00:03:41,830 fl-istess ħin. 71 00:03:41,830 --> 00:03:45,560 >> Allura l-tip hija dwar liema tip ta 'varjabbli inti tixtieq kull element tal-array li jkun. 72 00:03:45,560 --> 00:03:47,150 Do tixtieq li firxa ta 'numri interi? 73 00:03:47,150 --> 00:03:49,010 Imbagħad, it-tip tad-data tiegħek għandha tkun int. 74 00:03:49,010 --> 00:03:51,760 Do inti tixtieq li tkun firxa ta 'jirdoppja jew sufruni? 75 00:03:51,760 --> 00:03:54,545 Tip ta 'data għandhom ikunu doppji jew float. 76 00:03:54,545 --> 00:03:56,420 L-isem huwa dak li inti tixtieq li hija sejħa firxa tiegħek. 77 00:03:56,420 --> 00:04:00,970 What do inti tixtieq li insemmu dan il-ġgant bank ta 'numri interi jew kannizzati jew Chars 78 00:04:00,970 --> 00:04:03,250 jew jirdoppja, jew kwalunkwe ikollhom inti? 79 00:04:03,250 --> 00:04:04,700 What do inti tixtieq li hija sejħa? 80 00:04:04,700 --> 00:04:06,110 Pjuttost awto spjegazzjoni. 81 00:04:06,110 --> 00:04:08,610 >> Fl-aħħar nett, id-daqs, li tmur ġewwa tal-parentesi kwadri, 82 00:04:08,610 --> 00:04:12,180 huwa kif Elementi ħafna inti bħal firxa tiegħek li jkollhom. 83 00:04:12,180 --> 00:04:13,530 Kemm interi tridu? 84 00:04:13,530 --> 00:04:15,570 Kemm sufruni tridu? 85 00:04:15,570 --> 00:04:19,070 >> Hekk per eżempju, int gradi student 40. 86 00:04:19,070 --> 00:04:26,020 Dan jiddikjara firxa imsejħa Student gradi, li jikkonsisti ta '40 numri interi. 87 00:04:26,020 --> 00:04:28,180 Pjuttost awto spjegazzjoni, I hope. 88 00:04:28,180 --> 00:04:29,330 Hawn eżempju ieħor. 89 00:04:29,330 --> 00:04:31,560 Prezzijiet menu Double 8. 90 00:04:31,560 --> 00:04:34,610 Dan joħloq firxa imsejħa Prezzijiet menu, li jikkonsisti 91 00:04:34,610 --> 00:04:38,300 spazju fil-memorja għal tmien jirdoppja. 92 00:04:38,300 --> 00:04:42,000 93 00:04:42,000 --> 00:04:45,750 >> Jekk taħseb ta 'kull element ta 'firxa ta' tip tip ta 'data, 94 00:04:45,750 --> 00:04:49,860 hekk per eżempju, element wieħed ta ' firxa ta 'int tip, bl-istess mod inti 95 00:04:49,860 --> 00:04:52,770 ser jaħseb ta 'kwalunkwe varjabbli ta 'int tip, 96 00:04:52,770 --> 00:04:56,440 l-operazzjonijiet familjari li aħna diskuss qabel fl-operazzjonijiet 97 00:04:56,440 --> 00:04:58,270 video se jagħmel sens. 98 00:04:58,270 --> 00:05:01,620 Allura hawnhekk, nistgħu jiddikjaraw firxa tal Booleans imsejħa Truthtable, 99 00:05:01,620 --> 00:05:05,590 li jikkonsisti kamra għal 10 Booleans. 100 00:05:05,590 --> 00:05:09,650 >> U mbagħad, bħad nistgħu biss tassenja valur għal kull varjabbli ieħor ta 'tip 101 00:05:09,650 --> 00:05:13,470 Boolean, nistgħu ngħidu xi ħaġa bħal Truthtable bracket kwadru 102 00:05:13,470 --> 00:05:18,040 2, li hija kif aħna jindikaw, li element tat-tabella verità? 103 00:05:18,040 --> 00:05:20,350 It-tielet element tal- tabella verità, għax ftakar, 104 00:05:20,350 --> 00:05:21,800 aħna qed isserraħ minn 0. 105 00:05:21,800 --> 00:05:25,690 Allura li kif aħna jindikaw l tielet element tat-tabella verità. 106 00:05:25,690 --> 00:05:28,680 Truthtable 2 ugwali falza, bħad nistgħu declare-- 107 00:05:28,680 --> 00:05:33,560 jew nistgħu tassenja, pjuttost, xi Varjabbli tip Boolean li hi falza. 108 00:05:33,560 --> 00:05:35,050 >> Nistgħu wkoll tagħmel użu minnha fil-kondizzjonijiet. 109 00:05:35,050 --> 00:05:39,000 jekk (truthtable 7 == veru), li fi kliem ieħor, 110 00:05:39,000 --> 00:05:42,370 jekk it-tmien element tal Truthtable huwa veru, 111 00:05:42,370 --> 00:05:46,760 forsi irridu li jistampa messaġġ lill-utent, printf ("VERU! n") ;. 112 00:05:46,760 --> 00:05:50,290 Li tikkawża magħna biex ngħid Truthtable 10 ugwali vera, right? 113 00:05:50,290 --> 00:05:53,590 Well, I tista ', iżda huwa pjuttost perikolużi, minħabba ftakar, 114 00:05:53,590 --> 00:05:56,260 għandna firxa ta '10 Booleans. 115 00:05:56,260 --> 00:06:02,340 Allura l-ogħla indiċi li l- kompilatur tatna huwa ta '9. 116 00:06:02,340 --> 00:06:06,010 >> Dan il-programm se jiġbor, iżda jekk xi ħaġa oħra fil-memorja 117 00:06:06,010 --> 00:06:09,110 teżisti fejn nixtiequ jistennew Truthtable 10 li tmur, 118 00:06:09,110 --> 00:06:13,980 nistgħu jsofru tort segmentazzjoni. Aħna tista 'jitbiegħed magħha, iżda b'mod ġenerali, 119 00:06:13,980 --> 00:06:14,710 pretty perikolużi. 120 00:06:14,710 --> 00:06:19,759 Allura dak li qed nagħmel hawnhekk huwa C legali, iżda mhux neċessarjament l-aħjar pass. 121 00:06:19,759 --> 00:06:22,300 Issa, meta inti tiddikjara u initialize firxa simultanjament, 122 00:06:22,300 --> 00:06:23,960 hemm attwalment pretty sintassi speċjali li inti 123 00:06:23,960 --> 00:06:26,250 jistgħu jużaw biex jimlew il-firxa mal-valuri tal-bidu tiegħu. 124 00:06:26,250 --> 00:06:30,130 Hija tista 'tikseb diffiċli biex jiddikjara firxa ta 'daqs 100, 125 00:06:30,130 --> 00:06:33,430 u mbagħad ngħid, element 0 ugwali dan; element 1 huwa ugwali għal dan; 126 00:06:33,430 --> 00:06:34,850 element 2 huwa egwali għal dak. 127 00:06:34,850 --> 00:06:36,370 X'hemm il-punt, id-dritt? 128 00:06:36,370 --> 00:06:39,470 >> Jekk huwa firxa żgħira, inti tista 'tagħmel xi ħaġa bħal din. 129 00:06:39,470 --> 00:06:44,360 Truthtable BOOL 3 ugwali miftuħa Brace kaboċċi u mbagħad comma 130 00:06:44,360 --> 00:06:48,060 separati l-lista ta 'elementi li inti tixtieq li jitqiegħdu fil-firxa. 131 00:06:48,060 --> 00:06:50,520 Mbagħad mill-qrib virgola Brace kaboċċi. 132 00:06:50,520 --> 00:06:53,910 Dan joħloq firxa ta ' daqs tliet imsejħa Truthtable, 133 00:06:53,910 --> 00:06:56,090 ma 'elementi falza, vera, u vera. 134 00:06:56,090 --> 00:06:59,270 U fil-fatt, il-istanzazzjoni sintassi Għandi hawnhekk huwa 135 00:06:59,270 --> 00:07:03,350 eżattament l-istess bħal tagħmel l- sintassi element individwali taħt. 136 00:07:03,350 --> 00:07:09,380 Dawn iż-żewġ modi ta 'kodifikazzjoni kien jinkoraġġixxi jipproduċu l-istess firxa eżatt. 137 00:07:09,380 --> 00:07:11,740 >> Bl-istess mod, nistgħu jtenni fuq l-elementi kollha 138 00:07:11,740 --> 00:07:15,400 ta 'firxa tuża loop, li, fil- fatt, huwa rrakkomandat ħafna ħafna 139 00:07:15,400 --> 00:07:16,790 fuq il-home eżerċizzju. 140 00:07:16,790 --> 00:07:20,720 Kif taħseb li toħloq firxa ta '100 interi, fejn 141 00:07:20,720 --> 00:07:23,477 kull element tal-firxa huwa indiċi tagħha? 142 00:07:23,477 --> 00:07:26,560 Hekk per eżempju, għandna firxa ta '100 interi, u fl-ewwel element, 143 00:07:26,560 --> 00:07:27,790 irridu li tqiegħed 0. 144 00:07:27,790 --> 00:07:29,810 Fit-tieni element, irridu li tqiegħed 1. 145 00:07:29,810 --> 00:07:33,319 Fit-tielet element, irridu li jpoġġu 2; u hekk u hekk. 146 00:07:33,319 --> 00:07:35,360 Li verament tajba fuq il-home eżerċizzju biex tagħmel dan. 147 00:07:35,360 --> 00:07:38,190 148 00:07:38,190 --> 00:07:40,220 >> Hawnhekk, ma tfittex bħal wisq inbidlet. 149 00:07:40,220 --> 00:07:44,170 Iżda avviż li fl bejn il- parentesi kwadri, din id-darba, 150 00:07:44,170 --> 00:07:45,830 Stajt attwalment titħalla barra n-numru. 151 00:07:45,830 --> 00:07:48,000 Jekk inti qed tuża dan ħafna istanzazzjoni speċjali 152 00:07:48,000 --> 00:07:50,380 sintassi biex toħloq firxa, inti fil-fatt ma 153 00:07:50,380 --> 00:07:53,491 jeħtieġ li jindikaw id-daqs mill-firxa minn qabel. 154 00:07:53,491 --> 00:07:55,740 Il kompilatur huwa intelliġenti biżżejjed li tkun taf li inti fil-fatt 155 00:07:55,740 --> 00:07:58,980 jridu firxa ta 'daqs 3, għaliex inti tpoġġi tliet elementi 156 00:07:58,980 --> 00:08:00,640 għad-dritt għas-sinjal ugwali. 157 00:08:00,640 --> 00:08:04,140 Jekk kellek tpoġġi erba, huwa jkollu tak tabella verità ta 'daqs erbgħa 158 00:08:04,140 --> 00:08:06,270 u hekk u hekk. 159 00:08:06,270 --> 00:08:09,380 >> Arrays mhumiex ristretti għal wieħed dimensjoni, li huwa pjuttost jibred. 160 00:08:09,380 --> 00:08:12,000 Inti tista 'attwalment jkollhom daqs specifiers sekondarji kif tixtieq. 161 00:08:12,000 --> 00:08:16,470 Hekk per eżempju, jekk inti tixtieq li toħloq bord għal-logħba Battleship, li, 162 00:08:16,470 --> 00:08:20,910 jekk inti qatt lagħbu, hija logħba li huwa lagħbu inxir fuq il-10 sa l-10 grid, 163 00:08:20,910 --> 00:08:22,450 inti tista 'toħloq firxa bħal din. 164 00:08:22,450 --> 00:08:26,030 Tista 'tgħid BOOL battleship kwadru bracket 10 165 00:08:26,030 --> 00:08:29,590 kwadru magħluqa bracket kwadru bracket 10 magħluqa parentesi kwadri. 166 00:08:29,590 --> 00:08:32,710 >> U allura, inti tista 'tagħżel li jinterpretaw dan f'moħħu tiegħek bħala 10 167 00:08:32,710 --> 00:08:35,576 b'10 grid ta 'ċelluli. 168 00:08:35,576 --> 00:08:37,409 Issa, fil-fatt, fil-memorja, huwa verament ma biss 169 00:08:37,409 --> 00:08:42,440 jibqgħu element 100, firxa dimensjonali wieħed. 170 00:08:42,440 --> 00:08:46,070 U dan, fil-fatt, tmur għall jekk inti jkollha tliet dimensjonijiet jew erba 'jew ħames. 171 00:08:46,070 --> 00:08:49,420 Huwa verament ftit ma jimmultiplikaw kollha tal-indices-- 172 00:08:49,420 --> 00:08:51,130 jew kollha tad-daqs specifiers-- flimkien, 173 00:08:51,130 --> 00:08:53,480 u inti biss tikseb wieħed dimensjonali firxa ta 'dak id-daqs. 174 00:08:53,480 --> 00:08:57,090 >> Iżda f'termini ta 'organizzazzjoni u viżwalizzazzjoni u l-perċezzjoni tal-bniedem, 175 00:08:57,090 --> 00:08:59,240 jista 'jkun ħafna aktar faċli li jaħdmu ma 'grid 176 00:08:59,240 --> 00:09:02,980 jekk inti qed jaħdmu fuq logħba bħal Tic tac toe jew Battleship, 177 00:09:02,980 --> 00:09:05,179 jew xi ħaġa bħal dik. 178 00:09:05,179 --> 00:09:06,970 Huwa estrazzjoni kbir, minflok li 179 00:09:06,970 --> 00:09:09,340 li wieħed jaħseb dwar Tic-TAC toe board bħala linja ta 'disa 180 00:09:09,340 --> 00:09:13,810 kwadri jew bord Battleship bħala linja ta '100 kwadri. 181 00:09:13,810 --> 00:09:16,010 A 10 permezz 10 grid jew tlieta bi tlieta grid huwa probabbilment 182 00:09:16,010 --> 00:09:17,225 ħafna aktar faċli li jipperċepixxi. 183 00:09:17,225 --> 00:09:19,820 184 00:09:19,820 --> 00:09:22,280 >> Issa, xi ħaġa verament importanti dwar arrays. 185 00:09:22,280 --> 00:09:25,950 Nistgħu jittrattaw kull individwu element tad-array bħala varjabbli. 186 00:09:25,950 --> 00:09:27,700 Rajna li qabel meta konna jassenjaw 187 00:09:27,700 --> 00:09:32,240 il-valur Veru li ċerti Booleans jew ittestjar tagħhom fil conditionals. 188 00:09:32,240 --> 00:09:35,960 Iżda aħna ma jista 'jikkura kollu Arrays infushom bħala varjabbli. 189 00:09:35,960 --> 00:09:41,760 Ma nistgħux, per eżempju, tassenja matriċi semikonduttur wieħed li array ieħor bl-assenjazzjoni 190 00:09:41,760 --> 00:09:42,930 operatur. 191 00:09:42,930 --> 00:09:44,640 Mhuwiex C. legali 192 00:09:44,640 --> 00:09:47,920 >> Jekk irridu li, għal dak li example-- nkunu qed nagħmlu f'dak eżempju 193 00:09:47,920 --> 00:09:50,200 Ikun li kopja matriċi semikonduttur wieħed għal ieħor. 194 00:09:50,200 --> 00:09:53,810 Jekk irridu nagħmlu dan, aħna fil-fatt bżonn tuża loop li kopja fuq 195 00:09:53,810 --> 00:09:56,550 kull element individwali wieħed kull darba. 196 00:09:56,550 --> 00:09:58,700 Naf huwa ftit jikkunsmaw żmien. 197 00:09:58,700 --> 00:10:04,022 >> Għalhekk, per eżempju, jekk kellna dawn koppja ta 'linji ta' kodiċi, kieku dan ix-xogħol? 198 00:10:04,022 --> 00:10:05,230 Well, no, dan ma jkunux jistgħu, right? 199 00:10:05,230 --> 00:10:07,860 Għaliex aħna qed tipprova li tassenja ikel li bar. 200 00:10:07,860 --> 00:10:09,860 Li mhux sejjer jaħdem, għaliex dan huwa firxa, 201 00:10:09,860 --> 00:10:13,130 u aħna biss deskritti li dan mhux C. legali 202 00:10:13,130 --> 00:10:15,580 >> Minflok, jekk irridu li kopja tal-kontenut ta 'ikel 203 00:10:15,580 --> 00:10:18,070 fis bar, li huwa dak aħna qed tipprova tagħmel hawn, 204 00:10:18,070 --> 00:10:19,970 ikollna sintassi bħal dan. 205 00:10:19,970 --> 00:10:24,170 Għandna għal loop li tmur minn J hija ugwali għal 0 sa 5, 206 00:10:24,170 --> 00:10:28,390 u aħna inkrement J fuq kull iterazzjoni ta il-linja u l-elementi tassenja bħal dik. 207 00:10:28,390 --> 00:10:33,360 Dan kieku jirriżulta fi bar wkoll ħaġa waħda, tnejn, tlieta, erba ', ħames, 208 00:10:33,360 --> 00:10:36,730 iżda għandna nagħmlu dan il-ħafna bil-mod element--element permezz, 209 00:10:36,730 --> 00:10:40,009 minflok bi ftit ikkupjar il matriċi kollu. 210 00:10:40,009 --> 00:10:42,050 Fil-programmazzjoni oħra lingwi, dawk l-aktar moderni, 211 00:10:42,050 --> 00:10:45,610 inti tista ', fil-fatt, tagħmel biss li sempliċi ugwali sintassi. 212 00:10:45,610 --> 00:10:49,620 Iżda C, sfortunatament, aħna qed mhux permess li jagħmlu dan. 213 00:10:49,620 --> 00:10:52,026 >> Issa, hemm waħda oħra ħaġa nixtieq insemmi 214 00:10:52,026 --> 00:10:54,650 dwar arrays li jista 'jkun ftit daqsxejn diffiċli l-ewwel darba li inti 215 00:10:54,650 --> 00:10:55,990 jaħdmu magħhom. 216 00:10:55,990 --> 00:10:59,860 Iddiskutejna fil-video dwar ambitu varjabbli, 217 00:10:59,860 --> 00:11:04,940 li ħafna fatturi varjabbli fis-C, meta inti sejħa minnhom fil-funzjonijiet, huma mgħoddija minn valur. 218 00:11:04,940 --> 00:11:08,620 Do you remember dak li jfisser li jgħaddu xi ħaġa mill-valur? 219 00:11:08,620 --> 00:11:12,570 Dan ifisser li aħna qed jagħmlu kopja tad- varjabbli li l-jiġu mgħoddija fil. 220 00:11:12,570 --> 00:11:16,290 Il-funzjoni callee, il-funzjoni li l-li tirċievi l-varjabbli, 221 00:11:16,290 --> 00:11:17,730 ma jiksbu l-varjabbli innifsu. 222 00:11:17,730 --> 00:11:20,850 Jiġrilha lokali tagħha stess Kopja ta 'din taħdem magħhom. 223 00:11:20,850 --> 00:11:24,070 >> Arrays, naturalment, do ma jsegwux din ir-regola. 224 00:11:24,070 --> 00:11:27,600 Pjuttost, dak li nsejħu dan hija tgħaddi b'referenza. 225 00:11:27,600 --> 00:11:31,360 Il callee attwalment ma jirċievu l-firxa. 226 00:11:31,360 --> 00:11:34,207 Hija ma jirċevix tagħha Kopja lokali stess ta 'dan. 227 00:11:34,207 --> 00:11:36,040 U jekk taħseb dwar dan, dan jagħmel sens. 228 00:11:36,040 --> 00:11:39,750 Jekk arrays huma verament kbar, huwa jieħu tant ħin u sforz 229 00:11:39,750 --> 00:11:44,470 li tagħmel kopja ta 'firxa ta' 100 jew 1,000 jew 10,000 elementi, 230 00:11:44,470 --> 00:11:48,290 li huwa mhux worth it għal funzjoni li jirċievu kopja tiegħu, 231 00:11:48,290 --> 00:11:51,037 jagħmlu xi xogħol magħha, u mbagħad biss 'jsir bl-kopja; 232 00:11:51,037 --> 00:11:53,120 ma għandux bżonn li jkollhom huwa mdendlin madwar aktar. 233 00:11:53,120 --> 00:11:54,710 >> Minħabba arrays huma wħud goffi u ineffiċjenti, 234 00:11:54,710 --> 00:11:56,001 aħna biss jgħaddihom b'referenza. 235 00:11:56,001 --> 00:12:01,210 Aħna biss fiduċja li l-funzjoni li, ma jqassmux xejn. 236 00:12:01,210 --> 00:12:03,010 Għalhekk ma attwalment tikseb l-array. 237 00:12:03,010 --> 00:12:05,290 Hija ma jiksbu kopja lokali tagħha stess ta 'dan. 238 00:12:05,290 --> 00:12:07,170 >> Allura dak li jfisser dan, imbagħad, meta l-callee 239 00:12:07,170 --> 00:12:08,970 jimmanipula elementi tal-firxa? 240 00:12:08,970 --> 00:12:10,780 X'jigri? 241 00:12:10,780 --> 00:12:13,210 Għal issa, aħna ser tleqqija fuq għaliex eżattament din 242 00:12:13,210 --> 00:12:15,320 jiġri, għaliex arrays huma mgħoddija permezz ta 'referenza 243 00:12:15,320 --> 00:12:17,810 u kull ħaġa oħra huwa mgħoddi mill-valur. 244 00:12:17,810 --> 00:12:20,470 Imma I wegħda inti, aħna se ritorn u jagħtik l-risposta 245 00:12:20,470 --> 00:12:23,750 għal dan fil-video aktar tard. 246 00:12:23,750 --> 00:12:28,110 >> Hawn wieħed eżerċizzju aktar għalik qabel we nagħlaq affarijiet fuq arrays. 247 00:12:28,110 --> 00:12:31,400 L-għanqud tal-kodiċi hawn, li mhux partikolarment stil tajjeb, 248 00:12:31,400 --> 00:12:33,400 biss jien ser jagħmlu dan twiddiba. 249 00:12:33,400 --> 00:12:36,660 M'hemm l-ebda kummenti fil hawn, li hija forma pretty bad. 250 00:12:36,660 --> 00:12:39,750 Iżda huwa biss għaliex jien ridt li tkun kapaċi li jitwaħħal kollox fuq l-iskrin. 251 00:12:39,750 --> 00:12:44,360 >> Fil-quċċata, tista 'tara li għandi żewġ dikjarazzjonijiet funzjoni għall array sett 252 00:12:44,360 --> 00:12:45,820 u sett int. 253 00:12:45,820 --> 00:12:49,680 Set firxa apparentement jieħu firxa ta 'erba' numri interi bħala input tagħha. 254 00:12:49,680 --> 00:12:52,767 U int sett apparentement tieħu numru sħiħ wieħed bħala input tagħha. 255 00:12:52,767 --> 00:12:54,350 Iżda tnejn minnhom ma jkollu output. 256 00:12:54,350 --> 00:12:57,689 Il-produzzjoni, ir-ritorn tip, ta 'kull wieħed huwa null. 257 00:12:57,689 --> 00:12:59,480 Fl Main, għandna Koppja ta 'linji ta' kodiċi. 258 00:12:59,480 --> 00:13:02,730 Aħna niddikjaraw varjabbli numru sħiħ imsejħa A u tassenja din l-valur 10. 259 00:13:02,730 --> 00:13:07,080 Aħna niddikjaraw firxa ta 'erba' numri interi imsejħa B u tassenja l-elementi 0, 1, 260 00:13:07,080 --> 00:13:08,730 2, u 3, rispettivament. 261 00:13:08,730 --> 00:13:12,190 Imbagħad, aħna għandna sejħa biex jistabbilixxu int u sejħa biex jistabbilixxu firxa. 262 00:13:12,190 --> 00:13:15,910 Id-definizzjonijiet ta 'firxa sett u sett int huma stabbiliti hawn taħt, fil-qiegħ. 263 00:13:15,910 --> 00:13:17,640 >> U għalhekk, għal darb'oħra, Nitlobkom l-kwistjoni. 264 00:13:17,640 --> 00:13:20,770 Liema gets stampata hawn fl-aħħar tal Main? 265 00:13:20,770 --> 00:13:23,020 Hemm col printout. Jien stampar ta 'żewġ numri interi. 266 00:13:23,020 --> 00:13:28,010 Jien istampar l-kontenut ta 'A u il-kontenut tal B kwadru bracket 0. 267 00:13:28,010 --> 00:13:29,880 Pause il-video hawn u tieħu minuta. 268 00:13:29,880 --> 00:13:35,482 Inti tista 'ċifra barra dak li dan funzjoni se print fl-aħħar? 269 00:13:35,482 --> 00:13:38,190 Nisperaw, jekk inti mfakkra l- distinzjoni bejn tgħaddi mill-valur 270 00:13:38,190 --> 00:13:41,680 u li jgħaddi permezz ta 'referenza, dan problema ma kienx wisq diffiċli għalik. 271 00:13:41,680 --> 00:13:44,130 U t-tweġiba inti sabu hija din. 272 00:13:44,130 --> 00:13:47,660 Jekk int verament mhux ċert dwar għaliex dan huwa l-każ, tieħu t-tieni, 273 00:13:47,660 --> 00:13:50,620 jmorru lura, jirrevedu dak I kien biss tiddiskuti dwar tgħaddi arrays 274 00:13:50,620 --> 00:13:53,450 b'referenza, versus tgħaddi varjabbli oħra skont il-valur, 275 00:13:53,450 --> 00:13:56,680 u wieħed jittama, hija ser tagħmel ftit aktar sens. 276 00:13:56,680 --> 00:13:59,760 >> Jien Doug Lloyd, u dan huwa CS50. 277 00:13:59,760 --> 00:14:01,467