1 00:00:00,000 --> 00:00:03,388 >> [MUSIC PLAYING] 2 00:00:03,388 --> 00:00:05,104 3 00:00:05,104 --> 00:00:06,020 DOUG LLOYD: Bütün hüququ. 4 00:00:06,020 --> 00:00:07,680 Bir İş dəyişənlər olduqca eğlenceli. 5 00:00:07,680 --> 00:00:09,500 Lakin biz istəyiriksə iş dəyişənlərin bir çox, 6 00:00:09,500 --> 00:00:12,760 lakin biz bir dəstə istəmirəm bizim kodu ətrafında müxtəlif adlar uçan? 7 00:00:12,760 --> 00:00:15,980 Bu halda, seriallarda var həqiqətən lazımlı gəlib gedir. 8 00:00:15,980 --> 00:00:19,510 Diziler həqiqətən fundamental məlumatlar hər hansı bir proqramlaşdırma dili üçün strukturu 9 00:00:19,510 --> 00:00:20,260 istifadə edəcək. 10 00:00:20,260 --> 00:00:24,450 Onlar, həqiqətən, həqiqətən faydalı istəyirik xüsusilə, biz CS 50, görəcəksiniz kimi. 11 00:00:24,450 --> 00:00:27,870 >> Biz keçirmək Diziler istifadə Eyni data növü dəyərləri 12 00:00:27,870 --> 00:00:29,830 bitişik yaddaş yerlərdə. 13 00:00:29,830 --> 00:00:32,430 Ki, bir var, demək deyil Yolumuz qrup bilər 14 00:00:32,430 --> 00:00:35,430 birlikdə integers bir dəstə yaddaş və ya simvol bir dəstə 15 00:00:35,430 --> 00:00:38,270 və ya, həqiqətən yaddaş üzüb gedirdi birlikdə bağlamaq və iş 16 00:00:38,270 --> 00:00:41,930 onlarla hər vermək olmadan biri öz unikal adı, bilərsiniz 17 00:00:41,930 --> 00:00:44,500 Bir az sonra çətin almaq. 18 00:00:44,500 --> 00:00:48,130 >> İndi, bir yol serialların analogize üçün Yerli post haqqında düşünmək üçün 19 00:00:48,130 --> 00:00:49,000 ikinci ofis. 20 00:00:49,000 --> 00:00:51,820 Belə ki, proqramlaşdırma uzaq addım və yalnız sizin gözlərinizi bağlayın 21 00:00:51,820 --> 00:00:54,120 və nəzərə görüntüləmək Yerli poçt şöbəsi. 22 00:00:54,120 --> 00:00:57,160 Adətən, ən post ofislər, böyük bir bank var 23 00:00:57,160 --> 00:01:00,490 divar bir Post Office qutuları. 24 00:01:00,490 --> 00:01:03,510 >> Bir sıra nəhəng blok edir bitişik yaddaş, 25 00:01:03,510 --> 00:01:06,120 poçt ki, eyni şəkildə Sizin post ofisində bank 26 00:01:06,120 --> 00:01:11,230 böyük kosmik edir poçt şöbəsinin divar. 27 00:01:11,230 --> 00:01:15,750 Diziler, kiçik parçalanmış edilmişdir eyni yer ölçülü blokları, 28 00:01:15,750 --> 00:01:19,930 olan hər bir element adlanır Eyni şəkildə post divar ki, 29 00:01:19,930 --> 00:01:23,840 katibə, balaca daxil parçalanmış edilmişdir eyni yer ölçülü blokları, 30 00:01:23,840 --> 00:01:27,560 Hansı bir PO qutusu çağırırıq. 31 00:01:27,560 --> 00:01:31,650 Serialın hər element bilər məlumatların müəyyən saxlamaq 32 00:01:31,650 --> 00:01:37,540 hər Post Office qutusu edə kimi poçt müəyyən bir keçiriləcək. 33 00:01:37,540 --> 00:01:41,540 >> Hər bir element saxlanıla bilər nə array eyni data dəyişənlərin edir 34 00:01:41,540 --> 00:01:45,300 Belə ki, yalnız int və ya char kimi növü, Sizin poçt şöbəsi qutusuna kimi, 35 00:01:45,300 --> 00:01:47,300 Yalnız şeyi uyğun oxşar tipli, 36 00:01:47,300 --> 00:01:50,430 Belə məktublar və ya kiçik paketləri kimi. 37 00:01:50,430 --> 00:01:55,050 Nəhayət, biz hər element əldə edə bilərsiniz birbaşa index sayı array, 38 00:01:55,050 --> 00:01:59,770 Biz poçt daxil ola bilərsiniz kimi Onun poçt qutusu sayı bilmədən qutusu. 39 00:01:59,770 --> 00:02:02,750 İnşallah bundan bənzətməsi Siz baş almaq kömək edir 40 00:02:02,750 --> 00:02:05,540 Diziler ideyası ətrafında başqa bir şey analogizing 41 00:02:05,540 --> 00:02:08,400 Siz yəqin ki, var ki, ilə artıq tanış. 42 00:02:08,400 --> 00:02:13,182 >> C, bir sıra elementləri 1-dən deyil, 0-dan başlayaraq dizine. 43 00:02:13,182 --> 00:02:14,390 Və bu, həqiqətən vacibdir. 44 00:02:14,390 --> 00:02:18,530 Niyə biz Və əslində, bu, CS 50, tez-tez və nə kompüter elm 45 00:02:18,530 --> 00:02:22,150 0-dan saymaq edir çünki C serialın 46 00:02:22,150 --> 00:02:24,660 həmişə 0 başlayır endeksleme. 47 00:02:24,660 --> 00:02:28,730 Bir sıra n elementdən ibarətdir Belə ki, ki, serialın ilk element 48 00:02:28,730 --> 00:02:32,960 , kataloq 0 yerləşir və serialın son element 49 00:02:32,960 --> 00:02:36,610 index n minus 1 yerləşir. 50 00:02:36,610 --> 00:02:43,160 Yenə N elementləri var, əgər bizim array, son index n minus 1. 51 00:02:43,160 --> 00:02:46,820 >> Belə ki, bizim array 50 elementlər var, əgər ilk element, index 0 yerləşən 52 00:02:46,820 --> 00:02:51,060 və son element indeksi 49 yerləşir. 53 00:02:51,060 --> 00:02:53,940 Təəssüf ki, ya xoşbəxtlikdən, perspektiv asılı olaraq, 54 00:02:53,940 --> 00:02:56,170 C burada çox yumşaq edir. 55 00:02:56,170 --> 00:02:59,480 Bu mane olmayacaq Sizin array hüdudlarından kənarda gedir. 56 00:02:59,480 --> 00:03:03,080 Siz minus daxil ola bilər Sizin serialın 3 element 57 00:03:03,080 --> 00:03:07,400 ya serialın 59-cu element, Sizin array yalnız 50 elementlər var. 58 00:03:07,400 --> 00:03:11,060 Bu sizin proqram dayandırmaq olmaz tərtib, lakin run zamanda, 59 00:03:11,060 --> 00:03:14,350 Bir qarşılaşa bilər dreaded seqmentasiya günah 60 00:03:14,350 --> 00:03:17,460 yaddaş daxil olmaq üçün başlamaq əgər ki, nə hüdudlarından kənarda 61 00:03:17,460 --> 00:03:19,260 Siz vermək üçün proqram istədi. 62 00:03:19,260 --> 00:03:21,250 Belə ki, ehtiyatlı olun. 63 00:03:21,250 --> 00:03:23,120 >> Nə bir sıra edir bəyannamə kimi görünür? 64 00:03:23,120 --> 00:03:26,940 Biz mövcud bir sıra kod necə kimi biz hər hansı digər dəyişən kod? 65 00:03:26,940 --> 00:03:31,250 Üç hissədən bir sıra var növü declaration--, bir adı, 66 00:03:31,250 --> 00:03:31,880 və ölçüsü. 67 00:03:31,880 --> 00:03:34,088 Bu çox oxşardır dəyişən bəyannamə olan 68 00:03:34,088 --> 00:03:36,970 yalnız bir növü və adı, olan ölçüsü element 69 00:03:36,970 --> 00:03:39,860 bir sıra xüsusi halda, biz onlara bir dəstə əldə çünki 70 00:03:39,860 --> 00:03:41,830 eyni vaxtda. 71 00:03:41,830 --> 00:03:45,560 >> Belə növü dəyişən nə cür siz serialın hər element olmaq istəyirəm. 72 00:03:45,560 --> 00:03:47,150 Integers bir sıra üçün istəyirsiniz? 73 00:03:47,150 --> 00:03:49,010 Daha sonra, data type int olmalıdır. 74 00:03:49,010 --> 00:03:51,760 Siz bir olmaq istəyirsiniz ikiqat və ya üzüb gedirdi array? 75 00:03:51,760 --> 00:03:54,545 Data növü ikiqat və ya float olmalıdır. 76 00:03:54,545 --> 00:03:56,420 adı nədir siz Sizin array səslənmək istəyirəm. 77 00:03:56,420 --> 00:04:00,970 Bu nəhəng ad nə istəyirsiniz integers və ya üzüb gedirdi və ya chars bank 78 00:04:00,970 --> 00:04:03,250 və ya iki, və ya hər hansı var? 79 00:04:03,250 --> 00:04:04,700 Nə zəng etmək istəyirsiniz? 80 00:04:04,700 --> 00:04:06,110 Pretty özünü izahlı. 81 00:04:06,110 --> 00:04:08,610 >> Gedir Nəhayət, ölçüsü, kvadrat mötərizədə daxilində, 82 00:04:08,610 --> 00:04:12,180 neçə elementləri ki Sizin array olan kimi. 83 00:04:12,180 --> 00:04:13,530 Necə bir çox integers istəyirsiniz? 84 00:04:13,530 --> 00:04:15,570 Necə bir çox üzüb gedirdi istəyirsiniz? 85 00:04:15,570 --> 00:04:19,070 >> Belə ki, məsələn, tələbə siniflər 40 int. 86 00:04:19,070 --> 00:04:26,020 Bu Student adlı bir sıra bəyan 40 integers ibarətdir notları. 87 00:04:26,020 --> 00:04:28,180 Pretty özünü izahlı inşallah. 88 00:04:28,180 --> 00:04:29,330 Burada başqa bir misal var. 89 00:04:29,330 --> 00:04:31,560 Double menyu qiymətləri 8. 90 00:04:31,560 --> 00:04:34,610 Bu adlı bir sıra yaradır Ibarət olan menyu qiymətləri, 91 00:04:34,610 --> 00:04:38,300 səkkiz ikiqat üçün yaddaş otaq. 92 00:04:38,300 --> 00:04:42,000 93 00:04:42,000 --> 00:04:45,750 >> Hər element hesab edirəm ki, type data tipli bir sıra, 94 00:04:45,750 --> 00:04:49,860 belə, məsələn, bir element növü int bir sıra, eyni şəkildə sizə 95 00:04:49,860 --> 00:04:52,770 hər hansı digər hesab edirəm ki, növü int dəyişən, 96 00:04:52,770 --> 00:04:56,440 bütün tanış əməliyyatları biz ki, Əməliyyatlar əvvəllər müzakirə 97 00:04:56,440 --> 00:04:58,270 video mənada edəcək. 98 00:04:58,270 --> 00:05:01,620 Odur ki, biz bir sıra bəyan edə bilər Truthtable adlı Booleans, 99 00:05:01,620 --> 00:05:05,590 olan 10 Booleans üçün otaq ibarətdir. 100 00:05:05,590 --> 00:05:09,650 >> Və sonra, yalnız biz yalnız təyin edə bilər kimi tipli hər hansı digər dəyişən dəyəri 101 00:05:09,650 --> 00:05:13,470 Boolean, biz bir şey deyə bilər Truthtable kvadrat mötərizə kimi 102 00:05:13,470 --> 00:05:18,040 Biz göstərir necə 2, olan həqiqət masa element? 103 00:05:18,040 --> 00:05:20,350 üçüncü element həqiqət masa, xatırlayıram çünki, 104 00:05:20,350 --> 00:05:21,800 biz 0-dan hesablanması edirik. 105 00:05:21,800 --> 00:05:25,690 Belə ki, biz göstərir necə həqiqət masa üçüncü element. 106 00:05:25,690 --> 00:05:28,680 Truthtable 2, yalan bərabərdir yalnız biz declare-- bilər kimi 107 00:05:28,680 --> 00:05:33,560 və ya hər hansı bir, daha doğrusu, təyin edə bilər Boolean tipli dəyişən saxta olması. 108 00:05:33,560 --> 00:05:35,050 >> Biz də şəraitində istifadə edə bilərsiniz. 109 00:05:35,050 --> 00:05:39,000 (truthtable 7 == əgər demək doğru) 110 00:05:39,000 --> 00:05:42,370 səkkizinci element əgər Truthtable ki, doğrudur 111 00:05:42,370 --> 00:05:46,760 bəlkə biz bir mesaj çap istəyirəm istifadəçi printf ("TRUE! n") üçün ;. 112 00:05:46,760 --> 00:05:50,290 Ki Truthtable demək bizi səbəb olur 10 doğru, doğru bərabərdir? 113 00:05:50,290 --> 00:05:53,590 Bəli, Mən, lakin bu, olduqca var təhlükəli, çünki, xatırlayıram 114 00:05:53,590 --> 00:05:56,260 10 Booleans bir sıra var. 115 00:05:56,260 --> 00:06:02,340 Belə ki, ən yüksək göstəricidir ki, compiler bizə 9 verib. 116 00:06:02,340 --> 00:06:06,010 >> Bu proqram tərtib, lakin əgər yaddaş başqa bir şey 117 00:06:06,010 --> 00:06:09,110 harada, biz mövcud Truthtable 10 getmək üçün gözləmək, 118 00:06:09,110 --> 00:06:13,980 bir seqmentasiya günah əziyyət bilər. Biz ilə üz əldə edə bilər, lakin, ümumiyyətlə, 119 00:06:13,980 --> 00:06:14,710 olduqca təhlükəlidir. 120 00:06:14,710 --> 00:06:19,759 Belə ki, nə mən burada edirəm hüquqi C, lakin mütləq yaxşı hərəkət. 121 00:06:19,759 --> 00:06:22,300 İndi, elan zaman eyni zamanda bir sıra başlamaq, 122 00:06:22,300 --> 00:06:23,960 həqiqətən olduqca var xüsusi syntax ki, 123 00:06:23,960 --> 00:06:26,250 array doldurmaq üçün istifadə edə bilərsiniz onun başlanğıc dəyərləri ilə. 124 00:06:26,250 --> 00:06:30,130 Bu çətin əldə edə bilərsiniz , ölçüsü 100 bir sıra bəyan 125 00:06:30,130 --> 00:06:33,430 və sonra demək lazımdır, element 0 Bu bərabərdir; element 1 Bu bərabərdir; 126 00:06:33,430 --> 00:06:34,850 element 2. bərabərdir. 127 00:06:34,850 --> 00:06:36,370 Sağ, point nədir? 128 00:06:36,370 --> 00:06:39,470 >> Bir kiçik array varsa, siz bu kimi bir şey edə bilər. 129 00:06:39,470 --> 00:06:44,360 Bool truthtable 3 açıq bərabərdir buruq brace və sonra vergül 130 00:06:44,360 --> 00:06:48,060 elementlərin siyahısını ayrı-ayrı Siz array qoymaq istəyirəm. 131 00:06:48,060 --> 00:06:50,520 Sonra buruq brace nöqtəli vergül bağlayın. 132 00:06:50,520 --> 00:06:53,910 Bu bir sıra yaradır size Truthtable adlı üç, 133 00:06:53,910 --> 00:06:56,090 elementləri, yalan doğru və həqiqi ilə. 134 00:06:56,090 --> 00:06:59,270 Və əslində, Destekleme Mən burada var sintaksis 135 00:06:59,270 --> 00:07:03,350 bunu kimi tam eyni aşağıdakı fərdi element syntax. 136 00:07:03,350 --> 00:07:09,380 Kodlaşdırma bu iki yol olardı eyni sıra istehsal edir. 137 00:07:09,380 --> 00:07:11,740 >> Eynilə, biz təkrarlamaq bilər elementləri bütün 138 00:07:11,740 --> 00:07:15,400 bir loop istifadə bir sıra, ildə Əslində bir çox güclü tövsiyə 139 00:07:15,400 --> 00:07:16,790 at-ev həyata. 140 00:07:16,790 --> 00:07:20,720 Necə bir sıra yaratmaq edirsiniz 100 integers, bir 141 00:07:20,720 --> 00:07:23,477 serialın hər element öz index edir? 142 00:07:23,477 --> 00:07:26,560 Belə ki, məsələn, biz 100 array var integers və ilk element, 143 00:07:26,560 --> 00:07:27,790 biz 0 qoymaq istəyirik. 144 00:07:27,790 --> 00:07:29,810 İkinci element, biz 1 qoymaq istəyirik. 145 00:07:29,810 --> 00:07:33,319 Üçüncü element, biz istəyirik 2 qoymaq; və s və s. 146 00:07:33,319 --> 00:07:35,360 Bu, həqiqətən yaxşı at-ev həyata bunu. 147 00:07:35,360 --> 00:07:38,190 148 00:07:38,190 --> 00:07:40,220 >> Burada baxmaq deyil kimi çox dəyişib. 149 00:07:40,220 --> 00:07:44,170 Amma arasında da fark kvadrat mötərizədə, bu dəfə, 150 00:07:44,170 --> 00:07:45,830 Mən, həqiqətən, sayı çıxarılmışdır etdik. 151 00:07:45,830 --> 00:07:48,000 Istifadə edirsinizsə bu çox xüsusi Destekleme 152 00:07:48,000 --> 00:07:50,380 syntax bir yaratmaq array, həqiqətən deyil 153 00:07:50,380 --> 00:07:53,491 ölçüsü göstərmək lazımdır serialın əvvəlcədən. 154 00:07:53,491 --> 00:07:55,740 compiler kifayət qədər ağıllı deyil həqiqətən, sizin ki, bilmək 155 00:07:55,740 --> 00:07:58,980 , ölçüsü 3 bir sıra istəyirəm üç elementləri qoymaq çünki 156 00:07:58,980 --> 00:08:00,640 bərabər işarəsi sağ üçün. 157 00:08:00,640 --> 00:08:04,140 Siz dörd qoyduğu, bu, olardı Siz ölçüsü dörd bir həqiqət masa verilir; 158 00:08:04,140 --> 00:08:06,270 və s və s. 159 00:08:06,270 --> 00:08:09,380 >> Diziler bir məhdud deyil olduqca sərin ölçüsü. 160 00:08:09,380 --> 00:08:12,000 Siz, həqiqətən, kimi bir çox ola bilər yan specifiers istədiyiniz kimi. 161 00:08:12,000 --> 00:08:16,470 Belə ki, məsələn, siz yaratmaq istəyirsinizsə, Oyun Battleship bir board, 162 00:08:16,470 --> 00:08:20,910 Əgər ifa əgər, bir oyun 10 grid ilə 10 dirək ilə oynanan 163 00:08:20,910 --> 00:08:22,450 Bu kimi bir sıra yarada bilər. 164 00:08:22,450 --> 00:08:26,030 Siz Bool deyə bilər battleship kvadrat mötərizə 10 165 00:08:26,030 --> 00:08:29,590 qapalı kvadrat mötərizə kvadrat bracket 10 kvadrat bracket bağlanıb. 166 00:08:29,590 --> 00:08:32,710 >> Və sonra, siz seçə bilərsiniz 10 kimi mind bu şərh 167 00:08:32,710 --> 00:08:35,576 hüceyrələri 10 grid tərəfindən. 168 00:08:35,576 --> 00:08:37,409 İndi, əslində, yaddaş, Bu, həqiqətən, yalnız yoxdur 169 00:08:37,409 --> 00:08:42,440 100 element qalır bir ölçülü array. 170 00:08:42,440 --> 00:08:46,070 Və bu, əslində, əgər gedir üç ölçüləri və ya dörd və ya beş var. 171 00:08:46,070 --> 00:08:49,420 Bu, həqiqətən, yalnız çoxaltmaq deyil indices-- bütün 172 00:08:49,420 --> 00:08:51,130 və ya ölçüsü bütün birlikdə specifiers--, 173 00:08:51,130 --> 00:08:53,480 və yalnız bir-ölçülü almaq ki, ölçüsü array. 174 00:08:53,480 --> 00:08:57,090 >> Lakin təşkilat baxımından və vizual və insan qavrayış, 175 00:08:57,090 --> 00:08:59,240 bir çox asan ola bilər bir grid ilə işləmək üçün 176 00:08:59,240 --> 00:09:02,980 Bir oyun çalışırıq əgər Tic-tac-barmaq və ya Battleship kimi, 177 00:09:02,980 --> 00:09:05,179 ya kimi bir şey. 178 00:09:05,179 --> 00:09:06,970 Bu, böyük bir abstraksiya var, əvəzinə olan 179 00:09:06,970 --> 00:09:09,340 bir Tic-tac-barmaq haqqında düşünmək doqquz bir xətt kimi board 180 00:09:09,340 --> 00:09:13,810 meydanların və ya Battleship board 100 meydanların bir xətt kimi. 181 00:09:13,810 --> 00:09:16,010 10 grid və ya üç ilə 10 üç grid yəqin ki, 182 00:09:16,010 --> 00:09:17,225 bir çox daha asan dərk etmək. 183 00:09:17,225 --> 00:09:19,820 184 00:09:19,820 --> 00:09:22,280 >> İndi, bir şey həqiqətən Diziler haqqında əhəmiyyətli. 185 00:09:22,280 --> 00:09:25,950 Biz hər bir fərdi müalicə edə bilər bir dəyişən kimi serialın element. 186 00:09:25,950 --> 00:09:27,700 Biz ki, əvvəllər gördüm biz təyin edildi 187 00:09:27,700 --> 00:09:32,240 müəyyən Booleans True dəyər və ya conditionals onları test. 188 00:09:32,240 --> 00:09:35,960 Amma biz bütün müalicə edə bilməz dəyişənlərin özlərini Diziler. 189 00:09:35,960 --> 00:09:41,760 Biz, məsələn, bir sıra təyin edə bilməz tapşırıq istifadə bir sıra 190 00:09:41,760 --> 00:09:42,930 operator. 191 00:09:42,930 --> 00:09:44,640 Hüquqi C. deyil 192 00:09:44,640 --> 00:09:47,920 >> Biz misal üçün, istəyirsinizsə nə ki, nümunə bunu olunacaq 193 00:09:47,920 --> 00:09:50,200 birinə array surəti olardı. 194 00:09:50,200 --> 00:09:53,810 Biz ki, biz, həqiqətən, etmək istəyirsinizsə üzərində surəti bir loop istifadə etmək lazımdır 195 00:09:53,810 --> 00:09:56,550 bir zamanda hər bir fərdi element biridir. 196 00:09:56,550 --> 00:09:58,700 Mən aparan bir az vaxt bilirik. 197 00:09:58,700 --> 00:10:04,022 >> Belə ki, məsələn, əgər biz bu neçə idi kodu xətləri, bu iş olardı? 198 00:10:04,022 --> 00:10:05,230 Yaxşı, heç bir, sağ deyil ki? 199 00:10:05,230 --> 00:10:07,860 Biz çalışırıq, çünki bar ərzaq təyin etmək. 200 00:10:07,860 --> 00:10:09,860 Bu işə niyyətində deyil, Bu bir sıra var, çünki, 201 00:10:09,860 --> 00:10:13,130 və biz yalnız təsvir hüquqi C. deyil ki, 202 00:10:13,130 --> 00:10:15,580 >> Əksinə, biz istəyirsinizsə Qida məzmunu surəti 203 00:10:15,580 --> 00:10:18,070 nədir bar, daxil biz burada nə çalışdığınız 204 00:10:18,070 --> 00:10:19,970 Biz bu kimi bir sintaksis lazımdır. 205 00:10:19,970 --> 00:10:24,170 Biz loop üçün gedir J, 5-ə qədər 0 bərabərdir 206 00:10:24,170 --> 00:10:28,390 və biz hər iteration J arttırmayı loop və bu kimi təyin elementləri. 207 00:10:28,390 --> 00:10:33,360 Bu da bar ilə nəticələnəcək olan bir, iki, üç, dörd, beş, 208 00:10:33,360 --> 00:10:36,730 lakin biz çox bunu var yavaş element-by-element yol 209 00:10:36,730 --> 00:10:40,009 əvəzinə yalnız ilə bütün array çıxarmaq. 210 00:10:40,009 --> 00:10:42,050 Digər proqramlaşdırma dil, daha müasir olanları, 211 00:10:42,050 --> 00:10:45,610 Siz, əslində, yalnız edə bilərsiniz ki, sintaksis sadə bərabərdir. 212 00:10:45,610 --> 00:10:49,620 Lakin C, təəssüf ki, biz istəyirik bunu icazə verilmir. 213 00:10:49,620 --> 00:10:52,026 >> İndi, digər bir var şey qeyd etmək istəyirəm 214 00:10:52,026 --> 00:10:54,650 Diziler haqqında bir az ola bilər az çətin ilk dəfə 215 00:10:54,650 --> 00:10:55,990 onlarla işləmək. 216 00:10:55,990 --> 00:10:59,860 Biz video müzakirə dəyişən daxilində, 217 00:10:59,860 --> 00:11:04,940 ki, zəng C ən dəyişənlər, Onlara funksiyaları, dəyəri qəbul olunur. 218 00:11:04,940 --> 00:11:08,620 Siz nə deməkdir yadınızdadırmı dəyəri bir şey keçmək? 219 00:11:08,620 --> 00:11:12,570 Bu surətini edirik deməkdir qəbul olunur dəyişən. 220 00:11:12,570 --> 00:11:16,290 callee funksiyası funksiyası ki, dəyişən qəbul edir 221 00:11:16,290 --> 00:11:17,730 dəyişən özü almaq deyil. 222 00:11:17,730 --> 00:11:20,850 O, öz yerli alır bu surəti ilə işləmək üçün. 223 00:11:20,850 --> 00:11:24,070 >> Diziler, əlbəttə, bunu Bu qayda əməl. 224 00:11:24,070 --> 00:11:27,600 Əksinə, biz bu dediyimiz istinad keçir. 225 00:11:27,600 --> 00:11:31,360 callee həqiqətən array alır. 226 00:11:31,360 --> 00:11:34,207 Bu almaq deyil onun Bunun öz yerli surəti. 227 00:11:34,207 --> 00:11:36,040 Və barədə düşünmək , bu mənada edir. 228 00:11:36,040 --> 00:11:39,750 Diziler həqiqətən böyük varsa, çox vaxt və səy tələb edir 229 00:11:39,750 --> 00:11:44,470 bir sıra surəti etmək 100 və ya 1000 və ya 10,000 elementləri, 230 00:11:44,470 --> 00:11:48,290 bir üçün dəyər deyil ki, bir kopyasını almaq üçün fəaliyyət, 231 00:11:48,290 --> 00:11:51,037 sonra bəzi iş və yalnız surəti ilə edilə; 232 00:11:51,037 --> 00:11:53,120 Bu lazımdır deyil artıq ətrafında asma. 233 00:11:53,120 --> 00:11:54,710 >> Diziler Çünki bəzi böyük və çətin, 234 00:11:54,710 --> 00:11:56,001 biz yalnız istinad onları keçir. 235 00:11:56,001 --> 00:12:01,210 Biz yalnız funksiyası etibar bir şey qırmaq deyil üçün. 236 00:12:01,210 --> 00:12:03,010 Belə ki, həqiqətən array almaq deyil. 237 00:12:03,010 --> 00:12:05,290 Bu, öz yerli surəti almaq deyil. 238 00:12:05,290 --> 00:12:07,170 >> Belə ki, bu nə deməkdir, sonra zaman callee 239 00:12:07,170 --> 00:12:08,970 array elementləri manipulates? 240 00:12:08,970 --> 00:12:10,780 Nə baş verir? 241 00:12:10,780 --> 00:12:13,210 İndi, biz parıltı lazımdır niyə məhz bu artıq 242 00:12:13,210 --> 00:12:15,320 niyə serialların baş verir arayış qəbul edilir 243 00:12:15,320 --> 00:12:17,810 və başqa hər şey dəyəri ilə qəbul edilir. 244 00:12:17,810 --> 00:12:20,470 Amma sizə söz verirəm, biz qayıtmaq və sizə cavab vermək 245 00:12:20,470 --> 00:12:23,750 daha sonra video bu. 246 00:12:23,750 --> 00:12:28,110 >> Burada sizin üçün daha bir həyata var biz Diziler şeyi bükmək əvvəl. 247 00:12:28,110 --> 00:12:31,400 burada kodu dəstə ki Biz xüsusilə yaxşı style, 248 00:12:31,400 --> 00:12:33,400 yalnız mən ki, xəbərdarlıq etmək lazımdır. 249 00:12:33,400 --> 00:12:36,660 Burada şərh var, olan olduqca pis formasıdır. 250 00:12:36,660 --> 00:12:39,750 Amma bu mən olmaq istəyirdi, çünki yalnız var ekranda hər şey uyğun edə. 251 00:12:39,750 --> 00:12:44,360 >> Üst, mən ki, görə bilərsiniz set array üçün iki funksiyası bəyannamələrin 252 00:12:44,360 --> 00:12:45,820 və int seçin. 253 00:12:45,820 --> 00:12:49,680 Set array yəqin bir sıra edir onun giriş kimi dörd integers. 254 00:12:49,680 --> 00:12:52,767 Və set int yəqin edir onun giriş kimi bir tam. 255 00:12:52,767 --> 00:12:54,350 Lakin onların hər ikisi bir çıxış yoxdur. 256 00:12:54,350 --> 00:12:57,689 çıxış, qaytarılması hər bir etibarsız edir, yazın. 257 00:12:57,689 --> 00:12:59,480 Main, biz bir kodu xətləri neçə. 258 00:12:59,480 --> 00:13:02,730 Biz tam dəyişən elan A adlanır və bu dəyəri 10 tapşırılsın. 259 00:13:02,730 --> 00:13:07,080 Biz dörd integers bir sıra elan B adlanır və elementləri 0, 1 təyin, 260 00:13:07,080 --> 00:13:08,730 Müvafiq olaraq 2 və 3. 261 00:13:08,730 --> 00:13:12,190 Sonra biz təyin etmək üçün bir zəng int və zəng array təyin etmək üçün. 262 00:13:12,190 --> 00:13:15,910 set array və dəsti anlayışlar int altındakı aşağı aşağıdır. 263 00:13:15,910 --> 00:13:17,640 >> Belə ki, yenə, mən sizə sual. 264 00:13:17,640 --> 00:13:20,770 Nə çap olur Burada əsas sonunda? 265 00:13:20,770 --> 00:13:23,020 Bir printout col var. Mən iki tam çap. 266 00:13:23,020 --> 00:13:28,010 Mən A məzmunu çap alıram və B kvadrat mötərizə 0 məzmunu. 267 00:13:28,010 --> 00:13:29,880 Burada video fasilə və bir dəqiqə. 268 00:13:29,880 --> 00:13:35,482 Siz nə bu həyata rəqəm edə bilərəmmi funksiyası sonunda çap edəcək? 269 00:13:35,482 --> 00:13:38,190 Ümid edirəm ki, siz geri əgər dəyəri keçən arasında fərq 270 00:13:38,190 --> 00:13:41,680 və istinad keçən, bu problem sizin üçün çox çətin idi. 271 00:13:41,680 --> 00:13:44,130 Cavab və siz ki gördük bu. 272 00:13:44,130 --> 00:13:47,660 Siz kimi həqiqətən əmin değilseniz Ki, işin görə, ikinci almaq 273 00:13:47,660 --> 00:13:50,620 geri, Mən yalnız nə nəzərdən Diziler keçən haqqında müzakirə 274 00:13:50,620 --> 00:13:53,450 istinadən, keçən qarşı dəyəri digər dəyişənlərin, 275 00:13:53,450 --> 00:13:56,680 və ümid edirəm ki, bu, etmək lazımdır bir az daha mənada. 276 00:13:56,680 --> 00:13:59,760 >> Mən Doug Lloyd oldum və bu CS50 edir. 277 00:13:59,760 --> 00:14:01,467