1 00:00:00,000 --> 00:00:03,388 >> [Мусиц плаиинг] 2 00:00:03,388 --> 00:00:05,104 3 00:00:05,104 --> 00:00:06,020 Даг Ллоид: У реду. 4 00:00:06,020 --> 00:00:07,680 Рад са једним варијабле је прилично забавно. 5 00:00:07,680 --> 00:00:09,500 Али шта ако желимо да радимо са много варијабли, 6 00:00:09,500 --> 00:00:12,760 али ми не желимо да имамо гомилу различита имена лети око нашег кода? 7 00:00:12,760 --> 00:00:15,980 У овом случају, низови су ће доћи у заиста згодно. 8 00:00:15,980 --> 00:00:19,510 Низови су заиста основни подаци структура за сваку програмског језика 9 00:00:19,510 --> 00:00:20,260 да ћете користити. 10 00:00:20,260 --> 00:00:24,450 И они су стварно, стварно корисна, посебно, као што ћемо видети, у ЦС 50. 11 00:00:24,450 --> 00:00:27,870 >> Ми користимо низова држати вредности исте врсте података 12 00:00:27,870 --> 00:00:29,830 у сусједних меморијских локација. 13 00:00:29,830 --> 00:00:32,430 То јест, то је начин на који можемо група 14 00:00:32,430 --> 00:00:35,430 гомила целих бројева заједно у меморија или гомила ликова 15 00:00:35,430 --> 00:00:38,270 или плута у меморији стварно затворити заједно и рад 16 00:00:38,270 --> 00:00:41,930 са њима без потребе да дати сваком један сопствени јединствено име, које могу 17 00:00:41,930 --> 00:00:44,500 гет гломазна после неко време. 18 00:00:44,500 --> 00:00:48,130 >> Сада, један од начина да успостави аналогију низова је да размислите о вашем локалном пост 19 00:00:48,130 --> 00:00:49,000 Канцеларија за секунду. 20 00:00:49,000 --> 00:00:51,820 Дакле, корак даље од програмирања и само затвори очи 21 00:00:51,820 --> 00:00:54,120 и визуализацију у вашем уму ваша локална пошта. 22 00:00:54,120 --> 00:00:57,160 Обично, у већини пост канцеларије, постоји велика банка 23 00:00:57,160 --> 00:01:00,490 пошта кутије на зиду. 24 00:01:00,490 --> 00:01:03,510 >> Низ је огроман блок од целовите меморије, 25 00:01:03,510 --> 00:01:06,120 на исти начин да пошта банка у својој пошти 26 00:01:06,120 --> 00:01:11,230 је велики простор на зид пошти. 27 00:01:11,230 --> 00:01:15,750 Низови су подељена у мала, идентично величине блокова простора, 28 00:01:15,750 --> 00:01:19,930 сваки од њих се назива елемент, ин на исти начин да је зид пост 29 00:01:19,930 --> 00:01:23,840 Канцеларија је подељен на мале, идентично величине блокова простора, 30 00:01:23,840 --> 00:01:27,560 коју зовемо ПО Бок. 31 00:01:27,560 --> 00:01:31,650 Сваки елемент низа може складиштити одређену количину података, 32 00:01:31,650 --> 00:01:37,540 баш као што свака поштанског претинца је у стању да одржи одређену количину поште. 33 00:01:37,540 --> 00:01:41,540 >> Шта се може чувати у сваком елементу Низ је променљиве истог података 34 00:01:41,540 --> 00:01:45,300 тип, као што је инт или цхар, само као у својој посте рестанте, 35 00:01:45,300 --> 00:01:47,300 може да стане само ствари сличног типа, 36 00:01:47,300 --> 00:01:50,430 као што су писма или малим паковањима. 37 00:01:50,430 --> 00:01:55,050 На крају, можемо приступити сваки елемент Низ директно број индекса, 38 00:01:55,050 --> 00:01:59,770 баш као што можете да приступите нашем пошту бок знајући његов број поштанско сандуче. 39 00:01:59,770 --> 00:02:02,750 Надам се, да аналогија ће вам помоћи да спусти главу 40 00:02:02,750 --> 00:02:05,540 око идеје низова од аналогизинг на нешто друго 41 00:02:05,540 --> 00:02:08,400 да сте вероватно упознат. 42 00:02:08,400 --> 00:02:13,182 >> У Ц, елементи низа су индексиран почевши од 0, не од 1. 43 00:02:13,182 --> 00:02:14,390 И ово је стварно важно. 44 00:02:14,390 --> 00:02:18,530 И у ствари, то је разлог зашто смо у ЦС 50, И зашто научници често компјутерски 45 00:02:18,530 --> 00:02:22,150 ће се рачунати од 0, је због низа Ц је 46 00:02:22,150 --> 00:02:24,660 индексирање, који увек почиње од 0. 47 00:02:24,660 --> 00:02:28,730 Дакле, ако низ састоји од н елемената, први елемент тог низа 48 00:02:28,730 --> 00:02:32,960 се налази на индекс 0, и последњи елемент низа 49 00:02:32,960 --> 00:02:36,610 се налази на индекс н минус 1. 50 00:02:36,610 --> 00:02:43,160 Опет, ако има н елемената у нашој арраи последњи индекс је н минус 1. 51 00:02:43,160 --> 00:02:46,820 >> Дакле, ако наша низ има 50 елемената, Први елемент се налази на индекс 0, 52 00:02:46,820 --> 00:02:51,060 а последњи елемент се налази на индекс 49. 53 00:02:51,060 --> 00:02:53,940 Нажалост, или на срећу, у зависности од ваше перспективе, 54 00:02:53,940 --> 00:02:56,170 Ц је веома блага овде. 55 00:02:56,170 --> 00:02:59,480 То вас неће спречити иде изван граница свог поља. 56 00:02:59,480 --> 00:03:03,080 Можете да приступите минус 3 елемент вашег низа 57 00:03:03,080 --> 00:03:07,400 или 59. елемент вашег низа, ако ваш низ има само 50 елемената. 58 00:03:07,400 --> 00:03:11,060 То неће зауставити свој програм из састављање, али у време извршавања, 59 00:03:11,060 --> 00:03:14,350 можете наићи на страшни Сегментатион фаулт 60 00:03:14,350 --> 00:03:17,460 ако почнете да приступи меморији да је изван граница онога што 61 00:03:17,460 --> 00:03:19,260 питао си свог програма да ти дам. 62 00:03:19,260 --> 00:03:21,250 Тако да будите опрезни. 63 00:03:21,250 --> 00:03:23,120 >> Шта низ Декларација изгледати? 64 00:03:23,120 --> 00:03:26,940 Како да кодира низ у постојање Као да кодира било која друга променљива? 65 00:03:26,940 --> 00:03:31,250 Постоје три делови за низ децларатион-- тип, име, 66 00:03:31,250 --> 00:03:31,880 и величине. 67 00:03:31,880 --> 00:03:34,088 Ово је веома сличан променљива декларација, која 68 00:03:34,088 --> 00:03:36,970 је само тип и име, величина елемент је 69 00:03:36,970 --> 00:03:39,860 Посебан случај за низ, јер добијамо гомилу њих 70 00:03:39,860 --> 00:03:41,830 истовремено. 71 00:03:41,830 --> 00:03:45,560 >> Дакле, тип је какав променљивој Желим сваки елемент низа да буде. 72 00:03:45,560 --> 00:03:47,150 Да желе да низ целих бројева? 73 00:03:47,150 --> 00:03:49,010 Затим, ваш тип података треба да буде Инт. 74 00:03:49,010 --> 00:03:51,760 Да ли желите да то буде низ дублу или сплавова? 75 00:03:51,760 --> 00:03:54,545 Тип података би требало да буде дупло или флоат. 76 00:03:54,545 --> 00:03:56,420 Име је шта Желим да позовем свој низ. 77 00:03:56,420 --> 00:04:00,970 Шта желите да име овог великана банка целини или сплавова или карактера 78 00:04:00,970 --> 00:04:03,250 или дубл, или шта год имате? 79 00:04:03,250 --> 00:04:04,700 Шта желите да га зовем? 80 00:04:04,700 --> 00:04:06,110 Прилично само себи. 81 00:04:06,110 --> 00:04:08,610 >> На крају, величина, који иде унутар заградама, 82 00:04:08,610 --> 00:04:12,180 је колико елементи које би као и твој низ садржи. 83 00:04:12,180 --> 00:04:13,530 Колико целих бројева хоћеш? 84 00:04:13,530 --> 00:04:15,570 Колико плута хоћеш? 85 00:04:15,570 --> 00:04:19,070 >> Тако, на пример, инт студентске разреда 40. 86 00:04:19,070 --> 00:04:26,020 Ово декларише низ називом Студентска оцене, које се састоји од 40 целих бројева. 87 00:04:26,020 --> 00:04:28,180 Прилично разумљива, надам се. 88 00:04:28,180 --> 00:04:29,330 Ево још једног примера. 89 00:04:29,330 --> 00:04:31,560 Доубле цене Мени 8. 90 00:04:31,560 --> 00:04:34,610 То ствара низ називом Мени цене, које се састоји 91 00:04:34,610 --> 00:04:38,300 простора у меморији за осам парова. 92 00:04:38,300 --> 00:04:42,000 93 00:04:42,000 --> 00:04:45,750 >> Ако мислите да сваког елемента од низа типа података типа, 94 00:04:45,750 --> 00:04:49,860 тако за пример, један елемент низ типа инт, исто тако вам 95 00:04:49,860 --> 00:04:52,770 би пало на памет било који други променљива типа инт, 96 00:04:52,770 --> 00:04:56,440 сви познати операције да смо ми разговарало раније у операција 97 00:04:56,440 --> 00:04:58,270 Видео имати смисла. 98 00:04:58,270 --> 00:05:01,620 Дакле, овде смо могли прогласити низ од логичке називају Трутхтабле, 99 00:05:01,620 --> 00:05:05,590 који се састоји од просторије за 10 логичке. 100 00:05:05,590 --> 00:05:09,650 >> А онда, баш као што смо могли да додели вредност на било који други променљиву типа 101 00:05:09,650 --> 00:05:13,470 Булова, могли бисмо рећи нешто као Трутхтабле квадратном конзоле 102 00:05:13,470 --> 00:05:18,040 2, што је како указују, који елемент стола истине? 103 00:05:18,040 --> 00:05:20,350 Трећи елемент сто истина, јер запамти, 104 00:05:20,350 --> 00:05:21,800 раиунамо од 0. 105 00:05:21,800 --> 00:05:25,690 Дакле, то је како смо указују на Трећи елемент табеле истине. 106 00:05:25,690 --> 00:05:28,680 Трутхтабле 2 једнако лажна, баш као што смо могли да децларе-- 107 00:05:28,680 --> 00:05:33,560 или смо могли доделити, напротив, било Булова променљива типа да је лажна. 108 00:05:33,560 --> 00:05:35,050 >> Такође га можете користити у условима. 109 00:05:35,050 --> 00:05:39,000 иф (трутхтабле 7 == истина), што значи, 110 00:05:39,000 --> 00:05:42,370 ако осмог елемента од Трутхтабле је истина, 111 00:05:42,370 --> 00:05:46,760 Можда желимо да одштампате поруку кориснику, принтф ("ИСТИНА! н") ;. 112 00:05:46,760 --> 00:05:50,290 То нас доводи да кажем Трутхтабле 10 износи истина, зар не? 113 00:05:50,290 --> 00:05:53,590 Па, ја могу, али прилично је опасно, јер запамти, 114 00:05:53,590 --> 00:05:56,260 имамо низ од 10 логичке. 115 00:05:56,260 --> 00:06:02,340 Дакле, највиши индекс да преводилац дао нам је 9. 116 00:06:02,340 --> 00:06:06,010 >> Овај програм ће саставити, али ако нешто друго у меморији 117 00:06:06,010 --> 00:06:09,110 постоји где бисмо Очекујем Трутхтабле 10 да оде, 118 00:06:09,110 --> 00:06:13,980 можемо претрпети сегментације грешку. Ми Можда се извући са тим, али генерално, 119 00:06:13,980 --> 00:06:14,710 прилично опасно. 120 00:06:14,710 --> 00:06:19,759 Па шта ја радим овде је правно Ц али не нужно најбољи потез. 121 00:06:19,759 --> 00:06:22,300 Сада, када прогласи и инитиализе низ истовремено, 122 00:06:22,300 --> 00:06:23,960 заправо постоји прилично Посебан синтакса која вас 123 00:06:23,960 --> 00:06:26,250 Можете користити да попуни низ са својим почетним вредностима. 124 00:06:26,250 --> 00:06:30,130 То може добити гломазан да прогласити низ величине 100, 125 00:06:30,130 --> 00:06:33,430 и онда морам да кажем, елеменат 0 једнако ово; Елемент 1 једнако ово; 126 00:06:33,430 --> 00:06:34,850 Елемент 2 једнако томе. 127 00:06:34,850 --> 00:06:36,370 У чему је поента, зар не? 128 00:06:36,370 --> 00:06:39,470 >> Ако је мали низ, ви могао учинити нешто овако. 129 00:06:39,470 --> 00:06:44,360 Боол трутхтабле 3 једнака отворен коврџава заграда и онда запета 130 00:06:44,360 --> 00:06:48,060 раздвојити списак елемената који желите да поставите у низу. 131 00:06:48,060 --> 00:06:50,520 Затим затворите коврџаву браце зарез. 132 00:06:50,520 --> 00:06:53,910 То ствара низ Величина три зове Трутхтабле, 133 00:06:53,910 --> 00:06:56,090 са елементима лажна, истина, и истина. 134 00:06:56,090 --> 00:06:59,270 И у ствари, примерна синтакса имам овде 135 00:06:59,270 --> 00:07:03,350 исто као што ћете урадити појединац елеменат синтакса испод. 136 00:07:03,350 --> 00:07:09,380 Ова два начина кодирања воулд произвести потпуно исту низ. 137 00:07:09,380 --> 00:07:11,740 >> Слично томе, можемо поновити над свим елементима 138 00:07:11,740 --> 00:07:15,400 од низа коришћењем петље, која, у Чињеница је веома препоручује 139 00:07:15,400 --> 00:07:16,790 ат-хоме вежба. 140 00:07:16,790 --> 00:07:20,720 Како створити низ 100 целих, гдје 141 00:07:20,720 --> 00:07:23,477 сваки елемент низа је његов индекс? 142 00:07:23,477 --> 00:07:26,560 Тако, на пример, имамо низ 100 целие, иу првом елементу, 143 00:07:26,560 --> 00:07:27,790 желимо да стави 0. 144 00:07:27,790 --> 00:07:29,810 У другом елементу, желимо да пут 1. 145 00:07:29,810 --> 00:07:33,319 У трећем елементу, желимо ставити 2; и тако даље и тако даље. 146 00:07:33,319 --> 00:07:35,360 То је стварно добра ат-хоме вежба за то. 147 00:07:35,360 --> 00:07:38,190 148 00:07:38,190 --> 00:07:40,220 >> Ево, да не изгледа Као много тога променило. 149 00:07:40,220 --> 00:07:44,170 Али приметити да у између квадратних заграда, овај пут, 150 00:07:44,170 --> 00:07:45,830 Ја сам заправо изоставио број. 151 00:07:45,830 --> 00:07:48,000 Ако користите ово веома Посебан примерна 152 00:07:48,000 --> 00:07:50,380 синтакса да се створи Арраи, ви заправо не 153 00:07:50,380 --> 00:07:53,491 треба да наведе величину од низа унапред. 154 00:07:53,491 --> 00:07:55,740 Преводилац је довољно паметан да знате да вас у ствари 155 00:07:55,740 --> 00:07:58,980 Желим низ величине 3, јер сте ставили три елемента 156 00:07:58,980 --> 00:08:00,640 на десној страни знака једнакости. 157 00:08:00,640 --> 00:08:04,140 Ако сте ставили четири, то би имало дали вам сто истина величине четири; 158 00:08:04,140 --> 00:08:06,270 и тако даље и тако даље. 159 00:08:06,270 --> 00:08:09,380 >> Низови нису ограничени на један димензија, што је прилично кул. 160 00:08:09,380 --> 00:08:12,000 Можете заправо имати колико сиде спецификатори како желите. 161 00:08:12,000 --> 00:08:16,470 Тако на пример, ако желите да креирате даска за игру Баттлесхип, која, 162 00:08:16,470 --> 00:08:20,910 Ако сте икада играли, је игра која је играо са клиновима на 10 до 10 мрежу, 163 00:08:20,910 --> 00:08:22,450 можете направити низ овако. 164 00:08:22,450 --> 00:08:26,030 Могло би се рећи Боол Баттлесхип квадрат носач 10 165 00:08:26,030 --> 00:08:29,590 затворена заграда квадрат квадратни носач 10 је затворио квадратних конзолу. 166 00:08:29,590 --> 00:08:32,710 >> А онда, можете одабрати да ово тумаче на уму као 10 167 00:08:32,710 --> 00:08:35,576 за 10 мрежу ћелија. 168 00:08:35,576 --> 00:08:37,409 Сада, у ствари, у меморији, то стварно не само 169 00:08:37,409 --> 00:08:42,440 остају елемент 100, један димензионални низ. 170 00:08:42,440 --> 00:08:46,070 И ово, у ствари, важи и за вас ако има три димензије или четири или пет. 171 00:08:46,070 --> 00:08:49,420 То је заиста једноставно не помножите цео индицес-- 172 00:08:49,420 --> 00:08:51,130 или све од величине специфиерс-- заједно, 173 00:08:51,130 --> 00:08:53,480 а ти само добити једнодимензионални низ те величине. 174 00:08:53,480 --> 00:08:57,090 >> Међутим, у погледу организације и визуелизација и људски перцепција, 175 00:08:57,090 --> 00:08:59,240 то може бити много лакше за рад са мрежом 176 00:08:59,240 --> 00:09:02,980 ако радите на игри као Тиц-Тац-Тое или Баттлесхип, 177 00:09:02,980 --> 00:09:05,179 или нешто слично. 178 00:09:05,179 --> 00:09:06,970 То је велики апстракција, уместо да 179 00:09:06,970 --> 00:09:09,340 да размишљају о Тиц-Тац-Тое Одбор као линија од девет 180 00:09:09,340 --> 00:09:13,810 квадрати или бојног брода одбор као линија од 100 квадрата. 181 00:09:13,810 --> 00:09:16,010 А 10 од 10 решетку или три са три мрежа је вероватно 182 00:09:16,010 --> 00:09:17,225 много лакше да виде. 183 00:09:17,225 --> 00:09:19,820 184 00:09:19,820 --> 00:09:22,280 >> Сада, нешто стварно битно о низовима. 185 00:09:22,280 --> 00:09:25,950 Можемо третирати сваког појединца елемент низа као променљиве. 186 00:09:25,950 --> 00:09:27,700 Видели смо да је раније кад смо доделе 187 00:09:27,700 --> 00:09:32,240 вредност Прави одређеним логичке или их тестирање у уређаја. 188 00:09:32,240 --> 00:09:35,960 Али не можемо третирати ће сва низови се као варијабле. 189 00:09:35,960 --> 00:09:41,760 Не можемо, на пример, доделити један у низу на другу низа коришћењем задатак 190 00:09:41,760 --> 00:09:42,930 оператер. 191 00:09:42,930 --> 00:09:44,640 То није легално Ц 192 00:09:44,640 --> 00:09:47,920 >> Ако желимо да, за шта екампле-- ћемо радити у том примеру 193 00:09:47,920 --> 00:09:50,200 би било да копирате један у низу у другу. 194 00:09:50,200 --> 00:09:53,810 Ако желимо да урадимо, ми заправо Потребно је да користите петљу да копирате преко 195 00:09:53,810 --> 00:09:56,550 свака појединачна елемент један по један. 196 00:09:56,550 --> 00:09:58,700 Знам да је мало дуготрајан. 197 00:09:58,700 --> 00:10:04,022 >> Тако на пример, ако смо имали ове пар линија кода, зар ово ради? 198 00:10:04,022 --> 00:10:05,230 Па, не, то не би, зар не? 199 00:10:05,230 --> 00:10:07,860 Зато покушавамо да доделите храну бара. 200 00:10:07,860 --> 00:10:09,860 То не иде на посао, зато што је низ, 201 00:10:09,860 --> 00:10:13,130 а ми управо описао да то није законски Ц 202 00:10:13,130 --> 00:10:15,580 >> Уместо тога, ако желимо да ископирате садржај хране 203 00:10:15,580 --> 00:10:18,070 у бар, што је оно што Покушавамо да урадимо, 204 00:10:18,070 --> 00:10:19,970 ћемо морати синтаксу овако. 205 00:10:19,970 --> 00:10:24,170 Имамо за петљу која иде од Ј је једнако 0 до 5, 206 00:10:24,170 --> 00:10:28,390 а ми инкрементирање Ј на сваком итерацију петље и доделити елементи такве. 207 00:10:28,390 --> 00:10:33,360 То би резултирало у бару и као један, два, три, четири, пет, 208 00:10:33,360 --> 00:10:36,730 али морамо то да урадимо ово веома споро елеменат по елеменат начин, 209 00:10:36,730 --> 00:10:40,009 уместо за само копирате целу лепезу. 210 00:10:40,009 --> 00:10:42,050 У другим програмима језици, модерније оне, 211 00:10:42,050 --> 00:10:45,610 можете, у ствари, раде само тако једноставно једнако синтаксу. 212 00:10:45,610 --> 00:10:49,620 Али, Ц, нажалост, ми смо није дозвољено да то урадите. 213 00:10:49,620 --> 00:10:52,026 >> Сада, постоји једна друга ствар коју желим да поменем 214 00:10:52,026 --> 00:10:54,650 абоут низова који може бити помало мало зезнуто први пут вам 215 00:10:54,650 --> 00:10:55,990 рад са њима. 216 00:10:55,990 --> 00:10:59,860 Разговарали смо о у видеу о променљивом обиму, 217 00:10:59,860 --> 00:11:04,940 да већина варијабли у Ц, када позовете их функција, доносе вредности. 218 00:11:04,940 --> 00:11:08,620 Да ли се сећате шта то значи да прође нешто од вредности? 219 00:11:08,620 --> 00:11:12,570 То значи да правиш копију варијабла која је усвајања у. 220 00:11:12,570 --> 00:11:16,290 Позивалац функција, функција који прима променљиву, 221 00:11:16,290 --> 00:11:17,730 не добија саму променљиву. 222 00:11:17,730 --> 00:11:20,850 Постаје своје локалне копију тога да радим. 223 00:11:20,850 --> 00:11:24,070 >> Арраис, наравно, до не пратим ово правило. 224 00:11:24,070 --> 00:11:27,600 Уместо тога, оно што ми називамо пролази као референца. 225 00:11:27,600 --> 00:11:31,360 Позивалац ствари не прими низ. 226 00:11:31,360 --> 00:11:34,207 То не примају своје своју локалну копију тога. 227 00:11:34,207 --> 00:11:36,040 А ако мислите о да, то има смисла. 228 00:11:36,040 --> 00:11:39,750 Ако низови су заиста велике, да потребно толико времена и труда 229 00:11:39,750 --> 00:11:44,470 да направи копију низа 100 или 1.000 или 10.000 елементи, 230 00:11:44,470 --> 00:11:48,290 да не вреди га за функционишу да добије копију тога, 231 00:11:48,290 --> 00:11:51,037 урадите неки посао са њим, а затим само да се уради са копијом; 232 00:11:51,037 --> 00:11:53,120 да не треба имати то висе виси. 233 00:11:53,120 --> 00:11:54,710 >> Зато што су неки низови гломазан и незграпан, 234 00:11:54,710 --> 00:11:56,001 ми их само пролазе кроз цитат. 235 00:11:56,001 --> 00:12:01,210 Ми смо само веруј ту функцију да, не сломи ништа. 236 00:12:01,210 --> 00:12:03,010 Тако да заиста не добије низ. 237 00:12:03,010 --> 00:12:05,290 То не добије своју локалну копију. 238 00:12:05,290 --> 00:12:07,170 >> Дакле, шта то значи, онда, када се позвани 239 00:12:07,170 --> 00:12:08,970 манипулира елемената низа? 240 00:12:08,970 --> 00:12:10,780 Шта се дешава? 241 00:12:10,780 --> 00:12:13,210 За сада ћемо глосс преко зашто баш ово 242 00:12:13,210 --> 00:12:15,320 догађа, зашто низова доносе референце 243 00:12:15,320 --> 00:12:17,810 а све остало је прошло од вредности. 244 00:12:17,810 --> 00:12:20,470 Али ја вам обећавам да ће вратити и дати вам одговор 245 00:12:20,470 --> 00:12:23,750 на ово у каснијем видео. 246 00:12:23,750 --> 00:12:28,110 >> Ево још једна вежба за вас пре него што смо завршили ствари на низовима. 247 00:12:28,110 --> 00:12:31,400 Гомила кода овде, то је није нарочито добар стил, 248 00:12:31,400 --> 00:12:33,400 Само ћу направити ту примедби. 249 00:12:33,400 --> 00:12:36,660 Нема коментара овде, што је прилично лоша форма. 250 00:12:36,660 --> 00:12:39,750 Али то је само зато што сам хтео да будем у стању да стане све на екрану. 251 00:12:39,750 --> 00:12:44,360 >> На врху, можете видети да имам два фунцтион декларације за сет низу 252 00:12:44,360 --> 00:12:45,820 и сет инт. 253 00:12:45,820 --> 00:12:49,680 Комплет низ наизглед има низ четири целих његов улаз. 254 00:12:49,680 --> 00:12:52,767 И скуп Инт очигледно потребно један цео број као свој улаз. 255 00:12:52,767 --> 00:12:54,350 Али обојица немају излаз. 256 00:12:54,350 --> 00:12:57,689 Излаз, повратак типу, свака је неважећи. 257 00:12:57,689 --> 00:12:59,480 У главном, имамо пар линија кода. 258 00:12:59,480 --> 00:13:02,730 Ми изјављујемо целобројну променљиву назива и доделити јој вредност 10. 259 00:13:02,730 --> 00:13:07,080 Ми изјављујемо низ од четири целих бројева назива Б и доделите елементе 0, 1, 260 00:13:07,080 --> 00:13:08,730 2, и 3, респективно. 261 00:13:08,730 --> 00:13:12,190 Затим, имамо позив да подесите инт и позив да подесите низ. 262 00:13:12,190 --> 00:13:15,910 Дефиниције сет низа и низа Инт су доле, на дну. 263 00:13:15,910 --> 00:13:17,640 >> И тако, опет, ја вам поставим питање. 264 00:13:17,640 --> 00:13:20,770 Шта бива одштампан Овде на крају Маин? 265 00:13:20,770 --> 00:13:23,020 Ту је штампање у боји. Ја сам штампање два броја. 266 00:13:23,020 --> 00:13:28,010 Ја штампање садржај и садржај Б квадратном носач 0. 267 00:13:28,010 --> 00:13:29,880 Паусе видео овде и минут. 268 00:13:29,880 --> 00:13:35,482 Да ли можете да схватите шта је ово Функција ће се штампати на крају? 269 00:13:35,482 --> 00:13:38,190 Надам се, ако се сећате Разлика између усвајања од стране вредности 270 00:13:38,190 --> 00:13:41,680 и доношења путем референце, ово проблем није био превише незгодно за тебе. 271 00:13:41,680 --> 00:13:44,130 А одговор ти би нашли је ово. 272 00:13:44,130 --> 00:13:47,660 Ако нисмо сигурни како би зашто је то тако, одвојите пар секунди, 273 00:13:47,660 --> 00:13:50,620 вратимо, прегледајте што сам био расправља о доношењу низова 274 00:13:50,620 --> 00:13:53,450 као референца, версус пролази друге променљиве вредности, по 275 00:13:53,450 --> 00:13:56,680 и надам се, да ће бити мало више смисла. 276 00:13:56,680 --> 00:13:59,760 >> Ја сам Доуг Лојд, а ово је ЦС50. 277 00:13:59,760 --> 00:14:01,467