1 00:00:00,000 --> 00:00:03,388 >> [MIZIK jwe] 2 00:00:03,388 --> 00:00:05,104 3 00:00:05,104 --> 00:00:06,020 Doug Lloyd: Tout dwat. 4 00:00:06,020 --> 00:00:07,680 Travay ak sèl varyab se plezi bèl. 5 00:00:07,680 --> 00:00:09,500 Men, sa ki si nou vle travay ak yon anpil nan varyab, 6 00:00:09,500 --> 00:00:12,760 men nou pa vle gen yon pakèt moun sou non diferan vole alantou Kòd nou an? 7 00:00:12,760 --> 00:00:15,980 Nan ka sa a, ranje yo se ale nan vini nan reyèlman sou la men. 8 00:00:15,980 --> 00:00:19,510 Ranje se yon done reyèlman fondamantal estrikti pou nenpòt ki lang programmation 9 00:00:19,510 --> 00:00:20,260 di ou pral sèvi. 10 00:00:20,260 --> 00:00:24,450 Apre sa, yo ap reyèlman, reyèlman itil, patikilyèman, jan nou pral wè, nan CS 50. 11 00:00:24,450 --> 00:00:27,870 >> Nou itilize ranje yo kenbe valè nan kalite la menm done 12 00:00:27,870 --> 00:00:29,830 nan kote memwa vwazen. 13 00:00:29,830 --> 00:00:32,430 Ki vle di, li nan yon fason ki nou kapab gwoup 14 00:00:32,430 --> 00:00:35,430 yon pakèt moun sou nonm antye relatif ansanm nan memwa oswa yon pakèt moun sou karaktè 15 00:00:35,430 --> 00:00:38,270 oswa flote nan memwa vrèman fèmen ansanm ak travay 16 00:00:38,270 --> 00:00:41,930 ak yo san yo pa gen bay chak youn li yo pwòp non inik, sa ki ka 17 00:00:41,930 --> 00:00:44,500 jwenn ankonbran apre yon ti tan. 18 00:00:44,500 --> 00:00:48,130 >> Koulye a, yon fason ki analogize ranje se yo reflechi sou pòs lokal ou a 19 00:00:48,130 --> 00:00:49,000 biwo pou yon dezyèm fwa. 20 00:00:49,000 --> 00:00:51,820 Se konsa, etap lwen pwogram ak jis fèmen je ou 21 00:00:51,820 --> 00:00:54,120 ak visualized nan tèt ou pòs biwo lokal ou yo. 22 00:00:54,120 --> 00:00:57,160 Anjeneral, nan pifò pòs biwo, gen nan yon bank gwo 23 00:00:57,160 --> 00:01:00,490 yon bwat biwo pòs sou miray la. 24 00:01:00,490 --> 00:01:03,510 >> Yon etalaj se yon blòk jeyan a vwazen memwa, 25 00:01:03,510 --> 00:01:06,120 menm jan an ke yon lapòs bank nan biwo pòs ou 26 00:01:06,120 --> 00:01:11,230 se yon gwo espas sou la miray nan biwo a post. 27 00:01:11,230 --> 00:01:15,750 Ranje yo te partition nan ti, idantik blòk menm gwosè ak nan espas, 28 00:01:15,750 --> 00:01:19,930 chak nan ki te rele yon eleman, nan menm fason an ki miray ranpa a nan nan post la 29 00:01:19,930 --> 00:01:23,840 Gen biwo te partition nan ti, idantik blòk menm gwosè ak nan espas, 30 00:01:23,840 --> 00:01:27,560 ki nou rele yon bwat PO. 31 00:01:27,560 --> 00:01:31,650 Chak eleman nan etalaj la kapab magazen yon sèten kantite done, 32 00:01:31,650 --> 00:01:37,540 menm jan chak bwat biwo lapòs ki toupre se kapab yo kenbe yon sèten kantite lapòs. 33 00:01:37,540 --> 00:01:41,540 >> Ki sa ki ka dwe estoke nan chak eleman nan etalaj la se varyab nan done la menm 34 00:01:41,540 --> 00:01:45,300 kalite, tankou int oswa Char, jis tankou nan ti bwat biwo lapòs ki toupre ou, 35 00:01:45,300 --> 00:01:47,300 ou ka sèlman anfòm bagay nan yon kalite ki similè yo, 36 00:01:47,300 --> 00:01:50,430 tankou lèt oswa ti pakè. 37 00:01:50,430 --> 00:01:55,050 Anfen, nou kapab jwenn aksè chak eleman nan etalaj la dirèkteman pa kantite endèks, 38 00:01:55,050 --> 00:01:59,770 menm jan nou kapab jwenn aksè biwo lapòs ki toupre nou an bwat pa konnen nimewo bwat lèt li yo. 39 00:01:59,770 --> 00:02:02,750 Èspere ke, ki analoji ede ou jwenn tèt ou 40 00:02:02,750 --> 00:02:05,540 alantou lide a nan ranje pa analogizing yon lòt bagay 41 00:02:05,540 --> 00:02:08,400 ke ou yo se pwobableman deja abitye avèk yo. 42 00:02:08,400 --> 00:02:13,182 >> Nan C, eleman ki nan yon etalaj se Catalogue kòmanse nan 0, pa soti nan 1. 43 00:02:13,182 --> 00:02:14,390 Lè sa a se reyèlman enpòtan. 44 00:02:14,390 --> 00:02:18,530 Lè an reyalite, sa a se poutèt sa nou, an CS 50, e poukisa syantis òdinatè souvan 45 00:02:18,530 --> 00:02:22,150 pral konte ki ant 0, se paske nan etalaj C a 46 00:02:22,150 --> 00:02:24,660 Indexing, ki toujou kòmanse nan 0. 47 00:02:24,660 --> 00:02:28,730 Se konsa, si yon etalaj konsiste de eleman n, eleman an premye nan ki etalaj 48 00:02:28,730 --> 00:02:32,960 sitiye nan endèks 0, ak eleman ki sot pase a nan etalaj la 49 00:02:32,960 --> 00:02:36,610 sitiye nan endèks n mwens 1. 50 00:02:36,610 --> 00:02:43,160 Yon fwa ankò, si gen nan eleman n nan nou an etalaj, dènye endèks la se n mwens 1. 51 00:02:43,160 --> 00:02:46,820 >> Se konsa, si etalaj nou an ki gen 50 eleman yo, se premye eleman ki chita nan endèks 0, 52 00:02:46,820 --> 00:02:51,060 ak eleman ki sot pase a sitiye nan endèks 49. 53 00:02:51,060 --> 00:02:53,940 Malerezman, oswa erezman, tou depann de pèspektiv ou, 54 00:02:53,940 --> 00:02:56,170 C se yon bagay ki tolerance isit la. 55 00:02:56,170 --> 00:02:59,480 Li pa pral anpeche w ale soti nan avèk limit nan etalaj ou yo. 56 00:02:59,480 --> 00:03:03,080 Ou te kapab jwenn aksè nan mwens an 3 eleman nan etalaj ou 57 00:03:03,080 --> 00:03:07,400 oswa eleman nan 59th nan etalaj ou a, si etalaj ou sèlman gen 50 eleman. 58 00:03:07,400 --> 00:03:11,060 Li pa yo ap sispann pwogram ou a soti nan konpile, men nan kouri tan, 59 00:03:11,060 --> 00:03:14,350 ou ta ka rankontre yon tèribl fòt segmentation 60 00:03:14,350 --> 00:03:17,460 si w kòmanse jwenn aksè nan memwa ki se deyò limit yo nan sa ki 61 00:03:17,460 --> 00:03:19,260 ou mande pwogram ou l 'ban nou. 62 00:03:19,260 --> 00:03:21,250 Se konsa, dwe fè atansyon. 63 00:03:21,250 --> 00:03:23,120 >> Ki sa yon etalaj deklarasyon sanble? 64 00:03:23,120 --> 00:03:26,940 Ki jan nou kode yon etalaj nan egzistans tankou nou kode nenpòt lòt varyab? 65 00:03:26,940 --> 00:03:31,250 Gen twa pati nan yon etalaj declaration-- yon kalite, yon non, 66 00:03:31,250 --> 00:03:31,880 ak yon gwosè. 67 00:03:31,880 --> 00:03:34,088 Sa a se trè menm jan ak yon varyab deklarasyon, ki 68 00:03:34,088 --> 00:03:36,970 se jis yon kalite ak yon non, eleman nan gwosè yo te 69 00:03:36,970 --> 00:03:39,860 ka a espesyal pou yon etalaj, paske nou ap resevwa yon pakèt moun sou yo 70 00:03:39,860 --> 00:03:41,830 an menm tan an. 71 00:03:41,830 --> 00:03:45,560 >> Se konsa, di ki an se ki kalite varyab ou vle chak eleman nan etalaj la yo dwe. 72 00:03:45,560 --> 00:03:47,150 Vle li nan yon etalaj de nonm antye relatif? 73 00:03:47,150 --> 00:03:49,010 Lè sa a, di ki done ou ta dwe int. 74 00:03:49,010 --> 00:03:51,760 Èske ou vle li nan dwe yon etalaj de double oswa flote? 75 00:03:51,760 --> 00:03:54,545 Done di ki ta dwe doub oswa flote. 76 00:03:54,545 --> 00:03:56,420 Non a se ki sa ou vle rele etalaj ou yo. 77 00:03:56,420 --> 00:04:00,970 Ki sa ou vle nan non sa a jeyan bank of nonm antye relatif oswa flote oswa charaktèr 78 00:04:00,970 --> 00:04:03,250 oswa double, oswa kèlkeswa sa gen ou? 79 00:04:03,250 --> 00:04:04,700 Ki sa ou vle rele li? 80 00:04:04,700 --> 00:04:06,110 Joli pwòp tèt ou eksplikasyon. 81 00:04:06,110 --> 00:04:08,610 >> Anfen, gwosè, ki ale andedan nan parantèz kare, 82 00:04:08,610 --> 00:04:12,180 se ki jan anpil eleman ou ta tankou etalaj ou a ki genyen. 83 00:04:12,180 --> 00:04:13,530 Konbyen nonm antye relatif ou vle a? 84 00:04:13,530 --> 00:04:15,570 Konbyen flote ou vle a? 85 00:04:15,570 --> 00:04:19,070 >> Se konsa, pou egzanp, int klas elèv 40. 86 00:04:19,070 --> 00:04:26,020 Sa a deklare yon etalaj rele Elèv klas, ki gen ladann 40 nonm antye relatif. 87 00:04:26,020 --> 00:04:28,180 Joli eksplikasyon pwòp tèt ou, Mwen espere. 88 00:04:28,180 --> 00:04:29,330 Isit la nan yon lòt egzanp. 89 00:04:29,330 --> 00:04:31,560 Pri meni Double 8. 90 00:04:31,560 --> 00:04:34,610 Sa vin kreye yon etalaj rele Pri Menu, ki gen ladann 91 00:04:34,610 --> 00:04:38,300 nan chanm nan memwa pou uit double. 92 00:04:38,300 --> 00:04:42,000 93 00:04:42,000 --> 00:04:45,750 >> Si ou panse nan chak eleman a yon etalaj de kalite done-kalite, 94 00:04:45,750 --> 00:04:49,860 se konsa pou egzanp, yon eleman sèl nan yon etalaj de kalite int, menm jan an ou 95 00:04:49,860 --> 00:04:52,770 ta panse nan nenpòt ki lòt varyab nan kalite int, 96 00:04:52,770 --> 00:04:56,440 tout operasyon yo abitye ke nou diskite deja nan operasyon yo 97 00:04:56,440 --> 00:04:58,270 videyo pral fè sans. 98 00:04:58,270 --> 00:05:01,620 Se konsa, isit, nou te ka deklare yon etalaj a Booleans rele Truthtable, 99 00:05:01,620 --> 00:05:05,590 ki gen ladann plas pou 10 Booleans. 100 00:05:05,590 --> 00:05:09,650 >> Apre sa, lè sa a, jis tankou nou te kapab jis bay se yon valè nan nenpòt lòt varyab nan kalite 101 00:05:09,650 --> 00:05:13,470 Boolean, nou te ka di yon bagay tankou Truthtable bracket kare 102 00:05:13,470 --> 00:05:18,040 2, ki se ki jan nou endike, ki eleman nan tablo a verite? 103 00:05:18,040 --> 00:05:20,350 Eleman nan twa moun ki sou la tab verite, paske sonje, 104 00:05:20,350 --> 00:05:21,800 nou ap konte soti nan 0. 105 00:05:21,800 --> 00:05:25,690 Se konsa, sa a, se ki jan nou endike nan twazyèm eleman nan tablo a verite a. 106 00:05:25,690 --> 00:05:28,680 Truthtable 2 egal fo, jis tankou nou te ka declare-- 107 00:05:28,680 --> 00:05:33,560 oswa nou te ka bay, olye, nenpòt Boolean varyab kalite yo dwe fo. 108 00:05:33,560 --> 00:05:35,050 >> Nou kapab tou sèvi ak li nan kondisyon. 109 00:05:35,050 --> 00:05:39,000 si (truthtable 7 == vre), ki se vle di, 110 00:05:39,000 --> 00:05:42,370 si eleman nan wityèm a Truthtable se vre, 111 00:05:42,370 --> 00:05:46,760 petèt nou vle enprime yon mesaj itilizatè a, printf ("VRÈ N!") ;. 112 00:05:46,760 --> 00:05:50,290 Ki lakòz nou yo di Truthtable 10 egal vre, dwa? 113 00:05:50,290 --> 00:05:53,590 Bon, mwen kapab, men li a trè danjere, paske sonje, 114 00:05:53,590 --> 00:05:56,260 nou gen yon etalaj de 10 Booleans. 115 00:05:56,260 --> 00:06:02,340 Se konsa, endèks ki pi wo a ki nan te ban nou du se 9. 116 00:06:02,340 --> 00:06:06,010 >> Pwogram sa a ap konpile, men si yon lòt bagay nan memwa 117 00:06:06,010 --> 00:06:09,110 egziste kote nou ta espere Truthtable 10 yo ale, 118 00:06:09,110 --> 00:06:13,980 nou te ka soufri yon fay segmentation. Nou ta ka jwenn lwen ak li, men an jeneral, 119 00:06:13,980 --> 00:06:14,710 bèl danjere. 120 00:06:14,710 --> 00:06:19,759 Se konsa, sa m ap fè isit la se C legal, men se pa nesesèman deplase nan pi byen. 121 00:06:19,759 --> 00:06:22,300 Koulye a, lè ou deklare ak inisyalize yon etalaj ansanm, 122 00:06:22,300 --> 00:06:23,960 gen nan aktyèlman yon trè sentaks espesyal ke ou 123 00:06:23,960 --> 00:06:26,250 ka itilize yo ranpli moute etalaj la ak valè kòmanse li yo. 124 00:06:26,250 --> 00:06:30,130 Li ka jwenn ankonbran yo deklare yon etalaj de gwosè 100, 125 00:06:30,130 --> 00:06:33,430 ak Lè sa a te vle di, eleman 0 egal sa a; eleman 1 egal sa a; 126 00:06:33,430 --> 00:06:34,850 eleman 2 egal sa. 127 00:06:34,850 --> 00:06:36,370 Ki sa ki nan pwen an, dwa? 128 00:06:36,370 --> 00:06:39,470 >> Si li nan yon etalaj piti, ou ta ka fè yon bagay tankou sa a. 129 00:06:39,470 --> 00:06:44,360 Bouleen truthtable 3 egal louvri Curly atèl ak Lè sa a vigil 130 00:06:44,360 --> 00:06:48,060 separe lis la nan eleman ke ou vle mete nan etalaj la. 131 00:06:48,060 --> 00:06:50,520 Lè sa a, fèmen Curly atèl virgules. 132 00:06:50,520 --> 00:06:53,910 Sa vin kreye yon etalaj de gwosè twa rele Truthtable, 133 00:06:53,910 --> 00:06:56,090 ak eleman fo, vre, epi vre. 134 00:06:56,090 --> 00:06:59,270 Ak an reyalite, enstansyasyon nan sentaks mwen gen isit la se 135 00:06:59,270 --> 00:07:03,350 egzakteman menm jan fè nan endividyèl sentaks eleman pi ba pase. 136 00:07:03,350 --> 00:07:09,380 De fason sa yo nan kodaj ta pwodwi etalaj la egzak menm. 137 00:07:09,380 --> 00:07:11,740 >> Menm jan an tou, nou te ka repekte sou tout nan eleman yo 138 00:07:11,740 --> 00:07:15,400 a lè l sèvi avèk yon etalaj yon bouk, ki, nan reyalite, se yon trè rekòmande seryezman pou 139 00:07:15,400 --> 00:07:16,790 at-lakay fè egzèsis. 140 00:07:16,790 --> 00:07:20,720 Ki jan ou fè kreye yon etalaj nan 100 nonm antye relatif, kote 141 00:07:20,720 --> 00:07:23,477 chak eleman nan etalaj la se endèks li yo? 142 00:07:23,477 --> 00:07:26,560 Se konsa, pou egzanp, nou gen yon etalaj de 100 nonm antye relatif, ak nan eleman a an premye, 143 00:07:26,560 --> 00:07:27,790 nou vle mete 0. 144 00:07:27,790 --> 00:07:29,810 Nan eleman, dezyèm lan, nou vle mete 1. 145 00:07:29,810 --> 00:07:33,319 Nan eleman nan twazyèm, nou vle yo mete 2; ak sou sa ak sou sa. 146 00:07:33,319 --> 00:07:35,360 Sa se yon reyèlman bon at-lakay fè egzèsis fè sa. 147 00:07:35,360 --> 00:07:38,190 148 00:07:38,190 --> 00:07:40,220 >> Isit la, li pa gade tankou twòp te chanje. 149 00:07:40,220 --> 00:07:44,170 Men, remake ke nan ant a parantèz kare, tan sa a, 150 00:07:44,170 --> 00:07:45,830 Mwen te aktyèlman omisyon nimewo a. 151 00:07:45,830 --> 00:07:48,000 Si w ap lè l sèvi avèk sa a anpil enstansyasyon espesyal 152 00:07:48,000 --> 00:07:50,380 sentaks yo kreye yon etalaj, ou aktyèlman pa fè sa 153 00:07:50,380 --> 00:07:53,491 bezwen endike gwosè a nan etalaj la davans. 154 00:07:53,491 --> 00:07:55,740 Du a se entelijan ase konnen ke ou aktyèlman 155 00:07:55,740 --> 00:07:58,980 vle yon etalaj de gwosè 3, paske ou mete twa eleman 156 00:07:58,980 --> 00:08:00,640 a dwat a siy ki egal-ego. 157 00:08:00,640 --> 00:08:04,140 Si ou te mete kat, li ta gen ban nou yon tab verite nan gwosè kat; 158 00:08:04,140 --> 00:08:06,270 ak sou sa ak sou sa. 159 00:08:06,270 --> 00:08:09,380 >> Ranje pa gen restriksyon nan yon sèl dimansyon, ki se trè fre. 160 00:08:09,380 --> 00:08:12,000 Ou ka gen aktyèlman kòm anpil prèskripteur bò jan ou vle. 161 00:08:12,000 --> 00:08:16,470 Se konsa, pou egzanp, si ou vle kreye yon tablo pou jwèt kwirase a, ki, 162 00:08:16,470 --> 00:08:20,910 si ou te janm te jwe, se yon jwèt ki se te jwe ak pikèt sou 10 an pa 10 griy, 163 00:08:20,910 --> 00:08:22,450 ou te kapab kreye yon etalaj tankou sa a. 164 00:08:22,450 --> 00:08:26,030 Ou te kapab di bouleen kwirase bracket kare 10 165 00:08:26,030 --> 00:08:29,590 fèmen kare bracket kare bracket 10 fèmen bracket kare. 166 00:08:29,590 --> 00:08:32,710 >> Apre sa, lè sa a, ou ka chwazi yo entèprete sa a nan tèt ou kòm yon 10 167 00:08:32,710 --> 00:08:35,576 pa 10 kadriyaj nan selil yo. 168 00:08:35,576 --> 00:08:37,409 Koulye a, an reyalite, nan memwa, li vrèman fè jis 169 00:08:37,409 --> 00:08:42,440 rete yon eleman 100, sèl etalaj dimansyon. 170 00:08:42,440 --> 00:08:46,070 Lè sa a, an reyalite, ale pou si ou gen twa dimansyon oswa kat oswa senk. 171 00:08:46,070 --> 00:08:49,420 Li reyèlman jis anpil anpil pitit tout nan indices-- nan 172 00:08:49,420 --> 00:08:51,130 oswa tout nan gwosè a specifiers-- ansanm, 173 00:08:51,130 --> 00:08:53,480 epi ou jis jwenn yon yon sèl-dimansyon etalaj de ki gwosè. 174 00:08:53,480 --> 00:08:57,090 >> Men, an tèm nan ak òganizasyon vizyalizasyon ak pèsepsyon imen, 175 00:08:57,090 --> 00:08:59,240 li kapab yon anpil pi fasil yo travay avèk yon griy 176 00:08:59,240 --> 00:09:02,980 si w ap travay sou yon jwèt tankou Tic-TAC-zòtèy oswa kwirase, 177 00:09:02,980 --> 00:09:05,179 oswa yon bagay tankou sa. 178 00:09:05,179 --> 00:09:06,970 Li se yon gwo distraksyon, olye pou yo gen 179 00:09:06,970 --> 00:09:09,340 yo reflechi sou yon Tic-TAC-zòtèy tablo kòm yon liy nan nèf 180 00:09:09,340 --> 00:09:13,810 kare oswa yon tablo kwirase kòm yon liy nan 100 kare. 181 00:09:13,810 --> 00:09:16,010 Yon 10 pa 10 kadriyaj oswa yon twa pa twa kadriyaj se pwobableman 182 00:09:16,010 --> 00:09:17,225 yon anpil plis fasil yo wè. 183 00:09:17,225 --> 00:09:19,820 184 00:09:19,820 --> 00:09:22,280 >> Koulye a, yon bagay ki reyèlman enpòtan sou ranje. 185 00:09:22,280 --> 00:09:25,950 Nou ka trete chak moun eleman nan etalaj la kòm yon varyab. 186 00:09:25,950 --> 00:09:27,700 Nou te wè ke pi bonè lè nou te plase 187 00:09:27,700 --> 00:09:32,240 valè a vre nan sèten Booleans oswa tès yo nan kondisyonal. 188 00:09:32,240 --> 00:09:35,960 Men, nou pa ka trete tout ranje tèt yo kòm varyab. 189 00:09:35,960 --> 00:09:41,760 Nou pa ka, pou egzanp, bay yon sèl etalaj nan yon lòt lè l sèvi avèk etalaj plasman an 190 00:09:41,760 --> 00:09:42,930 operatè. 191 00:09:42,930 --> 00:09:44,640 Li pa legal C. 192 00:09:44,640 --> 00:09:47,920 >> Si nou vle, pou example-- sa nou ta dwe ap fè nan ki egzanp 193 00:09:47,920 --> 00:09:50,200 ta dwe kapab bay kopi youn etalaj nan yon lòt. 194 00:09:50,200 --> 00:09:53,810 Si nou vle fè sa, nou aktyèlman bezwen sèvi ak yon riban a kapab bay kopi sou 195 00:09:53,810 --> 00:09:56,550 chak eleman endividyèl yon sèl nan yon tan. 196 00:09:56,550 --> 00:09:58,700 Mwen konnen li nan yon ti tan konsome. 197 00:09:58,700 --> 00:10:04,022 >> Se konsa, pou egzanp, si nou te gen sa yo koup nan liy nan kòd, ta travay sa a? 198 00:10:04,022 --> 00:10:05,230 Oke, pa gen okenn, li pa t 'vle, dwa? 199 00:10:05,230 --> 00:10:07,860 Paske nou ap eseye yo asiyen manje yo ba. 200 00:10:07,860 --> 00:10:09,860 Sa pa k ap pase nan travay, paske li nan yon etalaj, 201 00:10:09,860 --> 00:10:13,130 epi nou jis dekri ki sa a, se pa legal C. 202 00:10:13,130 --> 00:10:15,580 >> Olye de sa, si nou vle kopi sa ki nan manje 203 00:10:15,580 --> 00:10:18,070 an ba, ki se sa ki nou ap eseye fè isit la, 204 00:10:18,070 --> 00:10:19,970 nou ta bezwen yon sentaks tankou sa a. 205 00:10:19,970 --> 00:10:24,170 Nou gen yon pou riban ki ale soti nan J ki egal a 0 jiska 5, 206 00:10:24,170 --> 00:10:28,390 epi nou kantite J sou chak iterasyon nan bouk la ak eleman asiyen tankou sa. 207 00:10:28,390 --> 00:10:33,360 Sa a ta rezilta nan ba tou yo te youn, de, twa, kat, senk, 208 00:10:33,360 --> 00:10:36,730 men nou gen fè li sa a trè ralanti eleman-pa-eleman fason, 209 00:10:36,730 --> 00:10:40,009 olye pou yo pa jis kopye etalaj la tout antye. 210 00:10:40,009 --> 00:10:42,050 Nan lòt pwogram lang, yo menm plis modèn, 211 00:10:42,050 --> 00:10:45,610 ou ka, an reyalite, fè sèlman sa ki senp egal sentaks. 212 00:10:45,610 --> 00:10:49,620 Men, C, malerezman, nou ap yo pa pèmèt yo fè sa. 213 00:10:49,620 --> 00:10:52,026 >> Koulye a, gen nan yon lòt bagay mwen vle mansyone 214 00:10:52,026 --> 00:10:54,650 sou ranje ki kapab yon ti kras ti jan difisil premye fwa a ou 215 00:10:54,650 --> 00:10:55,990 travay avèk yo. 216 00:10:55,990 --> 00:10:59,860 Nou te diskite nan yon videyo sou sijè ki abòde varyab ★ 217 00:10:59,860 --> 00:11:04,940 ki pi fò varyab nan C, lè ou rele yo nan fonksyon, yo pase bò valè. 218 00:11:04,940 --> 00:11:08,620 Ou sonje sa li vle di yo pase yon bagay pa valè? 219 00:11:08,620 --> 00:11:12,570 Sa vle di nou ap fè yon kopi nan varyab ki nan ke yo te pase nan. 220 00:11:12,570 --> 00:11:16,290 Fonksyon an aple, fonksyon an ki nan k ap resevwa varyab la, 221 00:11:16,290 --> 00:11:17,730 pa jwenn varyab nan tèt li. 222 00:11:17,730 --> 00:11:20,850 Li vin pwòp lokal li kopi li nan travay avèk yo. 223 00:11:20,850 --> 00:11:24,070 >> Ranje, nan kou, fè pa swiv règleman sa-a. 224 00:11:24,070 --> 00:11:27,600 Olye de sa, sa a sa nou rele ap pase pa referans. 225 00:11:27,600 --> 00:11:31,360 Aple a aktyèlman resevwa etalaj la. 226 00:11:31,360 --> 00:11:34,207 Li pa resevwa li yo pwòp kopi lokal nan li. 227 00:11:34,207 --> 00:11:36,040 Men, si ou panse osijè de li, sa a fè sans. 228 00:11:36,040 --> 00:11:39,750 Si ranje yo se reyèlman gwo, li pran anpil tan ak efò 229 00:11:39,750 --> 00:11:44,470 fè yon kopi yon etalaj de 100 oswa 1,000 oswa 10,000 eleman, 230 00:11:44,470 --> 00:11:48,290 ke li nan pa vo li pou yon fonksyone resevwa yon kopi li, 231 00:11:48,290 --> 00:11:51,037 fè kèk travay ak li, ak Lè sa a jis dwe fè ak kopi a; 232 00:11:51,037 --> 00:11:53,120 li pa bezwen gen li pandye alantou ankò. 233 00:11:53,120 --> 00:11:54,710 >> Paske ranje yo se kèk ki men gwosè ak ankonbran, 234 00:11:54,710 --> 00:11:56,001 nou jis pase yo pa referans. 235 00:11:56,001 --> 00:12:01,210 Nou jis mete konfyans ke fonksyon a, pa kraze anyen. 236 00:12:01,210 --> 00:12:03,010 Se konsa, li aktyèlman jwenn etalaj la. 237 00:12:03,010 --> 00:12:05,290 Li pa jwenn pwòp li yo kopi lokal nan li. 238 00:12:05,290 --> 00:12:07,170 >> Se konsa, sa sa a vle di, lè sa a, lè aple a 239 00:12:07,170 --> 00:12:08,970 manipul eleman nan etalaj la? 240 00:12:08,970 --> 00:12:10,780 Sak pase? 241 00:12:10,780 --> 00:12:13,210 Pou kounye a, nou pral enteprete sou poukisa egzakteman sa a 242 00:12:13,210 --> 00:12:15,320 k ap pase, poukisa ranje yo pase pa referans 243 00:12:15,320 --> 00:12:17,810 ak tout lòt bagay se te pase pa valè. 244 00:12:17,810 --> 00:12:20,470 Men, mwen te pwomèt ou, n ap retounen ak ba ou repons lan 245 00:12:20,470 --> 00:12:23,750 nan sa a nan yon videyo pi ta. 246 00:12:23,750 --> 00:12:28,110 >> Isit la nan yon sèl plis fè egzèsis pou ou anvan nou vlope moute bagay sa yo sou ranje. 247 00:12:28,110 --> 00:12:31,400 Pakèt moun an nan Kòd isit la, sa a, se pa patikilyèman bon style, 248 00:12:31,400 --> 00:12:33,400 jis mwen pral fè ki opozisyon. 249 00:12:33,400 --> 00:12:36,660 Gen nan pa gen kòmantè nan isit la, ki se trè move fòm. 250 00:12:36,660 --> 00:12:39,750 Men, li la sèlman paske mwen te vle fè kapab anfòm tout bagay sou ekran an. 251 00:12:39,750 --> 00:12:44,360 >> Nan tèt la, ou ka wè ke mwen gen de deklarasyon fonksyon pou etalaj seri 252 00:12:44,360 --> 00:12:45,820 , li mete int. 253 00:12:45,820 --> 00:12:49,680 Etalaj Mete aparamman pran yon etalaj nan kat nonm antye relatif kòm opinyon li yo. 254 00:12:49,680 --> 00:12:52,767 , Li mete int aparamman pran yon nonb antye relatif sèl kòm opinyon li yo. 255 00:12:52,767 --> 00:12:54,350 Men, tou de peyi yo pa gen yon pwodiksyon. 256 00:12:54,350 --> 00:12:57,689 Pwodiksyon an, retounen nan tape, nan se chak moun anile. 257 00:12:57,689 --> 00:12:59,480 Nan Main, nou gen yon koup la liy nan kòd. 258 00:12:59,480 --> 00:13:02,730 Nou deklare yon varyab nonb antye relatif rele A ak bay li valè a 10. 259 00:13:02,730 --> 00:13:07,080 Nou deklare yon etalaj de nonm antye relatif kat rele B ak bay eleman yo 0, 1, 260 00:13:07,080 --> 00:13:08,730 2, ak 3, respektivman. 261 00:13:08,730 --> 00:13:12,190 Lè sa a, nou gen yon apèl yo mete int ak yon apèl yo mete etalaj. 262 00:13:12,190 --> 00:13:15,910 Definisyon ki nan mete etalaj, li mete int yo desann anba a, nan pati anba nan. 263 00:13:15,910 --> 00:13:17,640 >> Se konsa, ankò, mwen mande w kesyon an. 264 00:13:17,640 --> 00:13:20,770 Ki sa ki vin enprime soti isit la nan fen Main? 265 00:13:20,770 --> 00:13:23,020 Genyen yon kopi enprime col. Mwen se enprime soti de nonm antye relatif. 266 00:13:23,020 --> 00:13:28,010 Mwen enprime soti sa ki nan A ak sa ki nan B kare bracket 0. 267 00:13:28,010 --> 00:13:29,880 Pran yon ti pòz videyo a isit la epi pran yon minit. 268 00:13:29,880 --> 00:13:35,482 Èske ou ka figi konnen ki sa sa a fonksyon pral enprime nan fen a? 269 00:13:35,482 --> 00:13:38,190 Nou swete ke, si ou sonje nan diferans ant pase pa valè 270 00:13:38,190 --> 00:13:41,680 yo, e pase pa referans, sa a pwoblèm pa t 'twò difisil pou ou. 271 00:13:41,680 --> 00:13:44,130 Apre sa, repons lan ou ta yo te jwenn se sa a. 272 00:13:44,130 --> 00:13:47,660 Si ou se pa reyèlman asire w ke yo poukisa sa a, se ka a, pran yon dezyèm fwa, 273 00:13:47,660 --> 00:13:50,620 tounen, revize ki sa mwen te jis diskite sou pase ranje 274 00:13:50,620 --> 00:13:53,450 pa referans, kont pase lòt varyab pa valè, 275 00:13:53,450 --> 00:13:56,680 ak èspere ke, li pral fè yon ti jan plis sans. 276 00:13:56,680 --> 00:13:59,760 >> Mwen se Doug Lloyd, e sa se CS50. 277 00:13:59,760 --> 00:14:01,467