1 00:00:00,000 --> 00:00:03,388 >> [Musika jotzen] 2 00:00:03,388 --> 00:00:05,104 3 00:00:05,104 --> 00:00:06,020 DOUG LLOYD: Ondo da. 4 00:00:06,020 --> 00:00:07,680 Bakar batekin lan egitea aldagai nahiko dibertigarria da. 5 00:00:07,680 --> 00:00:09,500 Baina, zer nahi dugu, lan egiteko aldagai asko batekin, 6 00:00:09,500 --> 00:00:12,760 baina ez dugu nahi mordo bat izatea Izen desberdinak gure kodea inguruan hegan? 7 00:00:12,760 --> 00:00:15,980 Kasu honetan, array dira benetan erabilgarri etorriko da. 8 00:00:15,980 --> 00:00:19,510 Arrayak benetan oinarrizko datuak dira edozein programazio hizkuntza-egitura 9 00:00:19,510 --> 00:00:20,260 hori erabili ahal izango duzu. 10 00:00:20,260 --> 00:00:24,450 Eta benetan, oso erabilgarria ari dira, batez ere, gisa ikusiko dugu, CS 50 urtean. 11 00:00:24,450 --> 00:00:27,870 >> Matrizeak erabiltzen dugu eutsi datu mota bereko balioak 12 00:00:27,870 --> 00:00:29,830 memoria Elkarren ondoko lekuetan. 13 00:00:29,830 --> 00:00:32,430 Bestela esan, bat da era horretan talde-ahal dugun 14 00:00:32,430 --> 00:00:35,430 zenbakien sorta batean elkarrekin memoria edo karaktere-sorta bat 15 00:00:35,430 --> 00:00:38,270 edo memoria flotatzen benetan elkarrekin itxi eta obra 16 00:00:38,270 --> 00:00:41,930 haiekin bakoitzak eman behar izan gabe bere izen berezia egin zuten, zeinek ahal 17 00:00:41,930 --> 00:00:44,500 lortu astuna une baten ondoren. 18 00:00:44,500 --> 00:00:48,130 >> Orain, modu batean arrayak analogize den da zure tokiko post pentsatzen 19 00:00:48,130 --> 00:00:49,000 bigarren bat bulegoan. 20 00:00:49,000 --> 00:00:51,820 Beraz, urratsa kanpoan programazio-tik eta besterik ez itxi begiak 21 00:00:51,820 --> 00:00:54,120 eta zure kontuan ikusteko zure tokiko postetxean. 22 00:00:54,120 --> 00:00:57,160 Normalean, post gehienetan bulegoak, ez banku handi bat da 23 00:00:57,160 --> 00:01:00,490 a postetxean, horman kutxak. 24 00:01:00,490 --> 00:01:03,510 >> Array bat bloke erraldoi bat da Alboko oroimenaren, 25 00:01:03,510 --> 00:01:06,120 mail bat duten modu berean Zure posta-bulego batean, banku- 26 00:01:06,120 --> 00:01:11,230 espazio handi bat da postetxean horman. 27 00:01:11,230 --> 00:01:15,750 Arrayak dira txikitan zatitzen da; berdinean espazioa bloke tamaina, 28 00:01:15,750 --> 00:01:19,930 eta horietako bakoitzak elementu bat deitzen da, in Modu berean post horma hori 29 00:01:19,930 --> 00:01:23,840 bulegoan izan txikietan zatitzen da; berdinean espazioa bloke tamaina, 30 00:01:23,840 --> 00:01:27,560 bertan posta-kutxa bat deitu dugu. 31 00:01:27,560 --> 00:01:31,650 Array elementu bakoitzeko Datu kopuru jakin bat gordetzeko, 32 00:01:31,650 --> 00:01:37,540 Post Office kutxa bakoitzak gai besterik ez da mail kopuru jakin bat eduki. 33 00:01:37,540 --> 00:01:41,540 >> Zer elementu bakoitzaren gorde daitezke Array datuak bereko aldagai da 34 00:01:41,540 --> 00:01:45,300 mota, hala nola, int edo char, bezala Zure Post Office kutxa batean bezala, 35 00:01:45,300 --> 00:01:47,300 Gauza bakarra doi dezakezu antzeko mota bat, 36 00:01:47,300 --> 00:01:50,430 besteak beste, gutunak edo pakete txiki gisa. 37 00:01:50,430 --> 00:01:55,050 Azkenik, elementu bakoitzaren sartu ahal izango dugu zuzenean indizea zenbakia ek array, 38 00:01:55,050 --> 00:01:59,770 Gure postetxean sar daiteke bezalaxe dugu bere postontzi kopurua jakitea koadroa. 39 00:01:59,770 --> 00:02:02,750 Zorionez, analogiaren Laguntzak zure burua lortuko duzu 40 00:02:02,750 --> 00:02:05,540 arrayak ideia inguruan beste zerbait analogizing 41 00:02:05,540 --> 00:02:08,400 Ziur aski duzula Dagoeneko ezagutzen. 42 00:02:08,400 --> 00:02:13,182 >> C, array baten elementuak dira indexatutako 0 eta 1 hasita, ez. 43 00:02:13,182 --> 00:02:14,390 Eta hau da benetan garrantzitsua. 44 00:02:14,390 --> 00:02:18,530 Eta hain zuzen ere, horregatik dugu, CS 50, Horregatik ordenagailu eta zientzialari maiz 45 00:02:18,530 --> 00:02:22,150 egingo 0-tik, da delako C array 46 00:02:22,150 --> 00:02:24,660 indexatzeko, eta horrek beti 0 hasten da. 47 00:02:24,660 --> 00:02:28,730 Beraz, array bat n elementu osatzen bada, Array horretan lehenengo elementua 48 00:02:28,730 --> 00:02:32,960 da indizea 0 kokatuta dago, eta array azken elementua 49 00:02:32,960 --> 00:02:36,610 hau da, indizea n ken 1 dago. 50 00:02:36,610 --> 00:02:43,160 Berriz ere, n elementuen ez bada gure array, azken indizean n ken 1 da. 51 00:02:43,160 --> 00:02:46,820 >> Beraz, gure array 50 elementu, badu Lehenengo elementua da indizea 0 kokatuta dago, 52 00:02:46,820 --> 00:02:51,060 eta azken elementu da indizea 49 at dago. 53 00:02:51,060 --> 00:02:53,940 Tamalez, edo zorionez, zure ikuspegitik arabera, 54 00:02:53,940 --> 00:02:56,170 C oso xelebrea da hemen. 55 00:02:56,170 --> 00:02:59,480 Ezin izango da saihesteko duzu bertatik Zure array mugetatik kanpo joan. 56 00:02:59,480 --> 00:03:03,080 Ken Sar dezakezu 3 Zure array elementu 57 00:03:03,080 --> 00:03:07,400 edo 59th zure array elementu, Zure array 50 elementu bakarra badu. 58 00:03:07,400 --> 00:03:11,060 Ez da zure programa gelditzeko bertatik konpilatzean, baina exekuzio garaian, 59 00:03:11,060 --> 00:03:14,350 a zenitzake beldurgarria segmentazio errua 60 00:03:14,350 --> 00:03:17,460 memoria sartzeko hasten bazara zer mugetatik kanpo dago 61 00:03:17,460 --> 00:03:19,260 Zure programa emango zaizu. 62 00:03:19,260 --> 00:03:21,250 Beraz, kontuz ibili. 63 00:03:21,250 --> 00:03:23,120 >> Zer array bat egiten du deklarazio itxura? 64 00:03:23,120 --> 00:03:26,940 Zelan existentzia sartu array kode dugu bezalako beste edozein aldagai kode dugu? 65 00:03:26,940 --> 00:03:31,250 Badira hiru zati array mota bat declaration--, izen bat, 66 00:03:31,250 --> 00:03:31,880 eta tamaina batean. 67 00:03:31,880 --> 00:03:34,088 Hau oso antzekoa da deklarazio aldakorra, eta horrek 68 00:03:34,088 --> 00:03:36,970 besterik mota bat eta izen bat da, tamaina elementua izateaz 69 00:03:36,970 --> 00:03:39,860 array baten kasua berezia da, dugu horietako sorta bat ari delako 70 00:03:39,860 --> 00:03:41,830 aldi berean. 71 00:03:41,830 --> 00:03:45,560 >> Beraz motaren zer aldagai mota da duzu Nahi array elementu bakoitzari izan. 72 00:03:45,560 --> 00:03:47,150 Ez al da zenbaki osoen array bat nahi? 73 00:03:47,150 --> 00:03:49,010 Ondoren, zure datuak int mota izan behar du. 74 00:03:49,010 --> 00:03:51,760 Egin bat izatea nahi duzu bikoitzak edo karroza array? 75 00:03:51,760 --> 00:03:54,545 Datu mota bikoitza izan edo flotatzen behar. 76 00:03:54,545 --> 00:03:56,420 Izena, zer da zuretzat Zure array deitu nahi. 77 00:03:56,420 --> 00:04:00,970 Zer erraldoi honetan izena eman nahi duzu osoentzat eta karroza edo karakteretan banku 78 00:04:00,970 --> 00:04:03,250 edo bikoizten, edo dena behar duzu? 79 00:04:03,250 --> 00:04:04,700 Nola deitzen nahi duzu? 80 00:04:04,700 --> 00:04:06,110 Nahiko auto azalpen. 81 00:04:06,110 --> 00:04:08,610 >> Azkenik, tamaina, doan kortxete barruan, 82 00:04:08,610 --> 00:04:12,180 nola da askotan elementu zenituzkeen Zure array eduki bezala. 83 00:04:12,180 --> 00:04:13,530 Zenbat zenbaki osoen nahi duzu? 84 00:04:13,530 --> 00:04:15,570 Zenbat karroza nahi duzu? 85 00:04:15,570 --> 00:04:19,070 >> Beraz, adibidez, int ikaslea kalifikazio 40. 86 00:04:19,070 --> 00:04:26,020 Hau Ikasle izeneko array bat adierazten kalifikazio Horietatik 40 zenbaki osoko ditu. 87 00:04:26,020 --> 00:04:28,180 Nahiko auto azalpen, espero dut. 88 00:04:28,180 --> 00:04:29,330 Beste adibide bat. 89 00:04:29,330 --> 00:04:31,560 Menu bikoitza prezioak 8. 90 00:04:31,560 --> 00:04:34,610 Hau izeneko array bat sortzen du Menu prezioak, eta hori osatzen 91 00:04:34,610 --> 00:04:38,300 memorian gela zortzi bikoitzak egiteko. 92 00:04:38,300 --> 00:04:42,000 93 00:04:42,000 --> 00:04:45,750 >> Elementu bakoitzaren uste baduzu erako datu-mota multzo baten, 94 00:04:45,750 --> 00:04:49,860 beraz, adibidez, elementu bakar bat mota int array bat, modurik duzu bera 95 00:04:49,860 --> 00:04:52,770 Beste edozein lituzkeenik int mota aldakorra, 96 00:04:52,770 --> 00:04:56,440 ezagunak eragiketa guztien dugun Lehen aipatu eragiketak 97 00:04:56,440 --> 00:04:58,270 Bideo zentzurik izango. 98 00:04:58,270 --> 00:05:01,620 Hortaz, hona hemen, array bat deklaratzen izan dugu Truthtable izeneko Booleans, 99 00:05:01,620 --> 00:05:05,590 horietatik 10 Booleans gela ditu. 100 00:05:05,590 --> 00:05:09,650 >> Eta gero, besterik gabe, nahi besterik ezin dugu esleitu motako beste edozein aldagai balioa 101 00:05:09,650 --> 00:05:13,470 Boolean, zerbait esan genezake Truthtable kortxetea bezala 102 00:05:13,470 --> 00:05:18,040 2, hau da, nola adieraziko dugu, egiazki mahai elementu? 103 00:05:18,040 --> 00:05:20,350 Hirugarren elementua egiaren mahai, gogoratzen delako, 104 00:05:20,350 --> 00:05:21,800 0-tik ari gara kontatuta. 105 00:05:21,800 --> 00:05:25,690 Beraz, nola adieraziko dugu Hirugarren egiaren mahai elementurik. 106 00:05:25,690 --> 00:05:28,680 Truthtable 2 berdin faltsua, besterik Aldarrikatzen dugu antzeko 107 00:05:28,680 --> 00:05:33,560 edo esleitu ahal izan genuen, baizik eta, edozein Boolean aldagai mota faltsua izan. 108 00:05:33,560 --> 00:05:35,050 >> Halaber dugu erabili daiteke baldintzetan. 109 00:05:35,050 --> 00:05:39,000 bada (truthtable 7 == Egia), eta horrek esan nahi baita, 110 00:05:39,000 --> 00:05:42,370 Zortzigarren elementua bada Truthtable egia da, 111 00:05:42,370 --> 00:05:46,760 agian, mezu bat inprimatu nahi dugu erabiltzaileak, printf ("egia! n") ra ;. 112 00:05:46,760 --> 00:05:50,290 Eragiten digu Truthtable esateko 10 berdin egia da, ezta? 113 00:05:50,290 --> 00:05:53,590 , Beno, ezin dut, baina polita da arriskutsua da, zeren gogoratu, 114 00:05:53,590 --> 00:05:56,260 10 Booleans array bat izan dugu. 115 00:05:56,260 --> 00:06:02,340 Beraz, indize altuena duten Konpiladore eman du 9 da gurekin. 116 00:06:02,340 --> 00:06:06,010 >> Programa honetan bildu egingo dira, baina bada zerbait memorian beste 117 00:06:06,010 --> 00:06:09,110 existitzen non genuke Espero Truthtable 10 joan, 118 00:06:09,110 --> 00:06:13,980 segmentazio matxura bat jasaten izan ditugu. Dugu ihes zitekeen, baina, oro har, 119 00:06:13,980 --> 00:06:14,710 Nahiko arriskutsua. 120 00:06:14,710 --> 00:06:19,759 Beraz, zer egiten ari naiz hemen C legala, baina ez du zertan mugitzen onena. 121 00:06:19,759 --> 00:06:22,300 Orain, aldarrikatu duzu eta array bat hasieratu aldi berean, 122 00:06:22,300 --> 00:06:23,960 ez da benetan polit bat sintaxia berezia duzula 123 00:06:23,960 --> 00:06:26,250 bete array erabil daiteke Bere hasierako balioekin. 124 00:06:26,250 --> 00:06:30,130 Astuna eskuratu ahal izango da tamaina 100 array bat deklaratzen, 125 00:06:30,130 --> 00:06:33,430 eta, ondoren, esan nahi baita, elementu 0 berdin hau; elementu 1 berdinen honetan; 126 00:06:33,430 --> 00:06:34,850 elementu 2 berdinen. 127 00:06:34,850 --> 00:06:36,370 Zer da puntua, ezta? 128 00:06:36,370 --> 00:06:39,470 >> Array txiki bat bada, zuk honen antzeko zerbait egin daiteke. 129 00:06:39,470 --> 00:06:44,360 Bool truthtable 3 funtzioak irekia kizkur eta gero koma 130 00:06:44,360 --> 00:06:48,060 elementuen zerrenda bereiztuko array jarri nahi duzula. 131 00:06:48,060 --> 00:06:50,520 Ondoren itxi kizkur koma. 132 00:06:50,520 --> 00:06:53,910 Hau array bat sortzen du tamaina hiru Truthtable deitzen, 133 00:06:53,910 --> 00:06:56,090 elementu faltsua, egia, eta egia batekin. 134 00:06:56,090 --> 00:06:59,270 Eta hain zuzen ere, instantiation du sintaxia hemen daukat da 135 00:06:59,270 --> 00:07:03,350 zehazki egiten berberak banakako elementu sintaxia azpian. 136 00:07:03,350 --> 00:07:09,380 Bi kodetze modu hauek litzateke zehatza array bera ekoizteko. 137 00:07:09,380 --> 00:07:11,740 >> Era berean, batetik bestera joateko izan dugu elementu guztiak baino gehiago 138 00:07:11,740 --> 00:07:15,400 array bat begizta baten bidez, eta bertan, urtean Izan ere, oso oso gomendagarria bat 139 00:07:15,400 --> 00:07:16,790 at home ariketa. 140 00:07:16,790 --> 00:07:20,720 Zelan array bat sortzeko 100 osokoak, non 141 00:07:20,720 --> 00:07:23,477 array elementu bakoitzak bere indizea da? 142 00:07:23,477 --> 00:07:26,560 Beraz, adibidez, 100 multzo bat dugu osokoak, eta lehen elementua ere, 143 00:07:26,560 --> 00:07:27,790 0 jarri nahi dugu. 144 00:07:27,790 --> 00:07:29,810 Bigarren elementua, 1. jarri nahi dugu. 145 00:07:29,810 --> 00:07:33,319 Hirugarren elementua ere, nahi dugu 2 jarri da; eta abar eta abar. 146 00:07:33,319 --> 00:07:35,360 Hori da benetan ona at home ariketa hori egin. 147 00:07:35,360 --> 00:07:38,190 148 00:07:38,190 --> 00:07:40,220 >> Hemen, ez du begiratu bezala gehiegi aldatu da. 149 00:07:40,220 --> 00:07:44,170 Baina konturatu ere artean Parentesi karratua, oraingo honetan, 150 00:07:44,170 --> 00:07:45,830 Benetan Nik kendutako kopurua da. 151 00:07:45,830 --> 00:07:48,000 Oso hau badarabilzu instantiation bereziak 152 00:07:48,000 --> 00:07:50,380 sintaxia bat sortzeko array, benetan ez duzu 153 00:07:50,380 --> 00:07:53,491 tamaina adierazteko behar Array aldez aurretik. 154 00:07:53,491 --> 00:07:55,740 Konpilatzailea smart nahikoa da nahi duzun jakin benetan 155 00:07:55,740 --> 00:07:58,980 3 tamaina sorta bat egin nahi, Hiru elementu jarri duzulako 156 00:07:58,980 --> 00:08:00,640 Berdintasun ikurraren eskubidea. 157 00:08:00,640 --> 00:08:04,140 Zuk ipini lau bada, hau izango da Emandako Egia lau tamaina taula bat; 158 00:08:04,140 --> 00:08:06,270 eta abar eta abar. 159 00:08:06,270 --> 00:08:09,380 >> Arrayak ez dira batera mugatua dimentsio, hau da, oso politak. 160 00:08:09,380 --> 00:08:12,000 Benetan izan daiteke askotan bezala Bigarren mailako bereziak nahi duzun bezala. 161 00:08:12,000 --> 00:08:16,470 Beraz, adibidez, sortu nahi baldin baduzu Joko gerra egiteko taula bat eta bertan, 162 00:08:16,470 --> 00:08:20,910 Inoiz jokatu baduzu, hori da joko bat da 10 zorrozkiloa batera jokatzen 10 bider, 163 00:08:20,910 --> 00:08:22,450 hau bezalako array bat sortzeko asmoz. 164 00:08:22,450 --> 00:08:26,030 Boolearra Esan daiteke gerra kortxetea 10 165 00:08:26,030 --> 00:08:29,590 itxitako plaza kortxetea tarte 10 kortxetea itxita. 166 00:08:29,590 --> 00:08:32,710 >> Eta gero, aukeratu dezakezu interpretatzeko hau zure kontuan 10 gisa 167 00:08:32,710 --> 00:08:35,576 10 zelulen bider. 168 00:08:35,576 --> 00:08:37,409 Orain, hain zuzen ere, memoria, benetan besterik 169 00:08:37,409 --> 00:08:42,440 100 elementu bat izan arren, dimentsioko array bakar. 170 00:08:42,440 --> 00:08:46,070 Eta hau da, hain zuzen ere, baduzu doa hiru dimentsiotan edo lau edo bost izatea. 171 00:08:46,070 --> 00:08:49,420 Benetan, besterik gabe biderkatu du indices-- guztia 172 00:08:49,420 --> 00:08:51,130 edo tamaina guztiak specifiers-- elkarrekin, 173 00:08:51,130 --> 00:08:53,480 eta besterik ez duzu bat-dimentsioko Tamaina horretako sorta. 174 00:08:53,480 --> 00:08:57,090 >> Baina erakundearen aldetik eta bistaratzea eta giza pertzepzioa, 175 00:08:57,090 --> 00:08:59,240 asko errazagoa izan daiteke to-zerrenda batekin lan 176 00:08:59,240 --> 00:09:02,980 Joko bat ari zara lanean bada TIC-TAC behatz edo gerra bezala, 177 00:09:02,980 --> 00:09:05,179 edo horrelako zerbait. 178 00:09:05,179 --> 00:09:06,970 Abstrakzioa handi bat da, ordez izatearen 179 00:09:06,970 --> 00:09:09,340 to a Tic-TAC-tep pentsatzen board bederatzi lerro gisa 180 00:09:09,340 --> 00:09:13,810 plazetan edo gerra taula bat 100 plazetan lerro gisa. 181 00:09:13,810 --> 00:09:16,010 A 10 10 grid edo hiru batek Hiru arabera grid da seguruenik 182 00:09:16,010 --> 00:09:17,225 Asko gehiago erraz nabaritzen. 183 00:09:17,225 --> 00:09:19,820 184 00:09:19,820 --> 00:09:22,280 >> Orain, zerbait benetan Array buruz garrantzitsua. 185 00:09:22,280 --> 00:09:25,950 Banakako bakoitza tratatu ahal izango dugu array aldagai gisa elementurik. 186 00:09:25,950 --> 00:09:27,700 Lehenago ikusi dugu denean esleitzea ari ginen 187 00:09:27,700 --> 00:09:32,240 balioa jakin Booleans to True edo probatzen horiek baldintzazkoak ere. 188 00:09:32,240 --> 00:09:35,960 Baina ezin dugu osoan tratatzeko array beraiek aldagai gisa. 189 00:09:35,960 --> 00:09:41,760 Ezin dugu, adibidez, esleitu array bat beste array esleipena erabiliz 190 00:09:41,760 --> 00:09:42,930 operadorea. 191 00:09:42,930 --> 00:09:44,640 Ez da lege C. 192 00:09:44,640 --> 00:09:47,920 >> Den, nahi dugun adibide bada zer Adibide hori izango litzateke egiten 193 00:09:47,920 --> 00:09:50,200 array bat kopiatu sartu beharko litzateke. 194 00:09:50,200 --> 00:09:53,810 Hori, egia esan, ez dugu egin nahi badugu begizta bat erabili baino kopiatu behar 195 00:09:53,810 --> 00:09:56,550 banakako elementu bakoitza denbora batean. 196 00:09:56,550 --> 00:09:58,700 Ezagutzen dut denbora pixka bat kontsumitzen da. 197 00:09:58,700 --> 00:10:04,022 >> Beraz, adibidez, bikote hauek izan badugu kode lerro, litzateke lan hau? 198 00:10:04,022 --> 00:10:05,230 Beno, ez, ez litzateke izango, ezta? 199 00:10:05,230 --> 00:10:07,860 Saiatzen ari garelako food esleitzeko bar da. 200 00:10:07,860 --> 00:10:09,860 Hori ez da lanera joan, array bat delako, 201 00:10:09,860 --> 00:10:13,130 eta oraintxe deskribatu dugun hori ez da lege C. 202 00:10:13,130 --> 00:10:15,580 >> Horren ordez, bada nahi dugu food edukiak kopiatu 203 00:10:15,580 --> 00:10:18,070 bar, hau da, zer sartu Hemen egiten saiatzen ari gara, 204 00:10:18,070 --> 00:10:19,970 Hau bezalako sintaxia beharko genuke. 205 00:10:19,970 --> 00:10:24,170 Loop doa daukagu J-tik 0 berdinak 5era sortu da, 206 00:10:24,170 --> 00:10:28,390 eta J Kontatzailea dugu iterazio bakoitzean begizta eta horrelako elementu esleitzeko. 207 00:10:28,390 --> 00:10:33,360 Hau bar eragin litzateke, era berean, izateaz bat, bi, hiru, lau, bost, 208 00:10:33,360 --> 00:10:36,730 baina hau oso egin behar dugu elementu-by-elementu modu motela, 209 00:10:36,730 --> 00:10:40,009 ordez arabera array osoa kopiatuz. 210 00:10:40,009 --> 00:10:42,050 Beste programazioan hizkuntzetan, modernoagoa direnak, 211 00:10:42,050 --> 00:10:45,610 dezakezu, hain zuzen ere, ez besterik horren erraza sintaxia berdin. 212 00:10:45,610 --> 00:10:49,620 Baina C, zoritxarrez, ez gara Ez onartzen ez da egin behar. 213 00:10:49,620 --> 00:10:52,026 >> Orain, ez da bat bestearen gauza aipatu nahi dut 214 00:10:52,026 --> 00:10:54,650 Array buruz apur bat izan daiteke Pixka lehenengo aldia duzu delikatua 215 00:10:54,650 --> 00:10:55,990 haiekin lan. 216 00:10:55,990 --> 00:10:59,860 Eztabaidatu dugu bideo batean esparrua aldagai buruz, 217 00:10:59,860 --> 00:11:04,940 Hori C aldagai gehienak, deitzen duzunean horiek funtzio berean, balio igaro ziren. 218 00:11:04,940 --> 00:11:08,620 Gogoan al duzu zer esan nahi duen balio by zerbait pasatzeko? 219 00:11:08,620 --> 00:11:12,570 Kopia bat egiten garela esan nahi du aldagai horren batean ari gainditu. 220 00:11:12,570 --> 00:11:16,290 The callee funtzioa, funtzio hori aldakorra jasotzeko, 221 00:11:16,290 --> 00:11:17,730 ez du aldagai bera lortu. 222 00:11:17,730 --> 00:11:20,850 Bertako propioa daukala kopia berarekin lan. 223 00:11:20,850 --> 00:11:24,070 >> Arrayak, jakina, ez Ez arau hori betetzen. 224 00:11:24,070 --> 00:11:27,600 Hobeto esanda, zer deitzen dugun da joana erreferentzia. 225 00:11:27,600 --> 00:11:31,360 Callee benetan Array jasoko du. 226 00:11:31,360 --> 00:11:34,207 Ez du jasotzen bere kopia lokala izena. 227 00:11:34,207 --> 00:11:36,040 Eta pentsatzen baduzu da, zentzu honetan. 228 00:11:36,040 --> 00:11:39,750 Arrayak benetan handiak badira, hura Denbora eta ahalegina hainbeste hartzen 229 00:11:39,750 --> 00:11:44,470 multzo baten kopia bat egin 100 edo 1.000 edo 10.000 elementu, 230 00:11:44,470 --> 00:11:48,290 Ez da hori merezi duela batentzat funtzionatu kopia bat jasotzeko, 231 00:11:48,290 --> 00:11:51,037 Lan egin da, eta, ondoren, besterik den kopia batekin egin; 232 00:11:51,037 --> 00:11:53,120 ez du behar izan inguruan zintzilik da jada. 233 00:11:53,120 --> 00:11:54,710 >> Zenbait arrayak daudelako tamaina handiko eta astuna, 234 00:11:54,710 --> 00:11:56,001 pasatzeko besterik ez ditugu kontuan hartuta. 235 00:11:56,001 --> 00:12:01,210 Funtzio hori dugu fidatzen den, ez dute ezer apurtu. 236 00:12:01,210 --> 00:12:03,010 Beraz, ez du benetan array lortzeko. 237 00:12:03,010 --> 00:12:05,290 Ez du bere kopia lokala propioa lortu. 238 00:12:05,290 --> 00:12:07,170 >> Beraz, zer esan nahi du horrek, orduan, callee du 239 00:12:07,170 --> 00:12:08,970 manipulatzen array elementu? 240 00:12:08,970 --> 00:12:10,780 Zer gertatzen da? 241 00:12:10,780 --> 00:12:13,210 Oraingoz, distira zaitugu zergatik zehazki hori baino gehiago 242 00:12:13,210 --> 00:12:15,320 gertatzen, zergatik arrayak erreferentzia iragaiten 243 00:12:15,320 --> 00:12:17,810 eta beste guztia da balio igaro ziren. 244 00:12:17,810 --> 00:12:20,470 Baina, hitzematen dut, egingo dugu itzuli eta erantzuna ematen duzu 245 00:12:20,470 --> 00:12:23,750 horri geroago bideo batean. 246 00:12:23,750 --> 00:12:28,110 >> Hona hemen zuretzat ariketa bat gehiago bildu dugu, gauzak aurretik array. 247 00:12:28,110 --> 00:12:31,400 Hemen kodea sorta, hori da Ez da bereziki ona estiloa, 248 00:12:31,400 --> 00:12:33,400 besterik Oharra hori egin dut. 249 00:12:33,400 --> 00:12:36,660 Ez da, ez da iruzkinik hemen ere, zein inprimaki nahiko txarra da. 250 00:12:36,660 --> 00:12:39,750 Baina besterik ez da behar izan nuelako Dena kabitzen pantailan gai. 251 00:12:39,750 --> 00:12:44,360 >> Goialdean, ikusi ahal izango duzu dut horretan Multzo array egiteko funtzioak bi aitorpenen 252 00:12:44,360 --> 00:12:45,820 eta ezarri int. 253 00:12:45,820 --> 00:12:49,680 Multzo array itxuraz array bat hartzen du lau zenbaki osoen sarrera gisa. 254 00:12:49,680 --> 00:12:52,767 Eta multzo int itxuraz zenbaki oso bakar bat bere sarrera gisa. 255 00:12:52,767 --> 00:12:54,350 Baina biak ez irteera bat dute. 256 00:12:54,350 --> 00:12:57,689 Irteera, itzulera idazten, bakoitza hutsunea. 257 00:12:57,689 --> 00:12:59,480 Main ere, ez dugu bat Kode lerro pare. 258 00:12:59,480 --> 00:13:02,730 Osoko aldagai aldarrikatzen dugu A deitzen da eta 10 balioa esleitu. 259 00:13:02,730 --> 00:13:07,080 Lau zenbaki osoen array bat deklaratzen dugu B izeneko eta elementuen 0, 1 esleitzeko, 260 00:13:07,080 --> 00:13:08,730 2 eta 3, hurrenez hurren. 261 00:13:08,730 --> 00:13:12,190 Ondoren, dei bat ezarri behar dugu int eta dei bat array ezartzeko. 262 00:13:12,190 --> 00:13:15,910 Multzo array eta set-definizioak int behera beherago daude, behealdean. 263 00:13:15,910 --> 00:13:17,640 >> Eta, beraz, berriro, zuk eskatzen dut galdera. 264 00:13:17,640 --> 00:13:20,770 Zer lortzen inprimatutako Hemen Main amaieran? 265 00:13:20,770 --> 00:13:23,020 Ez dago inprimaketaren col bat da. Naiz bi zenbaki osoen inprimatzeko. 266 00:13:23,020 --> 00:13:28,010 Egindako naiz inprimatzeko A edukiak eta B kortxetea 0 edukia. 267 00:13:28,010 --> 00:13:29,880 Pausatu bideoa hemen eta minutu bat hartu. 268 00:13:29,880 --> 00:13:35,482 Ezin duzu irudikatu zer hau Funtzio egingo amaieran inprimatu? 269 00:13:35,482 --> 00:13:38,190 Zorionez, gogoratzen bazara egin balio pasatuz arteko bereizketa 270 00:13:38,190 --> 00:13:41,680 eta joana erreferentzia, hau Arazoa ez zen gehiegi zuretzat delikatua. 271 00:13:41,680 --> 00:13:44,130 Eta erantzuna zenituzkeen dute aurkitu da hau. 272 00:13:44,130 --> 00:13:47,660 Benetan ziur gisa ez bada zergatik Hori horrela, hartu bigarren, 273 00:13:47,660 --> 00:13:50,620 go back, berrikusi zer besterik izan dut arrayak pasatzen buruz eztabaidatzen 274 00:13:50,620 --> 00:13:53,450 erreferentzia, pasatzen versus Beste aldagai balio moduan, 275 00:13:53,450 --> 00:13:56,680 eta, zorionez, egin beharko da zentzu apur bat gehiago. 276 00:13:56,680 --> 00:13:59,760 >> Naiz Doug Lloyd, eta hau da CS50. 277 00:13:59,760 --> 00:14:01,467