1 00:00:00,000 --> 00:00:00,499 2 00:00:00,499 --> 00:00:11,261 [MUSIC ifa] 3 00:00:11,261 --> 00:00:12,640 >> DAVID J. MALAN: B眉t眉n h眉ququ. 4 00:00:12,640 --> 00:00:14,525 Bu CS50 edir. 5 00:00:14,525 --> 00:00:16,009 V蓹 bu h蓹ft蓹 5 ba艧lan臒谋c. 6 00:00:16,009 --> 00:00:18,050 V蓹 qeyd ola bil蓹r kimi, maddi b蓹zi 7 00:00:18,050 --> 00:00:21,050 bir az daha art谋r kompleks, ki莽ik s谋x. 8 00:00:21,050 --> 00:00:24,560 >> V蓹 x眉susil蓹 d蓹 蓹g蓹r, 莽ox asand谋r Siz, bir m眉dd蓹t v蓹rdi艧 oldum 9 00:00:24,560 --> 00:00:28,600 蓹n a艧a臒谋 c谋zmaq 眉莽眉n 莽al谋艧谋r谋q biz bir 艧ey, biz sinif dey蓹r蓹k edirik. 10 00:00:28,600 --> 00:00:31,626 Amma b蓹lk蓹 deyil, h蓹yata ideal pedaqoji yana艧ma 11 00:00:31,626 --> 00:00:34,250 material bu c眉r 枚yr蓹nm蓹k 眉莽眉n, v蓹 material 眉mumiyy蓹tl蓹. 12 00:00:34,250 --> 00:00:37,250 V蓹 bel蓹 ki, biz edirik ki, CS50 枚z Gheng elan 13 00:00:37,250 --> 00:00:39,780 Gong haz谋rlamaq ba艧lay谋b Notlar谋n canonical d蓹sti 14 00:00:39,780 --> 00:00:42,100 kurs 眉莽眉n, 眉mid bu ki, biri 15 00:00:42,100 --> 00:00:44,030 yaln谋z kimi xidm蓹t aray谋艧 v蓹 resurs 16 00:00:44,030 --> 00:00:47,410 material n蓹z蓹rd蓹n v蓹 ged蓹n 眉莽眉n geri material vasit蓹sil蓹 ola bil蓹r ki, 17 00:00:47,410 --> 00:00:51,230 , 蓹traf谋nda ilk d蓹f蓹 qa莽d谋 lakin d蓹 ki, sizin r蓹hb蓹rl蓹ri ola bil蓹r daha 莽ox 18 00:00:51,230 --> 00:00:53,740 a艧a臒谋, zaman daha q蓹d蓹r m眉hazir蓹 眉莽眉n vaxt g蓹lir, 19 00:00:53,740 --> 00:00:56,960 Siz m蓹艧臒ul ola bil蓹r ki, daha fikirli, kimi 20 00:00:56,960 --> 00:00:59,170 daha scribbly qar艧谋. 21 00:00:59,170 --> 00:01:02,510 >> Dedi ki, siz tapa bil蓹rsiniz n蓹 veb bu kimi s蓹n蓹dl蓹r. 22 00:01:02,510 --> 00:01:04,660 V蓹 bildiri艧, sol 眉st, var yaln谋z m蓹zmunu bir masa, 23 00:01:04,660 --> 00:01:06,920 h蓹m d蓹 vaxt kodlar谋 ki, d蓹rhal jump ed蓹c蓹k 24 00:01:06,920 --> 00:01:09,077 m眉vafiq hiss蓹si video online. 25 00:01:09,077 --> 00:01:11,410 V蓹 burada n蓹 Chang g枚rm眉艧d眉r , mahiyy蓹tc蓹, s蓹n蓹dl蓹艧dirilmi艧 26 00:01:11,410 --> 00:01:13,340 n蓹 bu ba艧 x眉susi m眉hazir蓹. 27 00:01:13,340 --> 00:01:16,370 V蓹 m眉hazir蓹l蓹r 莽ox art谋q online indi bu URL. 28 00:01:16,370 --> 00:01:20,110 V蓹 biz qalan g枚nd蓹rm蓹k 眉莽眉n davam ed蓹c蓹yik bu h蓹ft蓹 sonuna q蓹d蓹r o, 29 00:01:20,110 --> 00:01:22,380 ki, resurs istifad蓹 etm蓹k yoxdur. 30 00:01:22,380 --> 00:01:25,740 >> Bel蓹 ki, daha ADO olmadan, biz geri soymaq ba艧lad谋 31 00:01:25,740 --> 00:01:28,180 olmu艧dur ki, lay bir m眉dd蓹t string. 32 00:01:28,180 --> 00:01:30,670 V蓹 biz bir string n蓹 dem蓹k idi 蓹slind蓹 ke莽蓹n h蓹ft蓹? 33 00:01:30,670 --> 00:01:31,720 34 00:01:31,720 --> 00:01:32,900 Bel蓹 ki, char star. 35 00:01:32,900 --> 00:01:34,900 V蓹 char ulduz, yax艧谋, n蓹 ki, h蓹qiq蓹t蓹n dem蓹k idi? 36 00:01:34,900 --> 00:01:37,150 Yax艧谋, b眉t眉n bu vaxt, biz 蓹g蓹r bir funksiyas谋 z蓹ng edilmi艧dir, 37 00:01:37,150 --> 00:01:40,450 GetString v蓹 saxlan谋lmas谋 kimi s枚zd蓹 geri 38 00:01:40,450 --> 00:01:42,910 bir GetString d蓹y蓹ri d蓹yi艧蓹n deyirl蓹r 39 00:01:42,910 --> 00:01:47,721 biz yaz谋l谋 oldu臒unuz string s type up Yuxar谋da kod line. 40 00:01:47,721 --> 00:01:49,970 M蓹n g枚r蓹nd蓹 v蓹 yaln谋z m蓹nim yaz谋 burada b枚y眉d眉l蓹c蓹k 41 00:01:49,970 --> 00:01:51,930 M蓹n bu nec蓹 d蓹h艧蓹tli h蓹yata yoxdur. 42 00:01:51,930 --> 00:01:54,180 >> Lakin, ki, f蓹rz ed蓹k, sa臒 t蓹r蓹find蓹 43 00:01:54,180 --> 00:01:57,070 , yen蓹, bir a臒labatan deyil n蓹 t蓹sviri 44 00:01:57,070 --> 00:01:58,880 B眉t眉n bu davam GetString vaxt. 45 00:01:58,880 --> 00:02:00,380 getString, 蓹lb蓹tt蓹, bir simli olur. 46 00:02:00,380 --> 00:02:01,691 Amma h蓹qiq蓹t蓹n n蓹 dem蓹kdir? 47 00:02:01,691 --> 00:02:04,190 Bu bir y谋臒谋n olur dem蓹kdir 蓹m蓹liyyat sistemi yadda艧 48 00:02:04,190 --> 00:02:06,040 bir funksiyas谋 z蓹ng, malloc 莽a臒谋r谋b. 49 00:02:06,040 --> 00:02:07,390 Lakin daha sonra. 50 00:02:07,390 --> 00:02:09,139 V蓹 sonra populates yadda艧 ki, y谋臒谋n 51 00:02:09,139 --> 00:02:11,764 h蓹rfl蓹ri il蓹 istifad蓹莽i var , 莽ap izl蓹di, 蓹lb蓹tt蓹, 52 00:02:11,764 --> 00:02:14,800 bir null xarakteri, v蓹 ya backslash 莽ox sonunda s谋f谋r. 53 00:02:14,800 --> 00:02:18,280 >> Eyni zamanda, sol t蓹r蓹find蓹 Bu hekay蓹, b眉t眉n bu vaxt, 54 00:02:18,280 --> 00:02:20,850 biz s kimi bir d蓹yi艧蓹n elan etdik. 55 00:02:20,850 --> 00:02:24,770 V蓹 d蓹yi艧蓹n indi n蓹 edir Bir g枚st蓹rici z蓹ng ba艧layacaq. 56 00:02:24,770 --> 00:02:29,190 Bu, daxilind蓹 bir qutusu deyil biz string qoymaq Daven, 枚zl眉y眉nd蓹, 57 00:02:29,190 --> 00:02:32,550 lakin biz ki, kvadrat qoymaq sol n蓹 d蓹qiq qutusu? 58 00:02:32,550 --> 00:02:34,890 59 00:02:34,890 --> 00:02:35,390 B蓹li? 60 00:02:35,390 --> 00:02:37,118 >> Auditoriya: 眉nvan谋 harada yadda艧 yerl蓹艧ir oldu. 61 00:02:37,118 --> 00:02:38,118 >> DAVID J. MALAN: Exactly. 62 00:02:38,118 --> 00:02:40,690 Daven harada 眉nvan谋 yadda艧 yerl蓹艧ir. 63 00:02:40,690 --> 00:02:44,650 V蓹 Daven b眉t眉n yerl蓹艧ir harada 枚zl眉y眉nd蓹, lakin x眉susi olaraq 眉nvan谋 64 00:02:44,650 --> 00:02:45,150 N蓹? 65 00:02:45,150 --> 00:02:46,311 66 00:02:46,311 --> 00:02:46,810 B蓹li? 67 00:02:46,810 --> 00:02:47,460 >> Auditoriya: First character. 68 00:02:47,460 --> 00:02:50,209 >> DAVID J. MALAN: 陌lk xarakter Bu halda Daven, olan, 69 00:02:50,209 --> 00:02:53,820 M蓹n 蓹sass谋z idi t蓹klif v蓹 unrealistically 1, OX1, 70 00:02:53,820 --> 00:02:55,910 olan yaln谋z dem蓹kdir 1 hexadecimal say谋. 71 00:02:55,910 --> 00:02:57,993 Amma y蓹qin ki, olacaq daha b枚y眉k say谋 眉莽眉n 72 00:02:57,993 --> 00:03:01,260 biz c蓹lb ed蓹 bil蓹r ki, bir prefiks kimi bir 0x il蓹, 73 00:03:01,260 --> 00:03:02,806 bir hexadecimal xarakter t蓹msil. 74 00:03:02,806 --> 00:03:05,930 V蓹 biz bilm蓹k laz谋m deyil, 莽眉nki Daven simvol qalan 75 00:03:05,930 --> 00:03:09,860 莽眉nki, n蓹 sad蓹 dizayn q蓹rar谋 bir 莽ox il 蓹vv蓹l idi? 76 00:03:09,860 --> 00:03:10,548 B蓹li? 77 00:03:10,548 --> 00:03:11,651 >> Auditoriya: Backslash 0. 78 00:03:11,651 --> 00:03:12,900 DAVID J. MALAN: B蓹li, d蓹qiq. 79 00:03:12,900 --> 00:03:18,100 The backslash 0 olsa da, siz蓹 imkan verir x蓹tti vaxt, simli ax谋r, 80 00:03:18,100 --> 00:03:20,400 soldan sa臒a g蓹zm蓹k, bir loop 眉莽眉n, v蓹 ya bir m眉dd蓹t il蓹 81 00:03:20,400 --> 00:03:22,608 loop, v蓹 ya bir 艧ey kimi ki, burada, oh, m眉蓹yy蓹n 82 00:03:22,608 --> 00:03:24,751 bu simli sonu. 83 00:03:24,751 --> 00:03:27,000 Yaln谋z bu 眉nvan谋, simli ba艧lan臒谋c谋, 84 00:03:27,000 --> 00:03:30,290 biz tam 蓹ld蓹 ed蓹 bil蓹rsiniz Bu, b眉t眉n bu m眉dd蓹t, 莽眉nki, 85 00:03:30,290 --> 00:03:32,030 bir string bir char ulduz olmu艧dur. 86 00:03:32,030 --> 00:03:36,370 >> Bel蓹 ki, istifad蓹 davam etm蓹k 蓹lb蓹tt蓹 ki, g枚z蓹l var Bu CS50 kitabxana v蓹 bu abstraksiya, 87 00:03:36,370 --> 00:03:38,440 bel蓹 ki, dan谋艧maq, lakin biz will 眉莽眉n d蓹qiq g枚rm蓹k ba艧layacaq 88 00:03:38,440 --> 00:03:41,230 neler oldu B眉t眉n bu vaxt alt谋ndan. 89 00:03:41,230 --> 00:03:45,260 Bel蓹 ki, bu n眉mun蓹 geri bil蓹r, d蓹 son d蓹f蓹, 0 m眉qayis蓹, 90 00:03:45,260 --> 00:03:47,300 faktiki m眉qayis蓹 etm蓹di. 91 00:03:47,300 --> 00:03:49,070 Amma biz bu h蓹ll etm蓹y蓹 ba艧lad谋. 92 00:03:49,070 --> 00:03:52,020 >> Amma b蓹lk蓹 d蓹 ixtisasart谋rma, M蓹n kims蓹 maraq ola bil蓹r 93 00:03:52,020 --> 00:03:54,261 莽蓹hray谋 fil g眉n, da Chang etdi? 94 00:03:54,261 --> 00:03:55,760 Nec蓹 qar艧谋s谋nda haqq谋nda? [I艧itilemez]. 95 00:03:55,760 --> 00:03:56,660 Q蓹d蓹r Hadi. 96 00:03:56,660 --> 00:03:58,740 >> V蓹 bu arada, Siz g蓹lm蓹k kimi, ed蓹k 97 00:03:58,740 --> 00:04:01,670 yaln谋z bir an 眉莽眉n hesab n蓹 Bu kodu h蓹qiq蓹t蓹n edirdi. 98 00:04:01,670 --> 00:04:04,917 Bu iki d蓹yi艧蓹nl蓹rin q蓹d蓹r elan edir top, s v蓹 t v蓹 getString z蓹ng. 99 00:04:04,917 --> 00:04:08,250 Bu, bir 莽ox istifad蓹莽i dostu proqram deyil Bu dem蓹k deyil, 莽眉nki n蓹. 100 00:04:08,250 --> 00:04:10,541 Lakin biz ist蓹yirik g眉man ed蓹k sulu hiss蓹si 眉z蓹rind蓹 dayan谋l谋r. 101 00:04:10,541 --> 00:04:14,470 S b蓹rab蓹rdir 蓹g蓹r v蓹 sonra biz bunu ki, printf dem蓹k laz谋md谋r t b蓹rab蓹rdir, 102 00:04:14,470 --> 00:04:16,170 Siz eyni 艧ey tipli. 103 00:04:16,170 --> 00:04:16,670 Hello. 104 00:04:16,670 --> 00:04:17,050 Sizin ad谋n谋z n蓹dir? 105 00:04:17,050 --> 00:04:17,779 >> Janelle: Janelle. 106 00:04:17,779 --> 00:04:19,529 DAVID J. MALAN: Janelle, g枚r眉艧m蓹k 眉莽眉n g枚z蓹l. 107 00:04:19,529 --> 00:04:21,800 Sizin problem bel蓹 Bu fil 蓹l 108 00:04:21,800 --> 00:04:25,230 ilk biz蓹 n蓹 bir 艧蓹kil 莽蓹km蓹k 眉莽眉n o ilk iki t蓹msil olunur 109 00:04:25,230 --> 00:04:25,970 x蓹tl蓹ri. 110 00:04:25,970 --> 00:04:28,139 Bel蓹 ki, s v蓹 t ola bil蓹r nec蓹 ekranda t蓹msil? 111 00:04:28,139 --> 00:04:30,680 V蓹 yaln谋z bu c蓹lb ed蓹 bil蓹r Bu b枚y眉k ekranda barmaq. 112 00:04:30,680 --> 00:04:31,780 113 00:04:31,780 --> 00:04:34,510 >> Bel蓹 ki, iki yar谋ya indirir var t蓹nlik h蓹r t蓹r蓹fi. 114 00:04:34,510 --> 00:04:37,760 Bel蓹 ki, orada sol s, v蓹 sonra sa臒 getString. 115 00:04:37,760 --> 00:04:40,540 V蓹 sonra t, sol var v蓹 sonra sa臒 getString. 116 00:04:40,540 --> 00:04:42,630 Bel蓹 ki, nec蓹 ba艧laya bil蓹r bir 艧蓹kil r蓹sm ki, 117 00:04:42,630 --> 00:04:46,340 neler t蓹msil Burada yadda艧, siz dey蓹c蓹ksiniz? 118 00:04:46,340 --> 00:04:49,150 V蓹 m蓹n蓹 izah ed蓹k Siz getm蓹k kimi n蓹 edirik. 119 00:04:49,150 --> 00:04:49,820 >> Janelle: OK. 120 00:04:49,820 --> 00:04:58,890 B蓹li, ilk, xahi艧 olunacaq Siz giri艧 string almaq. 121 00:04:58,890 --> 00:05:00,439 V蓹 t蓹蓹ss眉f, oh store-- olard谋. 122 00:05:00,439 --> 00:05:01,230 DAVID J. MALAN: OK. 123 00:05:01,230 --> 00:05:01,730 Yax艧谋. 124 00:05:01,730 --> 00:05:03,330 V蓹 bu n蓹 adlan谋r? 125 00:05:03,330 --> 00:05:03,950 OK, Oh. 126 00:05:03,950 --> 00:05:04,450 Davam edin. 127 00:05:04,450 --> 00:05:05,575 M蓹n dayand谋rmaq dem蓹k deyil. 128 00:05:05,575 --> 00:05:07,060 Janelle: Sorry. 129 00:05:07,060 --> 00:05:14,237 Bel蓹 ki, daxil onu daxil ed蓹c蓹kl蓹rini 脺nvan 蓹min kontormerinin T蓹f蓹rr眉atlar. 130 00:05:14,237 --> 00:05:17,320 M蓹n d蓹qiq say谋 xat谋rlay谋ram bilm蓹z, lakin m蓹n 0 ba艧layaraq inan谋ram. 131 00:05:17,320 --> 00:05:18,420 >> DAVID J. MALAN: Y蓹ni b眉t眉n do臒ru M蓹n n枚mr蓹l蓹ri 莽眉nki, 132 00:05:18,420 --> 00:05:19,650 bel蓹 ki, he莽 d眉zg眉n cavab var. 133 00:05:19,650 --> 00:05:22,105 >> Janelle: 0 q枚vs il蓹 ba艧layaraq. 134 00:05:22,105 --> 00:05:24,000 >> DAVID J. MALAN: OK, bel蓹 ki, element 0. 135 00:05:24,000 --> 00:05:24,765 Sure. 136 00:05:24,765 --> 00:05:28,295 >> Janelle: V蓹 sonra, 蓹g蓹r yaln谋z iki m蓹ktub kimi 137 00:05:28,295 --> 00:05:30,496 >> DAVID J. MALAN: OK, geri. 138 00:05:30,496 --> 00:05:33,629 >> Janelle: Bel蓹 element 0 v蓹 sonra element 1 v蓹 ya element 2. 139 00:05:33,629 --> 00:05:36,670 Par莽a V蓹: DAVID J. MALAN 艧蓹kil indi r蓹sm? 140 00:05:36,670 --> 00:05:37,690 GetString z蓹ng? 141 00:05:37,690 --> 00:05:38,830 Ya s b蓹yannam蓹? 142 00:05:38,830 --> 00:05:42,890 >> Janelle: B蓹yannam蓹 s, inan谋ram. 143 00:05:42,890 --> 00:05:45,980 Oh, getString, bu ki, 莽眉nki h蓹r [daxil inputted? sah蓹si. ?] 144 00:05:45,980 --> 00:05:46,510 >> DAVID J. MALAN: Yax艧谋. 145 00:05:46,510 --> 00:05:47,051 D蓹qiq. 146 00:05:47,051 --> 00:05:49,300 H蓹tta bu s蓹m蓹r蓹li olsa bir s谋ra, geri qaytar谋r, 147 00:05:49,300 --> 00:05:53,300 biz bir string geri almaq zaman, biz 01 v蓹 2 istifad蓹 ed蓹r蓹k simli index. 148 00:05:53,300 --> 00:05:56,180 Texniki, bu y蓹qin ki, F蓹rdi 眉nvanlar谋 t蓹msil, 149 00:05:56,180 --> 00:05:57,100 lakin g枚z蓹l var. 150 00:05:57,100 --> 00:06:00,170 >> Bel蓹 ki, g眉man, m蓹n yaln谋z s眉r蓹tli bil蓹rsiniz biz off sol harada ir蓹li 151 00:06:00,170 --> 00:06:04,320 Sonuncu d蓹f蓹 biri 蓹g蓹r strings, bir b e g idi 152 00:06:04,320 --> 00:06:10,337 backslash 0, bununla t蓹msil gabe Agentliyi Giri艧, nec蓹 biz indi ola bil蓹r? 153 00:06:10,337 --> 00:06:12,670 Bu ki, yadda艧 蓹g蓹r GetString geri edilmi艧dir? 154 00:06:12,670 --> 00:06:14,415 155 00:06:14,415 --> 00:06:17,610 >> Janelle: bu olacaq Bir q枚vs t蓹msil? 156 00:06:17,610 --> 00:06:18,750 >> DAVID J. MALAN: bir q枚vs By? 157 00:06:18,750 --> 00:06:19,130 He莽 bir, yax艧谋. 158 00:06:19,130 --> 00:06:21,171 , Yaln谋z pictorially, deyirl蓹r M蓹n蓹 yaln谋z ir蓹li getm蓹k 159 00:06:21,171 --> 00:06:25,710 Bu s, 蓹g蓹r, ki, bu t蓹klif GetString qaytar谋lmas谋 d蓹y蓹ri. 160 00:06:25,710 --> 00:06:29,482 V蓹 0, 1, 2, bu t蓹rtib etdiyiniz , m眉k蓹mm蓹l a臒labatan deyil 脟眉nki 161 00:06:29,482 --> 00:06:30,940 kimi simli index bil蓹rsiniz. 162 00:06:30,940 --> 00:06:33,340 Amma yaln谋z uy臒un olmaq Sonuncu d蓹f蓹 m蓹n蓹 ir蓹li ged蓹k 163 00:06:33,340 --> 00:06:37,310 v蓹 枚zba艧谋na bu t蓹klif 眉nvan, 1 bu 眉nvan谋 2, 164 00:06:37,310 --> 00:06:39,597 Bu s 眉nvan谋 3 v蓹. 165 00:06:39,597 --> 00:06:41,430 Bel蓹 ki, yaln谋z super olmaq ayd谋n, n蓹 olacaq 166 00:06:41,430 --> 00:06:44,580 ki, n蓹tic蓹sind蓹 s getm蓹k 眉莽眉n kodu ilk line, siz dey蓹c蓹ksiniz? 167 00:06:44,580 --> 00:06:45,420 >> Janelle: 脺nvan 1? 168 00:06:45,420 --> 00:06:46,420 >> DAVID J. MALAN: Exactly. 169 00:06:46,420 --> 00:06:47,190 Bel蓹 ki, 0x1 m眉raci蓹t. 170 00:06:47,190 --> 00:06:48,220 171 00:06:48,220 --> 00:06:51,230 V蓹 eyni zamanda, m蓹n蓹 ir蓹li ged蓹k v蓹 Siz etdiyiniz n蓹 q蓹d蓹r dublikat 172 00:06:51,230 --> 00:06:52,740 v蓹 burada 枚z t 蓹lav蓹 edin. 173 00:06:52,740 --> 00:06:56,340 M蓹n g蓹b蓹 yaz谋n olsayd谋 yen蓹 ikinci d蓹f蓹, 174 00:06:56,340 --> 00:07:01,530 GetString il蓹 istenir zaman, harada, 茝lb蓹tt蓹, gabe getm蓹k 眉莽眉n gedir? 175 00:07:01,530 --> 00:07:02,280 Yax艧谋, presumably-- 176 00:07:02,280 --> 00:07:04,935 177 00:07:04,935 --> 00:07:05,975 >> Janelle: burada Like? 178 00:07:05,975 --> 00:07:06,850 DAVID J. MALAN: B蓹li. 179 00:07:06,850 --> 00:07:08,516 Janelle: Yoxsa eyni qutular谋 da var? 180 00:07:08,516 --> 00:07:11,940 DAVID J. MALAN: M蓹n蓹 B蓹li, t蓹klif ed蓹k d蓹qiq, bu 蓹lav蓹 qutular谋 bel蓹. 181 00:07:11,940 --> 00:07:15,230 Amma indi n蓹 蓹sas var bel蓹 ki, M蓹n bu olduqca yax谋n t蓹rtib etdik baxmayaraq 182 00:07:15,230 --> 00:07:18,650 together-- 0x1, bu 蓹slind蓹 0x2-- olunur, 183 00:07:18,650 --> 00:07:25,750 bu art谋q, 眉nvan谋 0x10 ola bil蓹r M蓹s蓹l蓹n, v蓹 0x11, v蓹 0x12, 184 00:07:25,750 --> 00:07:26,870 v蓹 s. 185 00:07:26,870 --> 00:07:29,955 V蓹 bel蓹 ki, bu halda, n蓹 t burada sona olacaq? 186 00:07:29,955 --> 00:07:30,830 >> Janelle: 0x10? 187 00:07:30,830 --> 00:07:31,830 DAVID J. MALAN: Exactly. 188 00:07:31,830 --> 00:07:33,180 Bel蓹 ki, 0x10. 189 00:07:33,180 --> 00:07:34,570 V蓹 indi, son sual. 190 00:07:34,570 --> 00:07:37,510 Siz uzaq, i艧 var g眉n蓹 q蓹d蓹r bir fil 眉莽眉n 蓹n a臒谋r. 191 00:07:37,510 --> 00:07:42,650 陌ndi, m蓹n kodu qoparmaq 蓹g蓹r yen蓹 n蓹 zaman, x蓹tti 眉莽, 192 00:07:42,650 --> 00:07:47,630 s b蓹rab蓹rdir t b蓹rab蓹rdir 蓹g蓹r, M蓹n, h蓹qiq蓹t蓹n, n蓹 am biz burada t蓹rtib etdik m眉qayis蓹 ki? 193 00:07:47,630 --> 00:07:49,271 >> Janelle: 陌ki URL? 194 00:07:49,271 --> 00:07:50,270 DAVID J. MALAN: Exactly. 195 00:07:50,270 --> 00:07:53,350 M蓹n t b蓹rab蓹r b蓹rab蓹r oldu dedi al谋ram? 196 00:07:53,350 --> 00:07:56,210 Ba艧qa s枚zl蓹, 10 b蓹rab蓹r b蓹rab蓹r 1? 197 00:07:56,210 --> 00:07:59,710 V蓹 蓹lb蓹tt蓹, A艧kar cavab indi he莽 edir. 198 00:07:59,710 --> 00:08:02,920 V蓹 bu proqram n蓹tic蓹d蓹 Siz dem蓹k n蓹, 莽ap olacaq? 199 00:08:02,920 --> 00:08:05,770 200 00:08:05,770 --> 00:08:08,405 >> Janelle: bu, ola bil蓹r Siz eyni 艧ey tipli? 201 00:08:08,405 --> 00:08:11,446 >> DAVID J. MALAN: Bel蓹 ki s 1 v蓹 t 10? 202 00:08:11,446 --> 00:08:13,320 >> Janelle: Siz m眉xt蓹lif 艧eyl蓹ri yaz谋lm谋艧. 203 00:08:13,320 --> 00:08:13,570 >> DAVID J. MALAN: Exactly. 204 00:08:13,570 --> 00:08:14,480 Siz m眉xt蓹lif 艧eyl蓹ri yaz谋lm谋艧. 205 00:08:14,480 --> 00:08:14,850 B眉t眉n h眉quqlar. 206 00:08:14,850 --> 00:08:16,714 Bel蓹 ki, bir alq谋艧, Burada, biz bil蓹r. 207 00:08:16,714 --> 00:08:17,214 [Alq谋艧] 208 00:08:17,214 --> 00:08:17,708 Ki, a臒r谋l谋 idi. 209 00:08:17,708 --> 00:08:18,208 M蓹n bilir蓹m. 210 00:08:18,208 --> 00:08:19,684 G枚z蓹l i艧l蓹r. 211 00:08:19,684 --> 00:08:24,690 Bel蓹 ki, indi g枚r蓹k, 蓹g蓹r biz bilm蓹z fix n蓹 ayr谋 tease. 212 00:08:24,690 --> 00:08:28,040 V蓹 蓹lb蓹tt蓹, biz bunu m眉蓹yy蓹n zaman m蓹n indi green-- t蓹msil ed蓹c蓹yik 213 00:08:28,040 --> 00:08:29,690 Biz burada aksesuarlar谋n bir ne莽蓹 etdi. 214 00:08:29,690 --> 00:08:32,409 Birincisi, bir a臒l谋 ba艧谋nda olma kimi M蓹n ilk yoxlan谋lmas谋 al谋ram, yoxlamaq 215 00:08:32,409 --> 00:08:35,110 s null b蓹rab蓹rdir v蓹 t null b蓹rab蓹rdir 蓹g蓹r. 216 00:08:35,110 --> 00:08:39,440 V蓹 yaln谋z ayd谋n olmaq, zaman g眉c ya t ox艧ar kodu null olacaq? 217 00:08:39,440 --> 00:08:43,140 218 00:08:43,140 --> 00:08:44,490 Zaman v蓹 ya t null ola bil蓹r. 219 00:08:44,490 --> 00:08:44,990 B蓹li? 220 00:08:44,990 --> 00:08:45,990 >> Auditoriya: [i艧itilemez]. 221 00:08:45,990 --> 00:08:49,490 222 00:08:49,490 --> 00:08:50,510 >> DAVID J. MALAN: Exactly. 223 00:08:50,510 --> 00:08:52,840 Simli istifad蓹莽i ki, 蓹g蓹r Y谋臒d谋臒谋n谋z yol 莽ox uzun 224 00:08:52,840 --> 00:08:56,140 yadda艧 uy臒un, v蓹 ya b蓹zi kimi q蓹rib蓹 k眉nc halda, 225 00:08:56,140 --> 00:08:59,010 biz g枚r蓹c蓹ksiniz kimi, sanki, getString Bu g眉n, onun s蓹n蓹dl蓹rin, 226 00:08:59,010 --> 00:09:02,330 kimi null qay谋dacaq deyir x眉susi sentinel d蓹y蓹ri, 227 00:09:02,330 --> 00:09:05,417 v蓹 ya yaln谋z sort x眉susi simvolu ki, bir 艧ey yanl谋艧 getdi dem蓹kdir. 228 00:09:05,417 --> 00:09:07,500 Bel蓹 ki, biz check ist蓹diyiniz bu 莽谋x谋r, 莽眉nki 229 00:09:07,500 --> 00:09:09,720 ki, null 莽ox t蓹hl眉k蓹li d蓹y蓹ri n蓹. 230 00:09:09,720 --> 00:09:14,250 >> Tez-tez, bir 艧ey etm蓹k 眉莽眉n c蓹hd edin null ke莽蓹n bir funksiyas谋 c蓹lb 231 00:09:14,250 --> 00:09:17,470 giri艧 kimi ki, funksiyas谋 instance-- 眉莽眉n 莽ox bu, q蓹za v蓹 bil蓹r, 232 00:09:17,470 --> 00:09:19,090 b眉t眉n proqram yazmaq. 233 00:09:19,090 --> 00:09:22,570 Bel蓹 ki, bu 眉莽眉nc眉 x蓹tt indi yaln谋z bir a臒l谋 ba艧谋nda olma deyil Siz 蓹g蓹r, s蓹hv yoxlan谋lmas谋 yoxlay谋n. 234 00:09:22,570 --> 00:09:25,450 Ki, indi yax艧谋 v蓹rdi艧 var Biz蓹 h蓹r zaman almaq 眉莽眉n biz 235 00:09:25,450 --> 00:09:28,050 bir d蓹y蓹ri istifad蓹 etm蓹y蓹 c蓹hd ki, , potensial, null ola bil蓹r. 236 00:09:28,050 --> 00:09:32,000 >> 陌ndi burada d枚rd眉nc眉 x蓹tti, "茝g蓹r strcmp (s, t)," yax艧谋, 237 00:09:32,000 --> 00:09:33,180 n蓹 istinad蓹n var? 238 00:09:33,180 --> 00:09:36,750 B蓹li, biz bu 莽ox m眉f蓹ss蓹l a bildirib string m眉qayis蓹 眉莽眉n adl谋 funksiyas谋. 239 00:09:36,750 --> 00:09:40,370 V蓹 h蓹yat onun m蓹qs蓹di m眉qayis蓹 etm蓹k ikinci buna qar艧谋 ilk d蓹lil, 240 00:09:40,370 --> 00:09:44,640 lakin onlar谋n 眉nvanlar谋 bax谋m谋ndan, biz bir an t蓹sad眉f蓹n etdi 241 00:09:44,640 --> 00:09:48,270 蓹vv蓹l q谋rm谋z谋 kodu il蓹, lakin deyil, h蓹min iki m眉qayis蓹 242 00:09:48,270 --> 00:09:53,210 Bu humanly intuitiv strings Buna qar艧谋, bu m眉qayis蓹 il蓹 yol, 243 00:09:53,210 --> 00:09:56,690 bu, qar艧谋 v蓹 qar艧谋 sonra dayand谋r谋lmas谋 zaman 蓹g蓹r bir v蓹 244 00:09:56,690 --> 00:09:59,590 v蓹 ya barmaqlar谋 h蓹r bir backslash 0 edib. 245 00:09:59,590 --> 00:10:04,530 Bel蓹 ki, kims蓹 il 蓹vv蓹l h蓹yata ke莽iril蓹n strcmp Funksional谋臒谋na bizim 眉莽眉n h蓹yata 246 00:10:04,530 --> 00:10:08,890 biz kazan谋lm谋艧 olard谋 眉mid etdiyini yaln谋z iki sad蓹 d蓹y蓹rl蓹ri m眉qayis蓹. 247 00:10:08,890 --> 00:10:14,929 >> 陌ndi s蓹mimi, m蓹n r蓹sm saxlamaq Bu m眉xt蓹lif 蓹d蓹d b眉t眉n. 248 00:10:14,929 --> 00:10:17,470 Amma reall谋q oldum ki, b眉t眉n vaxt bu q蓹d蓹r edilm蓹si. 249 00:10:17,470 --> 00:10:19,580 V蓹 m蓹n蓹 yaln谋z ir蓹li getm蓹k v蓹 bu h蓹yata c谋zmaq 250 00:10:19,580 --> 00:10:23,100 bir point etm蓹k ki, sonunda g眉n v蓹 ir蓹li h蓹r蓹k蓹t, 251 00:10:23,100 --> 00:10:30,160 biz, h蓹qiq蓹t蓹n qay臒谋 fikrind蓹 deyilik n蓹 艧eyl蓹r 蓹slind蓹 m眉raci蓹t 252 00:10:30,160 --> 00:10:30,790 yadda艧. 253 00:10:30,790 --> 00:10:34,320 M蓹n bu 莽蓹km蓹k fikrind蓹 deyil蓹m q蓹d蓹r art谋q n枚mr蓹l蓹ri n枚v, 254 00:10:34,320 --> 00:10:38,970 M蓹n uzaq bir bu yaln谋z m眉c蓹rr蓹d deyil蓹m yaln谋z oxlar谋 il蓹 莽ox dostluq az. 255 00:10:38,970 --> 00:10:42,060 >> Ba艧qa s枚zl蓹, bir pointer 蓹g蓹r, yax艧谋, yaln谋z, sanki 莽蓹km蓹k imkan 256 00:10:42,060 --> 00:10:45,430 bir g枚st蓹rici kimi, bir arrow i艧ar蓹 , ba艧qa bir 艧ey 枚z眉 257 00:10:45,430 --> 00:10:48,280 v蓹 莽ox daha 莽ox narahat Bu 眉nvanlar谋 minutia 258 00:10:48,280 --> 00:10:49,910 ki, yen蓹, m蓹n h蓹r halda t蓹艧kil edib. 259 00:10:49,910 --> 00:10:52,680 Amma biz o 眉nvanlar谋 g枚rm蓹k laz谋md谋r, b蓹z蓹n kodu hata zaman. 260 00:10:52,680 --> 00:10:56,450 >> 陌ndi is蓹, bu proqram burada d眉zeltmelerini, 蓹lb蓹tt蓹, 261 00:10:56,450 --> 00:10:58,720 m眉qayis蓹 ki, problem bu iki strings. 262 00:10:58,720 --> 00:11:00,260 Amma biz ba艧qa problem qa莽d谋. 263 00:11:00,260 --> 00:11:03,180 Bu sur蓹ti idi son d蓹f蓹 proqram 264 00:11:03,180 --> 00:11:06,880 vasit蓹si, M蓹n kapitalla艧d谋rmaq 莽al谋艧谋r simli yaln谋z ilk character. 265 00:11:06,880 --> 00:11:09,620 Amma simptom n蓹 idi biz zaman sonuncu d蓹f蓹 g枚rd眉m 266 00:11:09,620 --> 00:11:14,150 bir istifad蓹莽i kimi, bir d蓹y蓹r tipli ki莽ik gabe, s, 267 00:11:14,150 --> 00:11:19,310 sonra biz t daxil s verildi orada 眉莽眉nc眉 x蓹tti kimi, 268 00:11:19,310 --> 00:11:22,900 v蓹 sonra m蓹n 莽al谋艧d谋 t bracket 0 kapitalla艧d谋rmaq? 269 00:11:22,900 --> 00:11:25,950 T蓹siri n蓹 idi t bracket 0 burada d蓹yi艧ir? 270 00:11:25,950 --> 00:11:27,150 >> Auditoriya: Bu s d蓹yi艧di. 271 00:11:27,150 --> 00:11:29,360 >> DAVID J. MALAN: B蓹li, M蓹n d蓹, s d蓹yi艧di. 272 00:11:29,360 --> 00:11:31,050 H蓹qiq蓹t蓹n gedir n蓹 莽眉nki? 273 00:11:31,050 --> 00:11:34,130 B蓹li, m蓹n t蓹miz olar, 蓹g蓹r m蓹n蓹 g枚r蓹k Bu 艧蓹kil up, a艧a臒谋dak谋 kimi. 274 00:11:34,130 --> 00:11:41,390 >> S varsa, yen蓹 s枚z g, a, b, e, backslash, 0, s 275 00:11:41,390 --> 00:11:44,084 biz bir qutu kimi r蓹sm davam ed蓹c蓹yik Burada, lakin daha 莽ox 眉nvanlar谋. 276 00:11:44,084 --> 00:11:45,250 Nin 艧eyi edilm蓹si dayand谋rmaq bildirin. 277 00:11:45,250 --> 00:11:47,510 Yaln谋z bir 艧蓹kil 莽蓹km蓹k ed蓹k d眉nya sad蓹l蓹艧dirm蓹k. 278 00:11:47,510 --> 00:11:52,640 >> M蓹n string t il蓹 t b蓹yan ed蓹rk蓹n, ki, yadda艧 ki, y谋臒谋n yarad谋r. 279 00:11:52,640 --> 00:11:55,850 Square 32 olur 蓹n komp眉ter bit. 280 00:11:55,850 --> 00:11:59,530 茝slind蓹, 蓹g蓹r he莽 bir e艧itdim komp眉ter, 32-bit memarl谋q olan 281 00:11:59,530 --> 00:12:03,000 h蓹qiq蓹t蓹n fantezi-dan谋艧maq, yaln谋z 32-bit 眉nvanlar谋n谋 istifad蓹 edir dem蓹kdir. 282 00:12:03,000 --> 00:12:05,370 V蓹 bir k蓹nara texniki, 茝g蓹r merak etdiyiniz 蓹g蓹r 283 00:12:05,370 --> 00:12:09,630 niy蓹 k枚hn蓹 komp眉ter, h蓹qiq蓹t蓹n 蓹g蓹r RAM 莽ox 艧orbas谋 onlar谋 莽al谋艧d谋, 284 00:12:09,630 --> 00:12:12,360 yaln谋z maksimum ola bil蓹r RAM d枚rd gigabayt, 285 00:12:12,360 --> 00:12:14,860 yax艧谋 s枚z眉n, 莽眉nki, K枚hn蓹 komp眉ter ola bil蓹r yaln谋z 286 00:12:14,860 --> 00:12:17,250 4 kimi y眉ks蓹k saymaq milyard, 4 milyard bayt, 287 00:12:17,250 --> 00:12:20,590 脟眉nki 32-bit istifad蓹 URL 眉莽眉n n枚mr蓹l蓹ri. 288 00:12:20,590 --> 00:12:23,260 >> Amma h蓹r halda, bu M蓹s蓹l蓹n, hekay蓹 莽ox sad蓹. 289 00:12:23,260 --> 00:12:27,250 t yaln谋z ba艧qa g枚st蓹rici, v蓹 ya h蓹qiq蓹t蓹n char ulduz, aka string. 290 00:12:27,250 --> 00:12:30,860 V蓹 nec蓹 bu 艧蓹kil yenil蓹m蓹k ist蓹yir蓹m 陌ndi kod ikinci x蓹tti il蓹, 291 00:12:30,860 --> 00:12:31,950 sa臒da, n枚qt蓹, n枚qt蓹? 292 00:12:31,950 --> 00:12:35,845 M蓹n n蓹 zaman string t, s n枚qt蓹li verg眉l b蓹rab蓹rdir bu 艧蓹kil nec蓹 d蓹yi艧蓹 bil蓹r? 293 00:12:35,845 --> 00:12:37,500 294 00:12:37,500 --> 00:12:38,000 B蓹li? 295 00:12:38,000 --> 00:12:38,916 >> Auditoriya: [i艧itilemez]. 296 00:12:38,916 --> 00:12:41,087 297 00:12:41,087 --> 00:12:42,020 >> DAVID J. MALAN: B蓹li. 298 00:12:42,020 --> 00:12:42,600 D蓹qiq. 299 00:12:42,600 --> 00:12:45,620 M蓹n yaln谋z bir arrow qoymaq eyni 眉nvana t qutusu, 300 00:12:45,620 --> 00:12:47,570 eyni ilk m蓹ktubu verdi. 301 00:12:47,570 --> 00:12:50,850 V蓹 ya texniki, 蓹g蓹r bu guy, 0x1 h蓹l蓹 ki 302 00:12:50,850 --> 00:12:53,052 I baxmayaraq kimi bu Burada 0x1 v蓹 burada 0x1. 303 00:12:53,052 --> 00:12:54,760 Ancaq yen蓹 d蓹, kimin umurunda URL haqq谋nda? 304 00:12:54,760 --> 00:12:56,345 陌ndi m蓹s蓹l蓹 ki, yaln谋z bir fikirdir. 305 00:12:56,345 --> 00:12:57,720 Bel蓹 ki, burada n蓹 edir. 306 00:12:57,720 --> 00:13:02,690 茝lb蓹tt蓹, 蓹g蓹r t bracket Bel蓹 ki, Array notation olan 0, 307 00:13:02,690 --> 00:13:05,650 of kursu v蓹 s蓹mimi, g枚r眉n眉r burada bir s谋ra var kimi, 308 00:13:05,650 --> 00:13:07,340 lakin indi bu q蓹rib蓹 艧ey var. 309 00:13:07,340 --> 00:13:11,160 Proqramla艧d谋rma dilini bilm蓹k, C, bu x眉susiyy蓹t t蓹klif edir 310 00:13:11,160 --> 00:13:14,650 vasit蓹si, t bir olsa pointer, v蓹 ya bir g枚st蓹rici, 311 00:13:14,650 --> 00:13:18,050 Siz h蓹l蓹 ki, tan谋艧 istifad蓹 ed蓹 bil蓹rsiniz rahat kvadrat m枚t蓹riz蓹 312 00:13:18,050 --> 00:13:22,520 notation ilk element getm蓹k 眉莽眉n, 陌kinci element, v蓹 ya h蓹r hans谋 element v蓹 ya 313 00:13:22,520 --> 00:13:26,130 ki, pointer i艧ar蓹 edir ki, ehtimalla, 莽眉nki 314 00:13:26,130 --> 00:13:29,410 , bu halda kimi, b蓹zi array i艧ar蓹. 315 00:13:29,410 --> 00:13:30,340 >> Bel蓹 ki, nec蓹 biz bu d眉zeltmek edirsiniz? 316 00:13:30,340 --> 00:13:33,660 Bir ald谋臒谋 s蓹mimi, bu ilk bax谋艧da az b枚y眉k. 317 00:13:33,660 --> 00:13:35,340 Amma burada bir yeni v蓹 t蓹kmill蓹艧dirilmi艧 versiyas谋. 318 00:13:35,340 --> 00:13:37,460 >> Bel蓹 ki, ilk al谋ram Bu CS50 kitabxana xilas, 319 00:13:37,460 --> 00:13:41,170 yaln谋z h蓹qiq蓹t蓹n ki, var edir if艧a bir char ulduz, yaln谋z bir sinonimi. 320 00:13:41,170 --> 00:13:43,540 V蓹 t da char ulduz edir. 321 00:13:43,540 --> 00:13:48,290 Amma haqq谋nda n蓹 gedir ki, x蓹tti sa臒 t蓹r蓹fd蓹n 322 00:13:48,290 --> 00:13:49,970 t bir d蓹y蓹r t蓹yin olunur? 323 00:13:49,970 --> 00:13:50,790 >> Malloc n蓹dir? 324 00:13:50,790 --> 00:13:51,630 N蓹 strlen? 325 00:13:51,630 --> 00:13:52,547 Sizeof (char) n蓹dir? 326 00:13:52,547 --> 00:13:54,380 N蓹 heck bu yoxdur line baxmaq bel蓹 kompleks? 327 00:13:54,380 --> 00:13:55,713 N蓹 y眉ks蓹k s蓹viyy蓹d蓹 edir? 328 00:13:55,713 --> 00:13:56,482 329 00:13:56,482 --> 00:13:57,440 N蓹 t saxlan谋lmas谋? 330 00:13:57,440 --> 00:13:58,646 B蓹li? 331 00:13:58,646 --> 00:14:01,104 Auditoriya: Bu ayr谋lmas谋 oldu bir yadda艧 alan谋 m眉蓹yy蓹n m蓹bl蓹臒i. 332 00:14:01,104 --> 00:14:03,032 Bu, saxlamaq 眉莽眉n var h蓹rhalda, m蓹ktublar [I艧itilemez]. 333 00:14:03,032 --> 00:14:04,032 >> DAVID J. MALAN: Perfect. 334 00:14:04,032 --> 00:14:04,540 Perfect. 335 00:14:04,540 --> 00:14:06,650 Bu m眉蓹yy蓹n ayr谋lmas谋 oldu yadda艧 alan谋 m蓹bl蓹臒i 336 00:14:06,650 --> 00:14:08,940 , ehtimalla, g蓹l蓹c蓹k m蓹ktublar saxlamaq 眉莽眉n. 337 00:14:08,940 --> 00:14:11,310 V蓹 x眉susil蓹, malloc Buna g枚r蓹 d蓹 n蓹 qay谋d谋r? 338 00:14:11,310 --> 00:14:13,114 339 00:14:13,114 --> 00:14:14,851 >> Auditoriya: [i艧itilemez] olmusunuz? 340 00:14:14,851 --> 00:14:15,850 DAVID J. MALAN: Exactly. 341 00:14:15,850 --> 00:14:18,850 Ki, yadda艧 眉nvan qaytar谋lmas谋, olan dey蓹r蓹k bir x眉lya yoludur, 342 00:14:18,850 --> 00:14:21,640 Bu 眉nvan qaytar谋r ki, yadda艧 ilk byte. 343 00:14:21,640 --> 00:14:25,460 M蓹n蓹 yadda 眉zr蓹 onus edir n蓹 q蓹d蓹r yadda艧 M蓹n, h蓹qiq蓹t蓹n, 344 00:14:25,460 --> 00:14:27,140 ayr谋lm谋艧 v蓹 ya malloc ist蓹di. 345 00:14:27,140 --> 00:14:28,384 >> 陌ndi n蓹 q蓹d蓹r? 346 00:14:28,384 --> 00:14:30,550 B蓹li, var, baxmayaraq ki, Burada m枚t蓹riz蓹d蓹 bir 莽ox, 347 00:14:30,550 --> 00:14:32,970 malloc yaln谋z bir m眉bahis蓹 edir. 348 00:14:32,970 --> 00:14:37,250 M蓹n s strlen ifad蓹 verm蓹k bel蓹 al谋ram M蓹n蓹 莽ox bytes s var kimi, 349 00:14:37,250 --> 00:14:37,800 lakin bir 蓹lav蓹. 350 00:14:37,800 --> 00:14:38,300 Niy蓹? 351 00:14:38,300 --> 00:14:39,030 352 00:14:39,030 --> 00:14:39,530 B蓹li? 353 00:14:39,530 --> 00:14:40,840 >> Auditoriya: backslash 0. 354 00:14:40,840 --> 00:14:41,840 DAVID J. MALAN: Exactly. 355 00:14:41,840 --> 00:14:43,423 Biz bir az Ev t蓹s蓹rr眉fat谋 n蓹 var. 356 00:14:43,423 --> 00:14:45,970 Bir backslash var, 莽眉nki Bel蓹 ki, 0, biz daha yax艧谋 xat谋rlay谋ram ediyorum. 357 00:14:45,970 --> 00:14:47,310 茝ks halda, biz gedirik bir string yaratmaq 眉莽眉n 358 00:14:47,310 --> 00:14:49,170 x眉susi terminator yoxdur. 359 00:14:49,170 --> 00:14:52,640 >> Eyni zamanda, yaln谋z super olmaq anal, I, sizeof (char) var 360 00:14:52,640 --> 00:14:55,730 yaln谋z halda kims蓹 m蓹nim 莽al谋艧谋r deyil CS50 cihaz kodu, 361 00:14:55,730 --> 00:14:58,220 lakin b蓹lk蓹 m眉xt蓹lif komp眉ter c蓹mi yerl蓹艧ir chars 362 00:14:58,220 --> 00:15:01,470 Konvensiya il蓹 bir byte var, lakin iki bytes, v蓹 ya daha b枚y眉k bir 艧ey. 363 00:15:01,470 --> 00:15:04,490 Bu, sad蓹c蓹 super olmaq 眉莽眉n var, s蓹hvl蓹r super qar艧谋. 364 00:15:04,490 --> 00:15:06,940 Baxmayaraq ki, 蓹slind蓹, bu 莽ox g眉man ki, 1 olacaq. 365 00:15:06,940 --> 00:15:11,490 >> 陌ndi is蓹, m蓹n ir蓹li getm蓹k v蓹 sur蓹ti simli, t bracket i t bracket s b蓹rab蓹rdir. 366 00:15:11,490 --> 00:15:14,962 M蓹n ke莽蓹n h蓹ft蓹 眉莽眉n t蓹xir蓹 salmaq olacaq m蓹nb蓹 kodu neler g枚rmek 眉莽眉n. 367 00:15:14,962 --> 00:15:17,670 茝sas paket v蓹 ancaq s蓹b蓹bi, ya艧谋l, indi kodu qoymaq 368 00:15:17,670 --> 00:15:22,520 ki, son line 莽眉nki t bracket 0, toupper b蓹rab蓹rdir 369 00:15:22,520 --> 00:15:25,230 t蓹siri var h蓹rfl蓹 olan string? 370 00:15:25,230 --> 00:15:26,960 t v蓹 / v蓹 ya s? 371 00:15:26,960 --> 00:15:29,280 372 00:15:29,280 --> 00:15:30,580 Kodu ki, son line. 373 00:15:30,580 --> 00:15:32,930 374 00:15:32,930 --> 00:15:35,560 >> N蓹 莽眉nki Just t, , bu d蓹f蓹 ba艧 375 00:15:35,560 --> 00:15:41,500 M蓹n bir az ki, son add谋m geri 蓹g蓹r, M蓹n malloc z蓹ng zaman, n蓹 edir, ba艧 376 00:15:41,500 --> 00:15:45,380 M蓹n mahiyy蓹tc蓹 yadda艧 y谋臒谋n almaq ki, orijinal kimi eyni 枚l莽眉s眉, 377 00:15:45,380 --> 00:15:47,020 ki, hesab 莽眉nki etdim. 378 00:15:47,020 --> 00:15:50,920 M蓹n 眉nvan t saxlan谋lmas谋 al谋ram yadda艧 ki, y谋臒谋n. 379 00:15:50,920 --> 00:15:53,370 H蓹tta bu g枚z蓹l g枚r眉n眉r baxmayaraq v蓹 olduqca g枚z蓹l v蓹 bo艧, 380 00:15:53,370 --> 00:15:56,882 reall谋q n蓹 biz will var edir Burada, z蓹ng zibil d蓹y蓹rl蓹r saxlamaq. 381 00:15:56,882 --> 00:15:59,340 Yadda艧 ki, y谋臒谋n bil蓹c蓹k 莽ox d蓹 蓹vv蓹l istifad蓹 edilmi艧dir, 382 00:15:59,340 --> 00:16:00,940 bir ne莽蓹 saniy蓹, bir ne莽蓹 d蓹qiq蓹 蓹vv蓹l. 383 00:16:00,940 --> 00:16:04,410 Bel蓹 ki, tamamil蓹 n枚mr蓹l蓹ri ola bil蓹r yaln谋z q蓹za var v蓹 ya m蓹ktublar,. 384 00:16:04,410 --> 00:16:08,580 Amma onlar q蓹d蓹r etibarl谋 deyilik 枚z眉m眉 yadda艧 bu y谋臒谋n ya艧ay谋r 385 00:16:08,580 --> 00:16:12,510 faktiki chars il蓹 kimi orada loop 眉莽眉n yoxdur. 386 00:16:12,510 --> 00:16:13,180 B眉t眉n h眉quqlar? 387 00:16:13,180 --> 00:16:16,180 >> Bel蓹 ki, indi orgasm Bu 眉莽 n眉mun蓹l蓹ri 388 00:16:16,180 --> 00:16:20,730 ki, zahir蓹n, son d蓹f蓹 s谋n谋q idi Bu Swap M蓹s蓹l蓹n, bu funksiya 389 00:16:20,730 --> 00:16:23,670 m蓹nada i艧l蓹yib Bu bir v蓹 b d蓹yi艧dirildikd蓹 ki. 390 00:16:23,670 --> 00:16:25,620 Amma n蓹 dig蓹r m蓹nada i艧 deyil? 391 00:16:25,620 --> 00:16:27,616 392 00:16:27,616 --> 00:16:28,614 B蓹li? 393 00:16:28,614 --> 00:16:29,612 >> Auditoriya: [i艧itilemez]. 394 00:16:29,612 --> 00:16:35,600 395 00:16:35,600 --> 00:16:36,700 >> DAVID J. MALAN: Exactly. 396 00:16:36,700 --> 00:16:39,530 M蓹n bu funksiya z蓹ng idi 蓹g蓹r M蓹s蓹l蓹n another-- d蓹n, 397 00:16:39,530 --> 00:16:42,870 , burada 蓹sas kimi bir funksiya I I, d蓹yi艧蓹n, x v蓹 y 398 00:16:42,870 --> 00:16:46,160 Ke莽蓹n h蓹ft蓹 oldu臒u, eyni kodu, v蓹 m蓹n x v蓹 y ke莽m蓹k 399 00:16:46,160 --> 00:16:49,860 Swap, sonra Swap-- z蓹ng etm蓹k 眉莽眉n, 蓹lb蓹tt蓹, d眉zg眉n versiyas谋 400 00:16:49,860 --> 00:16:52,220 biz ist蓹yirik n蓹 edir see-- bunu etm蓹yib. 401 00:16:52,220 --> 00:16:53,770 Bel蓹 ki, fix n蓹dir? 402 00:16:53,770 --> 00:16:56,850 >> Yax艧谋, bel蓹 ki, yaln谋z olmaq ayd谋n, m蓹n蓹 ir蓹li ged蓹k 403 00:16:56,850 --> 00:17:05,450 and-- ikinci burada m蓹n蓹 verm蓹k, v蓹 g枚rm蓹k M蓹n siz蓹 son bir g枚st蓹r蓹 bil蓹r 蓹g蓹r 404 00:17:05,450 --> 00:17:12,464 M蓹n tapa bil蓹rsiniz 蓹g蓹r in g枚r蓹k in-- olacaq Bu real fast-- OK, [I艧itilemez]. 405 00:17:12,464 --> 00:17:18,440 406 00:17:18,440 --> 00:17:19,240 OK, orada deyil. 407 00:17:19,240 --> 00:17:21,000 M蓹n yaln谋z yazaraq al谋ram 蓹mrl蓹ri bilm蓹z. 408 00:17:21,000 --> 00:17:23,780 M蓹n bunu almaq ist蓹yir蓹m son d蓹qiq蓹 n眉mun蓹 409 00:17:23,780 --> 00:17:27,960 Son d蓹f蓹, hans谋 indi he莽 bir Swap adlan谋r. 410 00:17:27,960 --> 00:17:30,200 >> Bel蓹 ki, he莽 Swap oldu臒u Biz son d蓹f蓹 off sol 411 00:17:30,200 --> 00:17:32,930 vasit蓹si, I ba艧lat谋lm谋艧 1 x v蓹 2 y. 412 00:17:32,930 --> 00:17:35,840 M蓹n sonra 1 v蓹 2 ke莽蓹n Swap z蓹ng. 413 00:17:35,840 --> 00:17:37,930 V蓹 sonra bu funksiya m眉蓹yy蓹n m蓹nada i艧l蓹yib, 414 00:17:37,930 --> 00:17:40,750 lakin he莽 daimi idi x v蓹 y t蓹sir. 415 00:17:40,750 --> 00:17:45,430 Bel蓹 ki, 蓹l-da m蓹s蓹l蓹 nec蓹 indi, n蓹 Biz h蓹qiq蓹t蓹n bu problemi h蓹ll edirsiniz? 416 00:17:45,430 --> 00:17:47,820 茝l h蓹lli n蓹dir? 417 00:17:47,820 --> 00:17:53,150 >> B蓹li, bu g眉n yeni olan swap.c da, f蓹rql蓹r bir ne莽蓹 bildiri艧. 418 00:17:53,150 --> 00:17:54,700 x v蓹 y eynidir. 419 00:17:54,700 --> 00:17:57,250 Amma n蓹 ayd谋n deyil line 25 haqq谋nda m眉xt蓹lif var? 420 00:17:57,250 --> 00:17:58,880 421 00:17:58,880 --> 00:18:01,715 Yad谋n谋zdad谋rsa, n蓹 var yeni ikinci bir 蓹vv蓹l kimi baxd谋 n蓹? 422 00:18:01,715 --> 00:18:02,565 >> Auditoriya: [i艧itilemez]. 423 00:18:02,565 --> 00:18:03,440 >> DAVID J. MALAN: B蓹li. 424 00:18:03,440 --> 00:18:06,680 Bel蓹 ki, Ampersands yeni par莽a var sintaksis yaln谋z bu proqram, 425 00:18:06,680 --> 00:18:08,560 h蓹m d蓹 眉mumiyy蓹tl蓹 CS50. 426 00:18:08,560 --> 00:18:10,680 Tarix, m蓹n d眉艧眉nm眉r蓹m Biz h蓹r hans谋 bir 枚rnekler g枚rd眉m 427 00:18:10,680 --> 00:18:14,070 v蓹 ya, h蓹qiq蓹t蓹n, h蓹r hans谋 onlara dan谋艧d谋 b蓹lk蓹, preemptively ba艧qa detal, 428 00:18:14,070 --> 00:18:16,467 b枚lm蓹sind蓹, bu kimi bir i艧areti. 429 00:18:16,467 --> 00:18:19,300 B蓹li, bu i艧areti bir 莽谋x谋r yeni sintaksis son 蓹d蓹d 430 00:18:19,300 --> 00:18:20,174 biz 枚yr蓹nm蓹k olacaq. 431 00:18:20,174 --> 00:18:23,500 O dem蓹kdir ki, bu B蓹zi d蓹yi艧蓹n 眉nvan谋. 432 00:18:23,500 --> 00:18:25,070 N蓹 眉nvan At x ya艧ay谋r? 433 00:18:25,070 --> 00:18:26,510 Amma y n蓹 眉nvan谋 ya艧ay谋r? 434 00:18:26,510 --> 00:18:28,700 脟眉nki 蓹g蓹r 蓹vv蓹l fundamental problem 435 00:18:28,700 --> 00:18:32,970 ki, x v蓹 y ke莽ib edildi biz h蓹qiq蓹t蓹n etm蓹k ist蓹yir蓹m n蓹 n眉sx蓹 kimi 436 00:18:32,970 --> 00:18:38,780 bir x蓹zin蓹 kimi il蓹 Swap t蓹min edir harada x v蓹 h蓹qiq蓹t蓹n y g蓹tirib 莽谋xar谋r ki, x蓹rit蓹 437 00:18:38,780 --> 00:18:41,910 ki, RAM var Swap x蓹rit蓹si t蓹qib ed蓹 bil蓹rsiniz 438 00:18:41,910 --> 00:18:47,760 x v蓹 ya y spot qeyd yerd蓹 v蓹 getm蓹k v蓹 faktiki d蓹y蓹rl蓹ri d蓹yi艧dirm蓹k 1 v蓹 2 439 00:18:47,760 --> 00:18:48,270 var. 440 00:18:48,270 --> 00:18:50,710 >> Bel蓹 ki, Swap 莽ox az d蓹yi艧dirm蓹k laz谋md谋r. 441 00:18:50,710 --> 00:18:53,760 V蓹 ilk bax谋艧dan, bu q眉dr蓹t char ulduz bir az ox艧ar g枚r眉n眉r. 442 00:18:53,760 --> 00:18:54,850 V蓹 h蓹qiq蓹t蓹n deyil. 443 00:18:54,850 --> 00:18:59,635 Bel蓹 ki, m蓹lumatlar谋n hans谋 n枚v bir g枚st蓹rici, Bu qeyd hiss蓹si 蓹saslan谋r? 444 00:18:59,635 --> 00:19:00,810 445 00:19:00,810 --> 00:19:01,620 Bel蓹 ki, bir int var. 446 00:19:01,620 --> 00:19:04,880 >> Bel蓹 bir art谋q int edir, bir int 眉nvan谋 var. 447 00:19:04,880 --> 00:19:07,910 V蓹 eyni, b indi gedir bir int 眉nvan谋 olacaq. 448 00:19:07,910 --> 00:19:12,470 M蓹n indi 茝sas olan Swap z蓹ng zaman, M蓹n d蓹yi艧dirm蓹k 1 v蓹 2 verm蓹k fikrind蓹 deyil蓹m. 449 00:19:12,470 --> 00:19:15,540 M蓹n kimi verm蓹k gedir蓹m Ox-bir v蓹 枚k眉z bir 艧ey, 450 00:19:15,540 --> 00:19:19,820 s蓹b蓹b olacaq ki, iki 眉nvanlar谋 Onlar谋n faktiki yerl蓹rd蓹 Swap 451 00:19:19,820 --> 00:19:21,310 m蓹nim komp眉ter yadda艧. 452 00:19:21,310 --> 00:19:25,580 >> Bel蓹 ki, indi m蓹nim qalan h蓹yata ke莽irilm蓹si bir TAD d蓹yi艧dirm蓹k laz谋md谋r. 453 00:19:25,580 --> 00:19:28,650 N蓹 indi a莽谋q-ayd谋n m眉xt蓹lif kod bu 眉莽 x蓹tl蓹ri? 454 00:19:28,650 --> 00:19:31,350 B眉t眉n bu l蓹n蓹tl蓹m蓹k stars var yer 眉z蓹rind蓹, b眉t眉n sa臒? 455 00:19:31,350 --> 00:19:33,014 B蓹s burada olub? 456 00:19:33,014 --> 00:19:33,514 B蓹li? 457 00:19:33,514 --> 00:19:35,055 >> Auditoriya: Bu [I艧itilemez] a莽谋q-ayd谋n var. 458 00:19:35,055 --> 00:19:36,832 459 00:19:36,832 --> 00:19:37,990 >> DAVID J. MALAN: Exactly. 460 00:19:37,990 --> 00:19:41,560 Bu kontekstd蓹 bel蓹 v蓹 bu idi 茝n yax艧谋 dizayn q蓹rar, etiraf, 461 00:19:41,560 --> 00:19:42,530 il 蓹vv蓹l. 462 00:19:42,530 --> 00:19:45,110 Bu 莽蓹r莽iv蓹d蓹, oldu臒u Siz yaln谋z bir ulduz var, 463 00:19:45,110 --> 00:19:48,240 v蓹 bir veri n枚v眉 yoxdur, int kimi, d蓹rhal sol, 464 00:19:48,240 --> 00:19:53,146 蓹v蓹zin蓹 ayd谋n, b蓹rab蓹r i艧ar蓹si var, Bu 莽蓹r莽iv蓹d蓹, siz dey蓹nd蓹 bir ulduz, 465 00:19:53,146 --> 00:19:56,980 ki, getm蓹k dem蓹kdir bir var ki, 眉nvan谋. 466 00:19:56,980 --> 00:19:58,870 Bel蓹 ki, dan谋艧maq, x蓹zin蓹 x蓹rit蓹 edin. 467 00:19:58,870 --> 00:20:01,720 >> V蓹 eyni zamanda, x蓹tt 37, eyni 艧ey dem蓹kdir. 468 00:20:01,720 --> 00:20:05,460 脺nvan a getm蓹k v蓹 orada n蓹 qoymaq? 469 00:20:05,460 --> 00:20:09,520 N蓹 olursa olsun edir b ifad蓹 ed蓹n yer. 470 00:20:09,520 --> 00:20:10,980 Ba艧qa s枚zl蓹, b gedin. 471 00:20:10,980 --> 00:20:12,130 Ki, d蓹y蓹ri al谋n. 472 00:20:12,130 --> 00:20:15,620 B蓹rab蓹r ba艧谋na bir gedin v蓹 imza, atama operator, 473 00:20:15,620 --> 00:20:17,010 var ki, d蓹y蓹ri qoydu. 474 00:20:17,010 --> 00:20:19,272 >> Eynil蓹, int temp yaln谋z bir int edir. 475 00:20:19,272 --> 00:20:20,730 He莽 temp haqq谋nda d蓹yi艧dirm蓹k laz谋md谋r. 476 00:20:20,730 --> 00:20:24,810 Bu Annenberg yaln谋z bir ehtiyat 艧眉艧蓹 var B蓹zi s眉d v蓹 ya porta臒al 艧ir蓹si 眉莽眉n. 477 00:20:24,810 --> 00:20:27,630 Amma, dem蓹k b getm蓹k laz谋md谋r. 478 00:20:27,630 --> 00:20:31,449 Ki, hedef gedin v蓹 orada temp d蓹y蓹ri qoydu. 479 00:20:31,449 --> 00:20:32,490 Bel蓹likl蓹 n蓹? 480 00:20:32,490 --> 00:20:36,540 M蓹n, h蓹qiq蓹t蓹n, bu d蓹f蓹 Swap z蓹ng zaman Bu ilk tray burada Main t蓹msil 481 00:20:36,540 --> 00:20:42,270 bu ikinci tray Swap t蓹msil zaman M蓹n i艧areti x v蓹 i艧areti y ke莽m蓹k 482 00:20:42,270 --> 00:20:47,150 Main Swap, yaln谋z, ayd谋n olmaq bu y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 q蓹bul n蓹dir? 483 00:20:47,150 --> 00:20:48,700 484 00:20:48,700 --> 00:20:49,200 B蓹li? 485 00:20:49,200 --> 00:20:50,180 >> Auditoriya: [i艧itilemez]. 486 00:20:50,180 --> 00:20:51,180 DAVID J. MALAN: Exactly. 487 00:20:51,180 --> 00:20:53,129 X 眉nvan谋 v蓹 y 眉nvan谋. 488 00:20:53,129 --> 00:20:55,170 V蓹 bu hesab ed蓹 bil蓹r po莽t 眉nvanlar谋 kimi. 489 00:20:55,170 --> 00:20:58,772 33 Oxford Street v蓹 35 Oxford Street, v蓹 siz 490 00:20:58,772 --> 00:21:01,230 iki bina h蓹r蓹k蓹t etm蓹k ist蓹yir蓹m h蓹min yerl蓹rd蓹 var. 491 00:21:01,230 --> 00:21:04,680 >> Bu g眉l眉nc ideya sort var, lakin biz 眉nvan dem蓹k b眉t眉n var. 492 00:21:04,680 --> 00:21:07,000 D眉nyan谋n haras谋nda bil蓹rsiniz Bu iki ints tapmaq? 493 00:21:07,000 --> 00:21:09,470 D眉nyan谋n haras谋nda siz Bu iki bina tapmaq? 494 00:21:09,470 --> 00:21:15,170 Bel蓹 ki, n蓹hay蓹t, 蓹g蓹r b眉t眉n bu vaxt I sonra bug眉nk眉 m蓹nb蓹 kodu daxil v蓹 t蓹rtib 495 00:21:15,170 --> 00:21:22,110 Swap v蓹 run ./swap, n蓹hay蓹t, 眉莽眉n 陌lk d蓹f蓹 biz, h蓹qiq蓹t蓹n, g枚r眉rs眉n眉z 496 00:21:22,110 --> 00:21:25,330 m蓹nim d蓹y蓹rl蓹r h蓹qiq蓹t蓹n var u臒urla de臒i艧tirilecek. 497 00:21:25,330 --> 00:21:30,860 陌ndi, biz h蓹tta bil蓹r bu, dem蓹k, gdb qeyd. 498 00:21:30,860 --> 00:21:32,740 >> Bel蓹 ki, m蓹n蓹 eyni fayl daxil ed蓹k. 499 00:21:32,740 --> 00:21:35,010 M蓹n蓹 ir蓹li getm蓹k v蓹 ./swap v蓹 gdb run ed蓹k. 500 00:21:35,010 --> 00:21:36,590 501 00:21:36,590 --> 00:21:40,547 陌ndi, Swap, m蓹n getm蓹k 眉莽眉n gedir蓹m ir蓹li v蓹 茝sas bir fasil蓹 n枚qt蓹sini qurmaq. 502 00:21:40,547 --> 00:21:42,630 V蓹 indi m蓹n getm蓹k 眉莽眉n gedir蓹m ir蓹li v蓹 proqram谋. 503 00:21:42,630 --> 00:21:45,810 V蓹 indi m蓹nim kodu g枚r蓹c蓹ksiniz x蓹tt durduruldu. 504 00:21:45,810 --> 00:21:48,330 >> M蓹n ir蓹li v蓹 莽ap getm蓹k 蓹g蓹r x, m蓹n burada n蓹 g枚r眉rs眉n眉z? 505 00:21:48,330 --> 00:21:49,314 506 00:21:49,314 --> 00:21:49,980 Bu bir sual var. 507 00:21:49,980 --> 00:21:51,030 508 00:21:51,030 --> 00:21:51,530 Daha dem蓹k? 509 00:21:51,530 --> 00:21:52,295 >> Auditoriya: [i艧itilemez]. 510 00:21:52,295 --> 00:21:53,910 >> DAVID J. MALAN: Bel蓹 ki, t蓹sad眉fi n枚mr蓹l蓹ri, b蓹lk蓹. 511 00:21:53,910 --> 00:21:56,010 B蓹lk蓹 m蓹n xo艧b蓹xt almaq v蓹 bu 0 kimi, g枚z蓹l v蓹 sad蓹. 512 00:21:56,010 --> 00:21:57,230 Amma b蓹lk蓹 bir t蓹sad眉fi say谋 var. 513 00:21:57,230 --> 00:21:58,090 Bu halda, m蓹n xo艧b蓹xt var. 514 00:21:58,090 --> 00:21:59,030 Bu, yaln谋z 0 olur. 515 00:21:59,030 --> 00:22:00,780 Amma bu, h蓹qiq蓹t蓹n u臒urlar deyil q蓹d蓹r, 莽眉nki m蓹n 516 00:22:00,780 --> 00:22:06,280 n枚vb蓹ti yaz谋n v蓹 sonra 莽ap x ki var kod line, line 19, edam olunub. 517 00:22:06,280 --> 00:22:10,942 >> Eyni zamanda, m蓹n yaz谋n 蓹g蓹r daha sonrak谋 v蓹 indi 2 gedir蓹m, y 莽ap. 518 00:22:10,942 --> 00:22:13,900 M蓹n n枚vb蓹ti yaz谋n 蓹g蓹r 陌ndi, bu olacaq bir az confusing almaq, indi, 519 00:22:13,900 --> 00:22:17,250 printf g枚r眉n眉r gedir ekran bunu kimi. x 1. 520 00:22:17,250 --> 00:22:18,606 >> Yen蓹 bunu ed蓹k. 521 00:22:18,606 --> 00:22:20,480 陌ndi, burada harada 艧eyl蓹r maraql谋 almaq. 522 00:22:20,480 --> 00:22:21,580 523 00:22:21,580 --> 00:22:26,580 M蓹n Swap v蓹 ya h蓹tta bir add谋m z蓹ng 蓹vv蓹l onu, bir az peek almaq ed蓹k. 524 00:22:26,580 --> 00:22:28,980 x, yen蓹 1. 525 00:22:28,980 --> 00:22:33,240 Y, 蓹lb蓹tt蓹, tez a臒l谋 ba艧谋nda olma edir bel蓹 a臒谋r oldu臒unu, 2 yoxlay谋n. 526 00:22:33,240 --> 00:22:35,740 Amma i艧areti x n蓹dir? 527 00:22:35,740 --> 00:22:36,760 528 00:22:36,760 --> 00:22:39,350 Cavab, bu c眉r funky axtar谋r. 529 00:22:39,350 --> 00:22:43,500 Amma parantez int ulduz yaln谋z Bu s枚zl蓹ri 脺DM yolu bir 眉nvan. 530 00:22:43,500 --> 00:22:48,290 Bu, bir bir g枚st蓹rici bir int var deyil int, v蓹 ya ba艧qa bir 眉nvan kimi tan谋n谋r. 531 00:22:48,290 --> 00:22:49,742 >> Bu crazy 艧ey n蓹dir? 532 00:22:49,742 --> 00:22:51,825 Biz bir 艧ey g枚rm蓹mi艧蓹m olduqca 蓹vv蓹l ki, kimi. 533 00:22:51,825 --> 00:22:53,650 534 00:22:53,650 --> 00:22:58,120 Bel蓹 ki, bu m蓹nim komp眉ter-in 眉nvan谋 x ya艧amaq olur harada yadda艧. 535 00:22:58,120 --> 00:22:59,040 Bu Ox-bir 艧ey var. 536 00:22:59,040 --> 00:23:01,290 V蓹 bu s蓹mimi, n蓹, M蓹n oklar谋 r蓹sm a莽谋lm谋艧 etdik, 537 00:23:01,290 --> 00:23:03,340 蓹v蓹zin蓹 n枚mr蓹l蓹ri, h蓹qiq蓹t蓹n qay臒谋 莽眉nki 538 00:23:03,340 --> 00:23:06,890 Sizin int x眉susi edir ki, big ki, ki, 眉nvan谋. 539 00:23:06,890 --> 00:23:12,160 Amma bffff0c4, bu b眉t眉n var h蓹qiq蓹t蓹n hexadecimal r蓹q蓹m, 540 00:23:12,160 --> 00:23:13,720 f vasit蓹sil蓹 0 olan. 541 00:23:13,720 --> 00:23:16,590 >> Bel蓹likl蓹, biz 莽ox qalacaqlar fikrind蓹 deyilik O 艧eyi n蓹 uzun. 542 00:23:16,590 --> 00:23:19,400 Amma y 莽ap 蓹g蓹r, 茝lb蓹tt蓹, m蓹n 2 g枚r眉r眉k. 543 00:23:19,400 --> 00:23:22,440 Amma i艧areti y, m蓹n bu 眉nvan谋 g枚r眉r眉k. 544 00:23:22,440 --> 00:23:26,527 V蓹 bildiri艧, maraql谋 眉莽眉n, ayr谋 x v蓹 y n蓹 q蓹d蓹r var? 545 00:23:26,527 --> 00:23:27,985 Siz 眉nvan 蓹n iqnor ed蓹 bil蓹r. 546 00:23:27,985 --> 00:23:29,330 547 00:23:29,330 --> 00:23:29,920 D枚rd bytes. 548 00:23:29,920 --> 00:23:33,510 V蓹 uy臒un deyil bizim 蓹vv蓹ll蓹r int nec蓹 b枚y眉k oldu臒unu iddia? 549 00:23:33,510 --> 00:23:34,130 D枚rd bytes. 550 00:23:34,130 --> 00:23:37,420 Bel蓹 ki, h蓹r 艧ey astarl谋 up kimi g枚r眉n眉r q蓹艧蓹ng, yadda艧, 眉mid ed蓹 bil蓹r kimi. 551 00:23:37,420 --> 00:23:40,010 >> Bel蓹 ki, indi yaln谋z s眉r蓹tli ir蓹li ed蓹k Bu hekay蓹 sonuna. 552 00:23:40,010 --> 00:23:43,290 Nin ir蓹li getm蓹k v蓹 add谋m yaz谋n imkan Swap funksiyas谋 daxil dal谋艧. 553 00:23:43,290 --> 00:23:46,880 陌ndi m蓹n bir yaz谋n 蓹g蓹r, bu, qeyd x 眉nvan谋 眉莽眉n eyni. 554 00:23:46,880 --> 00:23:52,130 I b yaz谋n 蓹g蓹r, bu eyni deyil y 眉nvan 眉莽眉n. 555 00:23:52,130 --> 00:23:57,020 M蓹n 蓹g蓹r n蓹 g枚r眉rs眉n眉z bir 眉nvana getm蓹k dem蓹k? 556 00:23:57,020 --> 00:23:58,120 Bel蓹 ki, bir ulduz 莽ap. 557 00:23:58,120 --> 00:24:00,130 Bel蓹 ki, ulduz bu 莽蓹r莽iv蓹d蓹, orada getm蓹k dem蓹kdir. 558 00:24:00,130 --> 00:24:02,730 Ampersand 眉nvan谋 n蓹 dem蓹kdir. 559 00:24:02,730 --> 00:24:05,000 Bel蓹 bir vasit蓹 1 ulduz. 560 00:24:05,000 --> 00:24:09,590 V蓹 莽ap star b m蓹n蓹 2 verir. 561 00:24:09,590 --> 00:24:15,750 >> V蓹 m蓹n蓹 bu an 眉莽眉n, f蓹rz ed蓹k, 蓹n az谋 kodu ki, 562 00:24:15,750 --> 00:24:18,950 ola bil蓹r indi icra g蓹lir yol vasit蓹sil蓹 蓹sasland谋r谋lmas谋. 563 00:24:18,950 --> 00:24:21,150 Amma biz uzun 蓹vv蓹l bu fikir yenid蓹n laz谋md谋r. 564 00:24:21,150 --> 00:24:23,850 Swap Bel蓹 ki, bu versiya indi d眉zg眉n v蓹 imkan verir 565 00:24:23,850 --> 00:24:26,650 us bu veri n枚v眉 d蓹yi艧dirm蓹k 眉莽眉n. 566 00:24:26,650 --> 00:24:29,120 >> Bel蓹 ki, h蓹r hans谋 bir sual谋n谋z sonra Swap? 567 00:24:29,120 --> 00:24:29,890 Ulduz? 568 00:24:29,890 --> 00:24:30,690 脺nvan谋 haqq谋nda? 569 00:24:30,690 --> 00:24:33,270 V蓹 il蓹, siz g枚r蓹c蓹ksiniz problem, sort, 4 qurmaq 570 00:24:33,270 --> 00:24:37,310 lakin problem 5, m眉tl蓹q, nec蓹 bu m眉蓹yy蓹n 艧eyl蓹r faydal谋 v蓹 daha 莽ox almaq 571 00:24:37,310 --> 00:24:39,584 n蓹tic蓹sind蓹, onlarla rahat. 572 00:24:39,584 --> 00:24:40,430 B眉t眉n 艧ey? 573 00:24:40,430 --> 00:24:40,930 B眉t眉n h眉quqlar. 574 00:24:40,930 --> 00:24:44,350 Bel蓹 ki, malloc, bu funksiya yenid蓹n, yaln谋z yadda艧, yadda艧 ay谋r谋r 575 00:24:44,350 --> 00:24:45,330 ayr谋lmas谋. 576 00:24:45,330 --> 00:24:47,024 V蓹 niy蓹 bu faydal谋d谋r? 577 00:24:47,024 --> 00:24:48,940 Yax艧谋, b眉t眉n bu vaxt, Siz malloc istifad蓹 etdik. 578 00:24:48,940 --> 00:24:52,230 陌ndi nec蓹 hesab 蓹g蓹r i艧l蓹ri getString, ehtimalla, bu 579 00:24:52,230 --> 00:24:56,140 bir y谋臒谋n 眉莽眉n kims蓹 xahi艧 yadda艧, zaman istifad蓹莽i bir string 580 00:24:56,140 --> 00:24:59,040 , 蓹lb蓹tt蓹 ki, biz, 莽眉nki bilmir蓹m, CS50 hey蓹ti, 581 00:24:59,040 --> 00:25:02,710 nec蓹 b枚y眉k o strings ki, insanlar ola bil蓹r yaz谋n gedir. 582 00:25:02,710 --> 00:25:07,910 >> Bel蓹 ki, ilk d蓹f蓹, ba艧lamaq ed蓹k peel geri nec蓹 CS50 kitabxana i艧l蓹ri, 583 00:25:07,910 --> 00:25:10,990 n眉mun蓹l蓹ri bir ne莽蓹 yolu il蓹 ki, biz蓹 r蓹hb蓹rlik ed蓹c蓹k. 584 00:25:10,990 --> 00:25:15,300 M蓹n gedit a莽maq Bel蓹 ki, v蓹 scanf 0 a莽maq 585 00:25:15,300 --> 00:25:17,055 biz a艧a臒谋dak谋 kodu g枚rm蓹k olacaq. 586 00:25:17,055 --> 00:25:18,720 587 00:25:18,720 --> 00:25:23,530 脺莽眉n web m枚vcuddur Scanf 0, bu g眉n kodu nisb蓹t蓹n ne莽蓹 x蓹tl蓹ri var 588 00:25:23,530 --> 00:25:25,351 Burada 20 vasit蓹sil蓹 14. 589 00:25:25,351 --> 00:25:26,600 V蓹 bunu n蓹 g枚rm蓹k bildirin. 590 00:25:26,600 --> 00:25:28,920 Bu int adl谋 x b蓹yan edir. 591 00:25:28,920 --> 00:25:30,850 Bu kimi bir 艧ey, say谋 edin deyir. 592 00:25:30,850 --> 00:25:33,940 V蓹 indi scanf% i, x, deyir. 593 00:25:33,940 --> 00:25:35,620 Bel蓹 ki, yeni m蓹hsullar谋n谋n bir d蓹st蓹 var. 594 00:25:35,620 --> 00:25:38,420 >> Amma scanf, siz c眉r hesab ed蓹 bil蓹r olan printf qar艧谋 kimi. 595 00:25:38,420 --> 00:25:40,090 printf, 蓹lb蓹tt蓹, ekran bask谋. 596 00:25:40,090 --> 00:25:44,410 istifad蓹莽i olan trans scanf sort klaviatura bir 艧ey o yazd谋臒谋n谋z. 597 00:25:44,410 --> 00:25:46,550 >> % I yaln谋z printf kimi. 598 00:25:46,550 --> 00:25:49,410 Bu g枚zl蓹m蓹k dem蓹kdir istifad蓹莽i int yaz谋n. 599 00:25:49,410 --> 00:25:52,820 V蓹 indi, niy蓹 m蓹n d眉艧眉n眉rs眉n眉z scanf & x ke莽蓹n ola bil蓹r? 600 00:25:52,820 --> 00:25:54,030 601 00:25:54,030 --> 00:25:57,770 茝g蓹r scanf h蓹yat谋nda m蓹qs蓹di istifad蓹莽i bir 艧ey almaq 眉莽眉n, 602 00:25:57,770 --> 00:26:02,480 m蓹nas谋 n蓹dir indi bunu q蓹bul v蓹 x? 603 00:26:02,480 --> 00:26:02,980 B蓹li? 604 00:26:02,980 --> 00:26:03,896 >> Auditoriya: [i艧itilemez]. 605 00:26:03,896 --> 00:26:05,540 606 00:26:05,540 --> 00:26:06,540 DAVID J. MALAN: Exactly. 607 00:26:06,540 --> 00:26:12,900 N蓹 m蓹n, insan, m蓹nim giri艧 yaz谋n ki, yer xilas olacaq. 608 00:26:12,900 --> 00:26:17,660 Bu yaln谋z, geri, kifay蓹t q蓹d蓹r deyil biz art谋q g枚rd眉m, 莽眉nki, x ke莽m蓹k, 609 00:26:17,660 --> 00:26:21,630 ist蓹nil蓹n vaxt, yaln谋z bir xam d蓹yi艧蓹n ke莽m蓹k bir int kimi, b蓹zi dig蓹r funksiyas谋, 610 00:26:21,630 --> 00:26:25,640 蓹min, bu d蓹yi艧蓹 bil蓹rsiniz d蓹yi艧蓹n, lakin daimi. 611 00:26:25,640 --> 00:26:27,360 Bu 茝sas t蓹sir ed蓹 bilm蓹z. 612 00:26:27,360 --> 00:26:29,420 Bu, yaln谋z 枚z yerli sur蓹ti d蓹yi艧蓹 bil蓹rsiniz. 613 00:26:29,420 --> 00:26:32,560 Lakin, 蓹v蓹zin蓹, siz deyil M蓹n蓹 faktiki int verm蓹k, 614 00:26:32,560 --> 00:26:36,640 ancaq m蓹n蓹 istiqam蓹tl蓹ri verm蓹k ki, int, m蓹n indi, scanf olan 615 00:26:36,640 --> 00:26:41,050 艧眉bh蓹siz ki, m蓹n t蓹qib ed蓹 bil蓹rsiniz m眉raci蓹t v蓹 bir s谋ra qoymaq 616 00:26:41,050 --> 00:26:43,280 bel蓹, siz d蓹 onu 蓹ld蓹 etm蓹k. 617 00:26:43,280 --> 00:26:45,120 >> Bu proqram 莽al谋艧t谋rd谋臒谋n谋zda, g枚r蓹k. 618 00:26:45,120 --> 00:26:49,660 Scanf 0 dot 莽izgi olun, 0 scanf. 619 00:26:49,660 --> 00:26:54,030 V蓹 m蓹n indi bir s谋ra yaz谋n 蓹g蓹r 50 kimi, 50 眉莽眉n t蓹艧蓹kk眉r edirik. 620 00:26:54,030 --> 00:26:58,150 陌ndi kimi bir s谋ra yaz谋n 蓹g蓹r m蓹nfi 1, 1 m蓹nfi. 621 00:26:58,150 --> 00:27:04,200 M蓹n indi hm, 1,5 kimi bir s谋ra yaz谋n. 622 00:27:04,200 --> 00:27:06,030 Niy蓹 m蓹nim proqram m蓹n蓹 ignore idi? 623 00:27:06,030 --> 00:27:07,300 624 00:27:07,300 --> 00:27:09,880 B蓹li, 莽眉nki sad蓹c蓹, m蓹n bildirib bir int yaln谋z g枚zl蓹m蓹k. 625 00:27:09,880 --> 00:27:10,380 B眉t眉n h眉quqlar. 626 00:27:10,380 --> 00:27:11,630 Bel蓹 ki, bu bir versiyas谋 var. 627 00:27:11,630 --> 00:27:16,600 Nin bir pill蓹 q蓹d蓹r 艧eyl蓹r g枚t眉r蓹k v蓹 Bu yax艧谋 deyil ki, t蓹klif. 628 00:27:16,600 --> 00:27:20,530 V蓹 burada 莽ox sad蓹 n眉mun蓹 yat谋r biz yaz谋l谋 kodu ba艧laya bil蓹rsiniz nec蓹 629 00:27:20,530 --> 00:27:24,450 dig蓹r insanlar istifad蓹 ed蓹 bil蓹rsiniz v蓹 ya pis 艧eyler g眉z蓹艧t蓹. 630 00:27:24,450 --> 00:27:28,336 Bel蓹 ki, line 16, bel蓹 ki, ox艧ar ruhunda 蓹vv蓹l, 631 00:27:28,336 --> 00:27:29,960 amma bu d蓹f蓹 int b蓹yan deyil蓹m. 632 00:27:29,960 --> 00:27:32,970 M蓹n simli aka, bu char ulduz elan edir蓹m. 633 00:27:32,970 --> 00:27:35,190 >> Amma h蓹qiq蓹t蓹n n蓹 dem蓹kdir? 634 00:27:35,190 --> 00:27:38,790 M蓹n bir address-- m眉蓹yy蓹n etmir 蓹g蓹r M蓹n 枚zba艧谋na z蓹ng al谋ram, bufer, 635 00:27:38,790 --> 00:27:43,370 amma simple-- olmaq, s z蓹ng ed蓹 bil蓹r v蓹 sonra m蓹n bunu m蓹n蓹 izah, 636 00:27:43,370 --> 00:27:48,630 Siz 蓹vv蓹lki 蓹sas谋nda ola bil蓹r, m蓹ntiq, scanf line 18 n蓹, 637 00:27:48,630 --> 00:27:55,000 pass% s v蓹 bufer 蓹g蓹r, 眉nvan谋 hans谋d谋r? 638 00:27:55,000 --> 00:27:58,210 Siz m眉raci蓹t 蓹g蓹r scanf, n蓹 versiyas谋 0 kimi eyni m蓹ntiq, 639 00:27:58,210 --> 00:28:00,640 burada n蓹 眉莽眉n c蓹hd edir, zaman istifad蓹莽i n枚vl蓹ri bir 艧ey? 640 00:28:00,640 --> 00:28:02,630 641 00:28:02,630 --> 00:28:03,409 B蓹li? 642 00:28:03,409 --> 00:28:04,407 >> Auditoriya: [i艧itilemez]. 643 00:28:04,407 --> 00:28:07,401 644 00:28:07,401 --> 00:28:08,890 >> DAVID J. MALAN: Exactly. 645 00:28:08,890 --> 00:28:11,577 Scanf, m蓹ntiq daha 蓹vv蓹l, simli etm蓹k niyy蓹tind蓹dir 646 00:28:11,577 --> 00:28:13,410 insan tipli ki , indi bir simli var in-- 647 00:28:13,410 --> 00:28:15,790 Bu, g眉man ki, bir s谋ra deyil o cooperates-- 蓹g蓹r 648 00:28:15,790 --> 00:28:19,310 v蓹 bu qoymaq 眉莽眉n c蓹hd olacaq n蓹 眉nvanda yadda艧 string 649 00:28:19,310 --> 00:28:20,340 bufer m眉蓹yy蓹nl蓹艧dirir. 650 00:28:20,340 --> 00:28:23,870 V蓹 bu, b枚y眉k bufer 莽眉nki h蓹qiq蓹t蓹n bir 眉nvan dem蓹kdir. 651 00:28:23,870 --> 00:28:30,470 >> Amma bu proqram il蓹 arabas谋 iddia 莽ox ciddi bir 艧蓹kild蓹, d蓹y蓹ri n蓹 莽眉nki 652 00:28:30,470 --> 00:28:31,330 default bufer? 653 00:28:31,330 --> 00:28:33,380 654 00:28:33,380 --> 00:28:34,790 M蓹n n蓹 daxil ba艧lat谋lm谋艧 var? 655 00:28:34,790 --> 00:28:35,770 Yadda艧 n蓹 y谋臒谋n? 656 00:28:35,770 --> 00:28:37,480 657 00:28:37,480 --> 00:28:38,620 M蓹n, sa臒? 658 00:28:38,620 --> 00:28:42,265 >> M蓹n t蓹sis etdik baxmayaraq art谋q s deyirl蓹r ki char ulduz, 659 00:28:42,265 --> 00:28:48,030 蓹v蓹zin蓹 deyirl蓹r ki, buffer-- Nin d蓹yi艧蓹n ad谋 莽蓹km蓹k imkan 660 00:28:48,030 --> 00:28:53,380 M蓹n 蓹g蓹r indi buffer-- burada getString ya malloc adl谋, 661 00:28:53,380 --> 00:28:56,030 s蓹m蓹r蓹li o dem蓹kdir ki, bufer yaln谋z b蓹zi zibil d蓹y蓹ri. 662 00:28:56,030 --> 00:28:57,030 >> 陌ndi n蓹 dem蓹kdir? 663 00:28:57,030 --> 00:29:00,220 M蓹n scanf demi艧蓹m o dem蓹kdir ki, istifad蓹莽i bir string g枚zl蓹yirik. 664 00:29:00,220 --> 00:29:01,300 V蓹 n蓹 bilirik? 665 00:29:01,300 --> 00:29:03,883 N蓹 olursa olsun bu 艧ey i艧ar蓹 edir to-- v蓹 m蓹n sual i艧ar蓹si 莽蓹km蓹k, 666 00:29:03,883 --> 00:29:07,060 lakin 蓹slind蓹, bu olacaq OX1, 2, 3, kimi bir 艧ey do臒ru? 667 00:29:07,060 --> 00:29:10,730 B蓹zi saxta d蓹y蓹ri var ki, yaln谋z 蓹vv蓹l orada olmaq olur. 668 00:29:10,730 --> 00:29:13,440 Bel蓹 ki, ba艧qa bir yol qoymaq, bu bufer yaln谋z sanki 669 00:29:13,440 --> 00:29:16,180 yadda艧 bir 艧ey i艧ar蓹. 670 00:29:16,180 --> 00:29:17,610 M蓹n n蓹 he莽 bir fikrim yoxdur. 671 00:29:17,610 --> 00:29:24,130 >> 陌ndi Gabe yaz谋n Bel蓹 ki, gedir orada g-a-b-e / 0 qoymaq 眉莽眉n c蓹hd. 672 00:29:24,130 --> 00:29:25,530 Amma kim n蓹 bilir? 673 00:29:25,530 --> 00:29:27,480 V蓹 ke莽mi艧d蓹, h蓹r hans谋 bir toxunmaq c蓹hd etdik vaxt 674 00:29:27,480 --> 00:29:29,770 aid deyil ki, yadda艧 Biz蓹 n蓹 oldu? 675 00:29:29,770 --> 00:29:31,020 676 00:29:31,020 --> 00:29:32,870 V蓹 ya dem蓹k olar ki, h蓹r zaman. 677 00:29:32,870 --> 00:29:34,310 Seqmentasiya g眉nah, sa臒? 678 00:29:34,310 --> 00:29:37,829 >> Bu bu arrow, he莽 bir fikrim yoxdur i艧ar蓹. Bu yaln谋z bir t蓹sad眉fi d蓹y蓹ri var. 679 00:29:37,829 --> 00:29:40,370 V蓹 蓹lb蓹tt蓹, siz 艧蓹rh 蓹g蓹r 眉nvan olaraq bir t蓹sad眉fi d蓹y蓹ri, 680 00:29:40,370 --> 00:29:42,610 Siz getm蓹k olacaq b蓹zi t蓹sad眉fi t蓹yinat. 681 00:29:42,610 --> 00:29:46,810 Bel蓹 ki, gabe crash h蓹qiq蓹t蓹n bil蓹r burada bu halda m蓹nim program. 682 00:29:46,810 --> 00:29:50,600 >> Bel蓹likl蓹, biz dem蓹k olar ki, kimi pis n蓹 ed蓹 bil蓹r? 683 00:29:50,600 --> 00:29:52,660 Bu 眉莽眉nc眉 d眉艧眉n眉n v蓹 scanf son n眉mun蓹sidir. 684 00:29:52,660 --> 00:29:53,890 685 00:29:53,890 --> 00:29:56,870 Bu versiya n蓹 m蓹nada yax艧谋d谋r? 686 00:29:56,870 --> 00:29:57,990 687 00:29:57,990 --> 00:30:01,400 Siz il蓹 rahat, 蓹g蓹r 茝vv蓹lki problem, bu daha yax艧谋d谋r. 688 00:30:01,400 --> 00:30:02,250 Niy蓹? 689 00:30:02,250 --> 00:30:03,250 >> Auditoriya: [i艧itilemez]. 690 00:30:03,250 --> 00:30:06,235 691 00:30:06,235 --> 00:30:07,110 DAVID J. MALAN: Yax艧谋. 692 00:30:07,110 --> 00:30:09,970 Line 16 Bel蓹 ki, bu halda Bu m蓹nada, yax艧谋d谋r 693 00:30:09,970 --> 00:30:12,030 biz ayd谋n 艧蓹kild蓹 ist蓹yirik ki, b蓹zi yadda艧 ayr谋lmas谋. 694 00:30:12,030 --> 00:30:14,190 Biz malloc istifad蓹 edirik biz h蓹ft蓹d蓹 2 istifad蓹 etdiyiniz 695 00:30:14,190 --> 00:30:16,060 yaln谋z bir s谋ra elan yana艧ma. 696 00:30:16,060 --> 00:30:18,130 V蓹 biz bir string 蓹vv蓹l bildirib etdiyiniz yaln谋z simvol bir s谋ra, 697 00:30:18,130 --> 00:30:19,690 bu tamamil蓹 qanunidir. 698 00:30:19,690 --> 00:30:22,910 Amma bu kimi, 蓹lb蓹tt蓹, var 16, sabit 枚l莽眉s眉 unutmay谋n. 699 00:30:22,910 --> 00:30:25,440 >> Bel蓹 ki, bu proqram tamamil蓹 t蓹hl眉k蓹siz, m蓹n yaz谋n 蓹g蓹r 700 00:30:25,440 --> 00:30:29,760 bir xarakter strings, iki xarakter strings, 15 xarakter strings. 701 00:30:29,760 --> 00:30:34,970 Amma tezlikl蓹 m蓹n 16 yazaraq ba艧lamaq kimi, 17, 18, 1000 xarakter strings, 702 00:30:34,970 --> 00:30:37,390 harada ki, simli ba艧a gedir? 703 00:30:37,390 --> 00:30:39,570 Bu qism蓹n burada sona olacaq. 704 00:30:39,570 --> 00:30:42,820 Amma sonra kim hans谋 ba艧qa bilir s蓹rh蓹dl蓹ri k蓹narda 705 00:30:42,820 --> 00:30:44,270 bu serial谋n? 706 00:30:44,270 --> 00:30:48,015 >> M蓹n var kimi olsa var Burada 16 qutular谋 elan etdi. 707 00:30:48,015 --> 00:30:49,300 708 00:30:49,300 --> 00:30:52,690 Bel蓹 ki, b眉t眉n 16 莽谋xartmaq deyil, biz will yaln谋z m蓹n 16 t蓹rtib etdik ki, iddia. 709 00:30:52,690 --> 00:30:56,540 Amma sonra bir string oxumaq 眉莽眉n c蓹hd edin 50 simvol kimi, 莽ox uzun deyil, 710 00:30:56,540 --> 00:31:01,270 M蓹n qoyulmas谋 ba艧lamaq 眉莽眉n gedir蓹m a, b, c, d, x, y, z. 711 00:31:01,270 --> 00:31:04,916 V蓹 bu g眉man edir b蓹zi dig蓹r yadda艧 seqment 712 00:31:04,916 --> 00:31:06,790 ki, yen蓹 s蓹b蓹b ola M蓹nim proqram, q蓹za 713 00:31:06,790 --> 00:31:10,600 M蓹n xahi艧 etdik, 莽眉nki yaln谋z 16 bayt daha bir 艧ey. 714 00:31:10,600 --> 00:31:12,260 >> Bel蓹 ki, kimin umurunda? 715 00:31:12,260 --> 00:31:13,880 Yax艧谋, burada CS50 kitabxana var. 716 00:31:13,880 --> 00:31:17,220 V蓹 bu 莽ox yaln谋z 眉st q蓹d蓹r t蓹limat kimi. 717 00:31:17,220 --> 00:31:21,670 Bu CS50 kitabxana, b眉t眉n bu vaxt, line 52 bu x蓹tti var. 718 00:31:21,670 --> 00:31:23,680 Biz typedef g枚r眉ld眉, v蓹 ya etdik Siz typedef g枚r蓹c蓹ksiniz 719 00:31:23,680 --> 00:31:27,930 yaln谋z bir yarad谋r pset 4, sinonimi char ulduz daha ola bil蓹r qovu艧durma臒谋m谋z 720 00:31:27,930 --> 00:31:29,290 sad蓹c蓹 string kimi istinad. 721 00:31:29,290 --> 00:31:31,540 Bel蓹 ki, bu biridir bir ne莽蓹 t蓹lim t蓹k蓹rl蓹r 722 00:31:31,540 --> 00:31:34,120 biz ba艧l谋q alt谋nda gizli istifad蓹 etdik. 723 00:31:34,120 --> 00:31:36,490 >> Eyni zamanda, burada getchar, funksiyas谋 var. 724 00:31:36,490 --> 00:31:38,190 陌ndi y蓹qin, ona he莽 bir orqan var. 725 00:31:38,190 --> 00:31:40,273 V蓹 蓹slind蓹, m蓹n saxlamaq 蓹g蓹r scrolling, M蓹n, h蓹qiq蓹t蓹n, yoxdur 726 00:31:40,273 --> 00:31:42,080 h蓹r hans谋 bir t蓹tbiq g枚rm蓹k Bu funksiyalar谋n. 727 00:31:42,080 --> 00:31:43,140 728 00:31:43,140 --> 00:31:45,516 Bir a臒l谋 ba艧谋nda olma 莽ek kimi, niy蓹 ki? 729 00:31:45,516 --> 00:31:46,795 >> Auditoriya: [i艧itilemez]. 730 00:31:46,795 --> 00:31:47,670 DAVID J. MALAN: B蓹li. 731 00:31:47,670 --> 00:31:48,950 Bel蓹 ki, bu m枚vzu fayl. 732 00:31:48,950 --> 00:31:52,520 V蓹 header fayllar谋 prototipl蓹ri ehtiva, plus b蓹zi dig蓹r stuff, g枚r眉n眉r, 733 00:31:52,520 --> 00:31:53,780 typedefs kimi. 734 00:31:53,780 --> 00:31:56,910 Amma CS50.c, biz var olan a莽谋q siz蓹 he莽 vaxt, 735 00:31:56,910 --> 00:32:02,100 lakin CS50 cihaz olmu艧dur b眉t眉n bu d蓹f蓹, d蓹rin qovluq daxilind蓹, 736 00:32:02,100 --> 00:32:04,990 b眉t眉n var fark burada funksiyalar谋 d蓹st蓹. 737 00:32:04,990 --> 00:32:06,720 >> 茝slind蓹 is蓹 a艧a臒谋 diyirl蓹yin bildirin. 738 00:32:06,720 --> 00:32:08,810 Indi 眉莽眉n, onlar谋n 蓹ks蓹riyy蓹ti ignore ed蓹k. 739 00:32:08,810 --> 00:32:12,670 Amma GetInt 眉莽眉n a艧a臒谋ya f谋rlad谋n v蓹 getInt nec蓹 i艧l蓹diyini g枚rm蓹k. 740 00:32:12,670 --> 00:32:13,890 Bel蓹 ki, burada getInt edir. 741 00:32:13,890 --> 00:32:17,727 茝g蓹r, h蓹qiq蓹t蓹n, qay臒谋 蓹g蓹r nec蓹 almaq int burada 莽al谋艧谋r, s蓹n蓹dl蓹rin deyil. 742 00:32:17,727 --> 00:32:19,560 V蓹 艧eyl蓹r aras谋nda bu siz蓹 deyir deyir 743 00:32:19,560 --> 00:32:21,340 d蓹y蓹rl蓹rin silsil蓹l蓹ri Bu qay谋da bil蓹r n蓹. 744 00:32:21,340 --> 00:32:24,400 Bu mahiyy蓹tc蓹 m蓹nfi 2 milyard m眉sb蓹t 2 milyard, verm蓹k v蓹 ya almaq. 745 00:32:24,400 --> 00:32:26,420 >> V蓹 b眉t眉n bu 莽谋x谋r, zaman, biz he莽 etdik baxmayaraq 746 00:32:26,420 --> 00:32:28,570 Siz onu yoxlamaq idi, bir 艧ey yanl谋艧 gedir 蓹g蓹r, 747 00:32:28,570 --> 00:32:30,680 b眉t眉n 莽谋x谋r ki, bu d蓹f蓹, getInt var 748 00:32:30,680 --> 00:32:33,600 x眉susi qaytar谋lmas谋 edilmi艧dir , null, daimi deyil 749 00:32:33,600 --> 00:32:36,760 蓹ksin蓹 olan INT_MAX yaln谋z proqram莽谋-nin Konvensiyas谋. 750 00:32:36,760 --> 00:32:38,846 Burada dem蓹kdir x眉susi d蓹y蓹ri n蓹. 751 00:32:38,846 --> 00:32:41,470 Yaln谋z bu yoxlamaq 眉莽眉n 蓹min olun halda bir 艧ey yanl谋艧 gedir. 752 00:32:41,470 --> 00:32:43,261 Amma biz narahat he莽 etdik g眉n蓹 ki, 753 00:32:43,261 --> 00:32:45,200 yenid蓹n, bu, 莽眉nki asanla艧d谋rmaq 眉莽眉n n蓹z蓹rd蓹 tutulmu艧dur. 754 00:32:45,200 --> 00:32:46,950 >> Amma nec蓹 getInt h蓹yata almaq deyil? 755 00:32:46,950 --> 00:32:48,450 Yax艧谋, bir, he莽 bir d蓹lill蓹ri edir. 756 00:32:48,450 --> 00:32:49,390 Biz bilirik ki,. 757 00:32:49,390 --> 00:32:50,820 Bu int qaytar谋r. 758 00:32:50,820 --> 00:32:51,950 Biz bilirik ki,. 759 00:32:51,950 --> 00:32:54,460 Bel蓹 ki, nec蓹 bu ba艧l谋q alt谋nda i艧l蓹yir? 760 00:32:54,460 --> 00:32:58,290 >> Bel蓹 ki, y蓹qin sonsuz var loop, 蓹n az谋 g枚r眉n眉艧眉. 761 00:32:58,290 --> 00:33:00,290 Biz getString istifad蓹 edirik ki, g枚r眉rs眉n眉z. 762 00:33:00,290 --> 00:33:04,000 Bel蓹 ki, maraql谋 deyil. getInt 枚z funksiyas谋, getString 莽a臒谋r谋r. 763 00:33:04,000 --> 00:33:05,645 陌ndi niy蓹 bu halda ola bil蓹r? 764 00:33:05,645 --> 00:33:07,400 765 00:33:07,400 --> 00:33:09,842 Niy蓹 m眉dafi蓹 olmaqdan burada line 165 ild蓹? 766 00:33:09,842 --> 00:33:11,390 767 00:33:11,390 --> 00:33:15,639 N蓹 x蓹tti ola bil蓹r 164, yaln谋z ayd谋n olmaq? 768 00:33:15,639 --> 00:33:16,930 Bu 蓹vv蓹lki kimi eyni cavab谋 var. 769 00:33:16,930 --> 00:33:18,660 770 00:33:18,660 --> 00:33:20,089 Yaln谋z yadda艧 ola bil蓹r. 771 00:33:20,089 --> 00:33:23,130 Something, GetString il蓹 yanl谋艧 gedir ki, idar蓹 etm蓹k 眉莽眉n var. 772 00:33:23,130 --> 00:33:27,070 V蓹 s蓹b蓹bi null qay谋tmaq yoxdur ki, texniki, null bir g枚st蓹ricisidir. 773 00:33:27,070 --> 00:33:29,120 getInt bir int geri var. 774 00:33:29,120 --> 00:33:31,060 M蓹n, 枚zba艧谋na var , mahiyy蓹tc蓹, q蓹rar 775 00:33:31,060 --> 00:33:34,600 2 milyard gedir, verm蓹k v蓹 ya almaq x眉susi d蓹y蓹r olmas谋 he莽 vaxt ed蓹 bil蓹rsiniz 776 00:33:34,600 --> 00:33:35,970 h蓹qiq蓹t蓹n, istifad蓹莽i almaq. 777 00:33:35,970 --> 00:33:39,930 M蓹n gedir蓹m yaln谋z bir d蓹y蓹ri var bir s蓹hv ba艧 kodu t蓹msil s蓹rf. 778 00:33:39,930 --> 00:33:41,540 >> Bel蓹 ki, indi h蓹r 艧eyi bir az x眉lya almaq. 779 00:33:41,540 --> 00:33:44,670 V蓹 莽ox eyni funksiyas谋 deyil 蓹vv蓹l, lakin 莽ox ox艧ar. 780 00:33:44,670 --> 00:33:50,120 M蓹n line burada elan bildiri艧 172, bir int n v蓹 char c h蓹m d蓹. 781 00:33:50,120 --> 00:33:53,600 V蓹 sonra m蓹n bu funky line istifad蓹 Bu 莽谋x谋r sscanf, 782 00:33:53,600 --> 00:33:55,990 klaviatura bir string scan deyil. 783 00:33:55,990 --> 00:33:59,226 Bu m枚vcud simli dayan谋r ki, istifad蓹莽i art谋q 莽ap etmi艧dir. 784 00:33:59,226 --> 00:34:02,100 M蓹n art谋q getString, adlanan m蓹n yadda艧 bir string var dem蓹kdir. 785 00:34:02,100 --> 00:34:05,020 sscanf n蓹 had edir bir t蓹hlil funksiyas谋 z蓹ng. 786 00:34:05,020 --> 00:34:07,760 M蓹n var simli bax谋r , xarakteri il蓹 xarakter tipli 787 00:34:07,760 --> 00:34:09,250 v蓹 faydal谋 bir 艧ey yoxdur. 788 00:34:09,250 --> 00:34:10,969 Ki, string line saxlan谋l谋r. 789 00:34:10,969 --> 00:34:13,560 M蓹n yaln谋z gedir bilirik ki, OK, oh, burada dey蓹r蓹k geri, 790 00:34:13,560 --> 00:34:15,143 M蓹n bu vaxt, lakin line 莽a臒谋r谋b. 791 00:34:15,143 --> 00:34:15,989 792 00:34:15,989 --> 00:34:18,080 >> 陌ndi bu bir az f蓹rqlidir. 793 00:34:18,080 --> 00:34:22,480 Amma bu s蓹m蓹r蓹li s蓹b蓹bl蓹rd蓹n dem蓹kdir biz q蓹d蓹r, bu g眉n bizim 蓹ll蓹ri dal臒a laz谋md谋r 794 00:34:22,480 --> 00:34:26,070 biz yoxlaman谋n istifad蓹莽i 莽ap g枚rmek 795 00:34:26,070 --> 00:34:29,909 v蓹 int v蓹 b蓹lk蓹 ba艧qa xarakter. 796 00:34:29,909 --> 00:34:33,610 Istifad蓹莽i int tipli varsa, bu M蓹n deyil蓹m, 莽眉nki gedir, n saxlan谋lmal谋d谋r 797 00:34:33,610 --> 00:34:36,739 眉nvan bu ke莽蓹n biz bu g眉n g枚rd眉m yeni oyun. 798 00:34:36,739 --> 00:34:41,570 Istifad蓹莽i da 莽ap 蓹g蓹r kimi 123x, o x 799 00:34:41,570 --> 00:34:45,060 bir ba艧a gedir karakter c m蓹ktubu. 800 00:34:45,060 --> 00:34:48,739 >> 陌ndi ki sscanf 莽谋x谋r a臒谋ll谋, m蓹n蓹 izah ed蓹c蓹k, 801 00:34:48,739 --> 00:34:54,750 ne莽蓹 d蓹yi艧蓹nl蓹r sscanf edilib doldurmaq u臒urla ed蓹. 802 00:34:54,750 --> 00:34:58,770 Bu m蓹ntiq, 蓹g蓹r bel蓹 funksiyas谋 M蓹n GetInt h蓹yata ke莽irilm蓹si 莽ox al谋ram 803 00:34:58,770 --> 00:35:00,900 amma yoxlan谋lmas谋 al谋ram, potensial, istifad蓹莽i 眉莽眉n 804 00:35:00,900 --> 00:35:04,190 int tipli var ba艧qa bir 艧ey izl蓹di, 805 00:35:04,190 --> 00:35:08,580 n蓹 m蓹n sscanf Agentliyi ist蓹yir蓹m qaytar谋lmas谋 d蓹y蓹ri h蓹qiq蓹t蓹n olacaq? 806 00:35:08,580 --> 00:35:10,950 M蓹qs蓹di almaq 蓹g蓹r yaln谋z istifad蓹莽i bir int? 807 00:35:10,950 --> 00:35:13,980 808 00:35:13,980 --> 00:35:19,300 >> Bel蓹 sscanf yekunlar谋 蓹g蓹r 2 ki, n蓹 dem蓹kdir? 809 00:35:19,300 --> 00:35:21,660 Y谋臒d谋臒谋n谋z istifad蓹莽i kimi bir 艧ey, sanki, 810 00:35:21,660 --> 00:35:24,770 Yaln谋z c蓹f蓹ngiyatd谋r olan 123x. 811 00:35:24,770 --> 00:35:27,490 Bu bir s蓹hv v蓹ziyy蓹t var, v蓹 M蓹n ki, yoxlamaq ist蓹yir蓹m. 812 00:35:27,490 --> 00:35:32,960 >> Bel蓹 ki, bu istifad蓹莽i n枚vl蓹ri 蓹g蓹r t蓹r蓹find蓹n Bu m蓹ntiql蓹 qay谋tmaq sscanf n蓹, 813 00:35:32,960 --> 00:35:33,740 Siz dey蓹c蓹ksiniz? 814 00:35:33,740 --> 00:35:35,070 815 00:35:35,070 --> 00:35:39,130 Bel蓹 ki, 莽眉nki 2 geri olacaq 123, burada getm蓹k niyy蓹tind蓹dir 816 00:35:39,130 --> 00:35:41,580 v蓹 x burada sona gedir. 817 00:35:41,580 --> 00:35:43,970 Amma x dolu almaq ist蓹mir蓹m. 818 00:35:43,970 --> 00:35:48,580 M蓹n yaln谋z u臒ur qazanmaq 眉莽眉n sscanf ist蓹yir蓹m onun d蓹yi艧蓹nl蓹ri doldurulmas谋. 819 00:35:48,580 --> 00:35:52,490 V蓹 bel蓹 ki, niy蓹 m蓹n sscanf 1 qay谋tmaq ist蓹yir蓹m. 820 00:35:52,490 --> 00:35:55,750 >> V蓹 bu ba艧 眉z蓹rind蓹 bir az olduqda Bu an 眉莽眉n, ki, tamamil蓹 g枚z蓹l var. 821 00:35:55,750 --> 00:36:00,030 , Baxmayaraq ki, bir h蓹yata GetInt v蓹 GetString d蓹y蓹rl蓹r 822 00:36:00,030 --> 00:36:03,630 biz bir heck edirik ki, Bu bel蓹 kimi s蓹hv yoxlan谋lmas谋 莽ox 823 00:36:03,630 --> 00:36:07,130 ki, tarixi, olduqca 莽ox bil蓹rsiniz klaviatura bir 艧ey yaz谋n, 824 00:36:07,130 --> 00:36:08,490 v蓹 biz bunu tutmaq olacaq. 825 00:36:08,490 --> 00:36:10,592 V蓹 biz 蓹lb蓹tt蓹 ki, hey蓹ti deyil, m眉tl蓹q olacaq 826 00:36:10,592 --> 00:36:13,300 bir s蓹hv m蓹nb蓹yi ola sizin proqram, biz m眉dafi蓹 edirik, 莽眉nki 827 00:36:13,300 --> 00:36:16,270 axmaq b眉t眉n yoxlan谋lmas谋 bir istifad蓹莽i ed蓹 bil蓹r ki, h蓹r 艧eyi, 828 00:36:16,270 --> 00:36:18,900 , bir string yazaraq kimi Siz, h蓹qiq蓹t蓹n, int ist蓹di. 829 00:36:18,900 --> 00:36:21,350 Bel蓹likl蓹, biz g蓹lm蓹k laz谋md谋r now-- 眉莽眉n bu geri long-- 蓹vv蓹l 830 00:36:21,350 --> 00:36:23,710 lakin b眉t眉n bu vaxt, getString v蓹 getInt var 831 00:36:23,710 --> 00:36:29,950 Bu istifad蓹 ba艧l谋q alt谋nda olub yadda艧 眉nvanlar谋 蓹sas fikir. 832 00:36:29,950 --> 00:36:32,580 >> Bel蓹 ki, indi bir 艦eyi ed蓹k istifad蓹莽i dostu az daha 莽ox. 833 00:36:32,580 --> 00:36:38,740 Siz Binky sonuncu geri bil蓹r time-- m蓹nim si莽an bel蓹 cooperate-- 蓹g蓹r 834 00:36:38,740 --> 00:36:42,560 Biz bu kodu, olan s蓹mimi, kifay蓹t q蓹d蓹r c蓹f蓹ngdir. 835 00:36:42,560 --> 00:36:45,330 Bu kodu bir 艧ey 蓹ld蓹 faydal谋, ancaq n眉mun蓹si idi 836 00:36:45,330 --> 00:36:48,330 ki, professor Parlante t蓹msil etm蓹k 眉莽眉n istifad蓹 837 00:36:48,330 --> 00:36:51,840 n蓹 ged蓹n yadda艧 c蓹lb program. 838 00:36:51,840 --> 00:36:54,850 >> Bel蓹 ki, bu tekrar anlatmak ed蓹k hekay蓹 super q谋sa. 839 00:36:54,850 --> 00:36:58,720 Bu ilk iki x蓹tl蓹ri,-da English, n蓹 dey蓹rdim ki, yoxdur? 840 00:36:58,720 --> 00:37:01,230 841 00:37:01,230 --> 00:37:05,430 Yaln谋z 蓹sasl谋 insan, lakin az texniki 艧蓹rtl蓹r, bir z蓹rb蓹 almaq. 842 00:37:05,430 --> 00:37:06,346 Auditoriya: [i艧itilemez]. 843 00:37:06,346 --> 00:37:07,705 844 00:37:07,705 --> 00:37:11,080 >> DAVID J. MALAN: OK, siz yarad谋lmas谋 edirik Sizin x v蓹 y d蓹yi艧蓹nl蓹rin 眉nvanlar谋. 845 00:37:11,080 --> 00:37:15,520 Olduqca, x v蓹 y deyil, 莽眉nki 蓹n蓹n蓹vi m蓹nada d蓹yi艧蓹nl蓹r. 846 00:37:15,520 --> 00:37:18,054 x v蓹 y 眉nvanlar v蓹 ya 眉nvan saxlamaq olacaq. 847 00:37:18,054 --> 00:37:19,220 Bel蓹 ki, bu bir daha c蓹hd ed蓹k. 848 00:37:19,220 --> 00:37:21,010 Bir pis ba艧lan臒谋c olsa da. 849 00:37:21,010 --> 00:37:21,510 B蓹li? 850 00:37:21,510 --> 00:37:22,426 >> Auditoriya: [i艧itilemez]. 851 00:37:22,426 --> 00:37:23,966 852 00:37:23,966 --> 00:37:24,840 DAVID J. MALAN: Yax艧谋. 853 00:37:24,840 --> 00:37:26,173 M蓹n bir az t蓹miz hesab edir蓹m. 854 00:37:26,173 --> 00:37:28,630 Iki g枚st蓹ricil蓹rin蓹, iki integers elan. 855 00:37:28,630 --> 00:37:30,150 V蓹 biz onlara x v蓹 y z蓹ng edirik. 856 00:37:30,150 --> 00:37:32,790 Yoxsa biz 蓹g蓹r 莽蓹km蓹k bu 艧蓹kil kimi, yen蓹, 857 00:37:32,790 --> 00:37:36,410 sad蓹c蓹 b眉t眉n geri ki, birinci x蓹tti il蓹 edirik 858 00:37:36,410 --> 00:37:39,690 bu kimi bir qutu 莽蓹k蓹r蓹k, bu bir zibil d蓹y蓹ri il蓹, 859 00:37:39,690 --> 00:37:41,920 v蓹 sonra x z蓹ng, v蓹 bu kimi ba艧qa box, 860 00:37:41,920 --> 00:37:43,880 bir zibil d蓹y蓹ri il蓹 bu, y z蓹ng. 861 00:37:43,880 --> 00:37:45,810 Biz iki elan etdik g枚st蓹ricil蓹rin蓹 ki, son n蓹tic蓹d蓹 862 00:37:45,810 --> 00:37:47,860 bir int 眉莽眉n 眉nvan saxlamaq olacaq. 863 00:37:47,860 --> 00:37:49,170 Bel蓹 ki, b眉t眉n var. 864 00:37:49,170 --> 00:37:53,290 >> Binky bunu bel蓹 zaman, gil yaln谋z bu kimi baxd谋. 865 00:37:53,290 --> 00:37:55,350 V蓹 Nick yaln谋z c眉r oklar谋 b眉k眉l眉, 866 00:37:55,350 --> 00:37:57,590 sanki onlar h蓹r hans谋 bir i艧ar蓹 deyilik x眉susil蓹, 莽眉nki onlar yaln谋z 867 00:37:57,590 --> 00:37:58,250 zibil d蓹y蓹rl蓹r. 868 00:37:58,250 --> 00:38:01,670 Onlar a莽谋q-a艧kar ba艧lat谋lm谋艧 deyilik h蓹r yerd蓹 x眉susil蓹. 869 00:38:01,670 --> 00:38:03,980 >> 陌ndi n枚vb蓹ti line kodu, geri, bu idi. 870 00:38:03,980 --> 00:38:07,510 , 茝sasl谋 istifad蓹莽i dostu bel蓹 lakin bir q蓹d蓹r texniki English, 871 00:38:07,510 --> 00:38:09,790 kodu edir bu x蓹tt n蓹dir? 872 00:38:09,790 --> 00:38:10,391 B蓹li? 873 00:38:10,391 --> 00:38:11,333 >> Auditoriya: [i艧itilemez]. 874 00:38:11,333 --> 00:38:12,746 875 00:38:12,746 --> 00:38:13,950 >> DAVID J. MALAN: Perfect. 876 00:38:13,950 --> 00:38:17,016 Bu y谋臒谋n ayr谋lmas谋 oldu bir int 枚l莽眉s眉 ki, yadda艧. 877 00:38:17,016 --> 00:38:18,140 V蓹 yar谋m cavab var. 878 00:38:18,140 --> 00:38:20,056 Siz h眉ququ cavab ifad蓹 yar谋s谋. 879 00:38:20,056 --> 00:38:22,473 N蓹 ba艧 b蓹rab蓹r i艧ar蓹si sol t蓹r蓹find蓹? 880 00:38:22,473 --> 00:38:22,972 B蓹li? 881 00:38:22,972 --> 00:38:24,814 Auditoriya: V蓹 varisl蓹ri bu d蓹yi艧蓹n x? 882 00:38:24,814 --> 00:38:27,690 >> DAVID J. MALAN: And varisl蓹ri bu d蓹yi艧蓹n x. 883 00:38:27,690 --> 00:38:31,650 Recap, sa臒 t蓹r蓹fd蓹n ay谋rd谋臒谋 Bel蓹 kifay蓹t q蓹d蓹r yadda艧 int saxlamaq 眉莽眉n. 884 00:38:31,650 --> 00:38:34,150 Amma malloc x眉susi 眉nvan qaytar谋r 885 00:38:34,150 --> 00:38:37,270 Siz var olan yadda艧 ki, y谋臒谋n ki, yaln谋z x saxlan谋l谋r olur t蓹klif edib. 886 00:38:37,270 --> 00:38:42,560 >> Bel蓹 ki, n蓹 Nick Binky il蓹 son d蓹f蓹 etdim o pointer h蓹yata s眉r眉kl蓹n蓹c蓹kl蓹r, gil, 887 00:38:42,560 --> 00:38:46,820 yadda艧 a臒 y谋臒谋n indi qeyd etm蓹k ki, bir int 枚l莽眉s眉 b蓹rab蓹rdir. 888 00:38:46,820 --> 00:38:49,360 And olsun ki, n蓹z蓹rd蓹 d枚rd bayt t蓹msil etm蓹k. 889 00:38:49,360 --> 00:38:55,310 >> Kod 陌ndi n枚vb蓹ti line bunu, star x 42 olur. 890 00:38:55,310 --> 00:38:58,530 Bel蓹 ki, 42-d蓹 sad蓹 deyil sa臒 t蓹r蓹fd蓹n, h蓹yat m蓹nas谋. 891 00:38:58,530 --> 00:39:00,500 Sol t蓹r蓹fd蓹n, ulduz x n蓹 dem蓹kdir? 892 00:39:00,500 --> 00:39:01,600 893 00:39:01,600 --> 00:39:03,280 OK ki gone-- 莽ox ola bil蓹r. 894 00:39:03,280 --> 00:39:04,220 OK. 895 00:39:04,220 --> 00:39:06,875 >> Auditoriya: 茝sas蓹n, [I艧itilemez] getm蓹k 896 00:39:06,875 --> 00:39:07,750 DAVID J. MALAN: Yax艧谋. 897 00:39:07,750 --> 00:39:08,760 Auditoriya: [i艧itilemez]. 898 00:39:08,760 --> 00:39:09,760 DAVID J. MALAN: Exactly. 899 00:39:09,760 --> 00:39:11,979 Sol t蓹r蓹fd蓹n x getm蓹k dem蓹kdir. 900 00:39:11,979 --> 00:39:12,520 x 眉nvan谋. 901 00:39:12,520 --> 00:39:15,520 33 Oxford Street, v蓹 ya OX1 kimi. 902 00:39:15,520 --> 00:39:18,690 V蓹 ulduz x ki, getm蓹k dem蓹kdir m眉raci蓹t v蓹 orada n蓹 qoymaq? 903 00:39:18,690 --> 00:39:19,520 42. 904 00:39:19,520 --> 00:39:21,290 >> Bel蓹 ki, h蓹qiq蓹t蓹n ki, Nick n蓹 d蓹qiq var. 905 00:39:21,290 --> 00:39:23,740 O, by il蓹 ba艧lad谋 mahiyy蓹tc蓹, 蓹qli 906 00:39:23,740 --> 00:39:26,270 bir barmaq i艧ar蓹 x, arrow a艧a臒谋dak谋 907 00:39:26,270 --> 00:39:30,670 sa臒 t蓹r蓹fd蓹n a臒 qutusu yan v蓹 say谋 42 qoyulmas谋. 908 00:39:30,670 --> 00:39:34,120 Lakin sonra h蓹r 艧eyi var, bir az t蓹hl眉k蓹li, sa臒? 909 00:39:34,120 --> 00:39:35,860 Binky nin ba艧谋n谋 itirm蓹k. 910 00:39:35,860 --> 00:39:39,465 >> Star y n蓹 dem蓹kdir, 13, pis luck b蓹rab蓹rdir? 911 00:39:39,465 --> 00:39:43,620 Bel蓹 ki, ulduz y vasit蓹l蓹ri y 眉nvan getm蓹k. 912 00:39:43,620 --> 00:39:45,630 Amma y 眉nvan n蓹dir? 913 00:39:45,630 --> 00:39:47,899 914 00:39:47,899 --> 00:39:49,440 B眉t眉n sa臒, zibil d蓹y蓹ri, sa臒? 915 00:39:49,440 --> 00:39:50,800 M蓹n bir sual i艧ar蓹si olaraq qald谋. 916 00:39:50,800 --> 00:39:54,850 Nick bir q蓹d蓹r buruq arrow kimi 莽蓹kdi. 917 00:39:54,850 --> 00:39:59,600 V蓹 tezlikl蓹 siz c蓹hd kimi orada getm蓹k dey蓹r蓹k, star y yoxdur, 918 00:39:59,600 --> 00:40:03,872 lakin qanuni yoxdur 眉nvan谋, b蓹zi saxta yer var, 919 00:40:03,872 --> 00:40:05,080 proqram q蓹za olacaq. 920 00:40:05,080 --> 00:40:08,580 V蓹 Binky nin ba艧 gedir bunu kimi, burada off u莽maq. 921 00:40:08,580 --> 00:40:12,130 >> Sonunda, bu proqram bel蓹 yaln谋z d眉z h蓹yata q眉sur idi. 922 00:40:12,130 --> 00:40:13,540 Bu arabas谋 proqram idi. 923 00:40:13,540 --> 00:40:14,760 V蓹 m眉蓹yy蓹n etm蓹k laz谋md谋r. 924 00:40:14,760 --> 00:40:18,260 V蓹 yegan蓹 yolu, h蓹qiq蓹t蓹n, d眉zeltmek 眉莽眉n olard谋, m蓹s蓹l蓹n, bu x蓹tt, 925 00:40:18,260 --> 00:40:21,010 biz h蓹tta almaq olmayan, 莽眉nki Proqram 莽ox tezlikl蓹 q蓹zaya u臒ray谋b. 926 00:40:21,010 --> 00:40:26,170 Amma biz bu d眉zeltmek 眉莽眉n olsayd谋, n蓹 t蓹siri y b蓹rab蓹r x var bunu edir? 927 00:40:26,170 --> 00:40:30,010 B蓹li, bu, mahiyy蓹tc蓹 da y g枚st蓹rir n蓹 d蓹y蓹ri x i艧ar蓹 edir. 928 00:40:30,010 --> 00:40:32,430 >> Nick hekay蓹 Bel蓹 ki, v蓹 ya Binky nin hekay蓹, h蓹m d蓹 929 00:40:32,430 --> 00:40:34,640 x v蓹 y i艧ar蓹 edilmi艧dir yadda艧 a臒 y谋臒谋n, 930 00:40:34,640 --> 00:40:38,300 bel蓹 ki, n蓹hay蓹t, zaman y yenid蓹n 13 b蓹rab蓹rdir ulduz yoxdur, 931 00:40:38,300 --> 00:40:43,080 Siz 13 qoyulmas谋 ba艧a m眉vafiq yer. 932 00:40:43,080 --> 00:40:47,640 Bel蓹 ki, bu x蓹tl蓹ri b眉t眉n m眉k蓹mm蓹l qanuni, bu istisna olmaqla, 933 00:40:47,640 --> 00:40:51,730 siz 蓹vv蓹l ba艧 ver蓹n zaman h蓹qiq蓹t蓹n y b蓹zi d蓹y蓹ri t蓹yin. 934 00:40:51,730 --> 00:40:54,290 >> 陌ndi 艧眉k眉rl蓹r olsun ki, siz deyil b眉t眉n vasit蓹sil蓹 s蓹b蓹b var 935 00:40:54,290 --> 00:40:56,560 枚z m蓹s蓹l蓹l蓹ri bu c眉r. 936 00:40:56,560 --> 00:40:59,310 M蓹n蓹 ir蓹li getm蓹k v蓹 a莽maq burada terminal p蓹nc蓹r蓹 up 937 00:40:59,310 --> 00:41:03,050 v蓹 yaln谋z bir an 眉莽眉n, a莽maq, super q谋sa proqram谋 938 00:41:03,050 --> 00:41:04,360 d蓹 n枚v m蓹nas谋zd谋r. 939 00:41:04,360 --> 00:41:05,152 Bu 莽irkin var. 940 00:41:05,152 --> 00:41:06,610 Bu faydal谋 bir 艧ey 蓹ld蓹 etmir. 941 00:41:06,610 --> 00:41:10,180 Amma bu m蓹s蓹l蓹l蓹ri n眉mayi艧 etmir yadda艧, bel蓹 ki, bir n蓹z蓹r salaq. 942 00:41:10,180 --> 00:41:11,830 >> Main, super sad蓹. 943 00:41:11,830 --> 00:41:14,830 Bu y蓹qin funksiyas谋 莽a臒谋r谋r, f, v蓹 sonra 0 qaytar谋r. 944 00:41:14,830 --> 00:41:16,310 Bu mess bu q蓹d蓹r a臒谋r n枚v眉 var. 945 00:41:16,310 --> 00:41:18,540 Bel蓹 ki, Main g眉n蓹 q蓹d蓹r olduqca yax艧谋. 946 00:41:18,540 --> 00:41:20,100 >> Bel蓹 ki, f problemlidir. 947 00:41:20,100 --> 00:41:22,120 V蓹 yaln谋z 莽ox qoymad谋 adland谋rma daxil s蓹y 948 00:41:22,120 --> 00:41:23,990 burada kodunu diqq蓹t m蓹rk蓹zind蓹 saxlamaq 眉莽眉n. 949 00:41:23,990 --> 00:41:25,740 f iki x蓹tl蓹ri var. 950 00:41:25,740 --> 00:41:27,610 V蓹 indi neler g枚rm蓹k bildirin. 951 00:41:27,610 --> 00:41:29,840 Bel蓹 ki, bir t蓹r蓹fd蓹n burada v蓹 m蓹n蓹 ed蓹k 952 00:41:29,840 --> 00:41:32,680 茝vv蓹lki il蓹 bu ard谋c谋l bir t蓹r蓹fd蓹n example--, 953 00:41:32,680 --> 00:41:35,830 Sol t蓹r蓹find蓹 陌ngilis, n蓹? 954 00:41:35,830 --> 00:41:36,493 Bu That 955 00:41:36,493 --> 00:41:37,701 Auditoriya: bir g枚st蓹rici yarad谋lmas谋. 956 00:41:37,701 --> 00:41:40,830 DAVID J. MALAN: bir pointer yaratmaq bir int v蓹 axtard谋臒谋n谋 x. 957 00:41:40,830 --> 00:41:43,789 Bel蓹 ki, bu qutular谋 yarad谋lmas谋 oldu M蓹n sensor ekran 眉z蓹rind蓹 r蓹sm saxlamaq. 958 00:41:43,789 --> 00:41:45,913 陌ndi, sa臒 t蓹r蓹fd蓹n yan, malloc, 蓹lb蓹tt蓹, 959 00:41:45,913 --> 00:41:47,420 yadda艧 y谋臒谋n ay谋r谋r. 960 00:41:47,420 --> 00:41:49,989 V蓹 yaln谋z ayd谋n olmaq, nec蓹 莽ox yadda艧 y蓹qin onu edir 961 00:41:49,989 --> 00:41:52,030 ayr谋lmas谋, 蓹g蓹r yaln谋z c眉r burada riyaziyyat etm蓹k? 962 00:41:52,030 --> 00:41:53,200 963 00:41:53,200 --> 00:41:54,040 >> Bel蓹 ki, 40 bytes var. 964 00:41:54,040 --> 00:41:57,400 V蓹 m蓹n bilir蓹m ki, m蓹n bir bilm蓹k yaln谋z, 莽眉nki int, bu CS50 cihaz, 蓹n az谋, 965 00:41:57,400 --> 00:41:58,060 d枚rd bayt edir. 966 00:41:58,060 --> 00:41:59,610 Bel蓹 ki, 10 d蓹f蓹 4 40. 967 00:41:59,610 --> 00:42:04,924 Bel蓹 ki, bu x saxlan谋lmas谋, 眉nvan谋 40 ints ilk out ki, 968 00:42:04,924 --> 00:42:07,340 geri yer ayr谋l谋b, geri, geri, geri. 969 00:42:07,340 --> 00:42:08,470 >> V蓹 malloc haqq谋nda 蓹sas n蓹 var. 970 00:42:08,470 --> 00:42:11,261 Bu bir az yadda艧 da艧谋m谋r Burada, bir burada ki莽ik bir az burada. 971 00:42:11,261 --> 00:42:14,220 Bu, yadda艧 bir y谋臒谋n verir contiguously, 茝m蓹liyyat d蓹n 972 00:42:14,220 --> 00:42:15,240 sistemi. 973 00:42:15,240 --> 00:42:18,500 >> 陌ndi bu bar蓹d蓹 n蓹, x bracket 10 0 b蓹rab蓹rdir? 974 00:42:18,500 --> 00:42:19,470 Kod ixtiyari line. 975 00:42:19,470 --> 00:42:21,100 Bu faydal谋 bir 艧ey 蓹ld蓹 etmir. 976 00:42:21,100 --> 00:42:26,128 Amma bu, maraql谋 x bracket 10-- 莽眉nki? 977 00:42:26,128 --> 00:42:26,628 B蓹li? 978 00:42:26,628 --> 00:42:27,912 >> Auditoriya: [I艧itilemez]? 979 00:42:27,912 --> 00:42:30,500 >> DAVID J. MALAN: x bracket 10 null olmal谋d谋r deyil. 980 00:42:30,500 --> 00:42:35,070 The null 蓹trafl谋 yaln谋z d枚vr蓹y蓹 girir strings il蓹 bir simli sonunda. 981 00:42:35,070 --> 00:42:36,700 Amma yax艧谋 bir fikir. 982 00:42:36,700 --> 00:42:39,615 >> N蓹 q蓹d蓹r b枚y眉k, h蓹tta bu array edir I 40 bayt ayr谋lan etdik baxmayaraq? 983 00:42:39,615 --> 00:42:42,560 984 00:42:42,560 --> 00:42:43,690 Bu do臒ru, doqquz vasit蓹sil蓹 0 var? 985 00:42:43,690 --> 00:42:45,120 Bu m蓹lumat, 10 ints var. 986 00:42:45,120 --> 00:42:48,790 40 bytes, lakin 10 ints, 0 0-dizine. 987 00:42:48,790 --> 00:42:50,930 >> Bel蓹 ki, x bracket 10 n蓹dir? 988 00:42:50,930 --> 00:42:53,090 Bu, h蓹qiq蓹t蓹n, b蓹zi unknown zibil d蓹y蓹ri. 989 00:42:53,090 --> 00:42:54,780 Bu m蓹n蓹 aid deyil ki, yadda艧 var. 990 00:42:54,780 --> 00:42:59,650 M蓹n toxunan laz谋m deyil byte say谋 41, 42, 43, 44. 991 00:42:59,650 --> 00:43:01,420 M蓹n 莽ox az gedir蓹m. 992 00:43:01,420 --> 00:43:04,490 >> V蓹 h蓹qiq蓹t蓹n, M蓹n run 蓹g蓹r bu proqram, bu, 莽ox yax艧谋 avariya bil蓹r. 993 00:43:04,490 --> 00:43:05,790 Amma b蓹z蓹n, biz xo艧b蓹xt almaq laz谋md谋r. 994 00:43:05,790 --> 00:43:07,706 V蓹 bel蓹 ki, yaln谋z n眉mayi艧 眉莽眉n H蓹l蓹 v蓹 s蓹mimi, 995 00:43:07,706 --> 00:43:11,000 Siz 蓹vv蓹l bilirsiniz, he莽 vaxt it-- bu run bildirin yoxdur. 996 00:43:11,000 --> 00:43:12,480 Bu, h蓹qiq蓹t蓹n q蓹za verm蓹di. 997 00:43:12,480 --> 00:43:15,032 >> Amma bu, d蓹yi艧dirm蓹k 蓹g蓹r M蓹s蓹l蓹n, 1000 kimi olmaq 998 00:43:15,032 --> 00:43:16,740 h蓹qiq蓹t蓹n bu etm蓹k q蓹sd蓹n, g枚r蓹k 999 00:43:16,740 --> 00:43:18,710 biz 蓹ld蓹 ed蓹 bil蓹rsiniz 蓹g蓹r bu d蓹f蓹 q蓹za. 1000 00:43:18,710 --> 00:43:20,070 OK, bu, q蓹za etm蓹yib. 1001 00:43:20,070 --> 00:43:22,600 Nec蓹 100.000 haqq谋nda? 1002 00:43:22,600 --> 00:43:25,000 Onu yeniden yapmak ed蓹k, v蓹 indi t蓹krar. 1003 00:43:25,000 --> 00:43:25,500 OK. 1004 00:43:25,500 --> 00:43:25,960 Phew. 1005 00:43:25,960 --> 00:43:26,460 B眉t眉n h眉quqlar. 1006 00:43:26,460 --> 00:43:29,090 Bel蓹 g枚r眉n眉r, yen蓹 bu yadda艧 seqmentl蓹ri, bel蓹 ki, dan谋艧maq 1007 00:43:29,090 --> 00:43:32,660 bel蓹 biz, m蓹ntiqi b枚y眉k t蓹krar u臒urlu olsun. 1008 00:43:32,660 --> 00:43:36,510 Amma n蓹hay蓹t, bir d蓹f蓹 g眉l眉nc almaq v蓹 h蓹qiq蓹t蓹n, ekranda uzaq 莽谋xmaq 1009 00:43:36,510 --> 00:43:39,120 Siz, h蓹qiq蓹t蓹n yadda艧 toxunmaq h蓹qiq蓹t蓹n siz蓹 aid deyil. 1010 00:43:39,120 --> 00:43:40,870 >> Amma s蓹mimi, bu S蓹hvl蓹rind蓹n n枚v gedir 1011 00:43:40,870 --> 00:43:43,020 莽蓹tindir v蓹 daha olacaq 枚z anlamaq 眉莽眉n. 1012 00:43:43,020 --> 00:43:47,880 Amma 艧眉k眉rl蓹r olsun ki, proqram莽谋lar kimi, biz Biz蓹 bu imkan verir ki al蓹tl蓹ri. 1013 00:43:47,880 --> 00:43:50,140 Bel蓹 ki, bu, b蓹lk蓹, bir ugliest proqramlar谋, 1014 00:43:50,140 --> 00:43:52,060 gdb nin 莽谋x谋艧 daha uglier. 1015 00:43:52,060 --> 00:43:55,670 Amma bu h蓹mi艧蓹 bir x蓹tt var v蓹 ya super faydal谋 olan iki. 1016 00:43:55,670 --> 00:44:00,310 >> Valgrind k枚m蓹k edir ki, bir proqramd谋r Bir proqram debug deyil, 枚zl眉y眉nd蓹, 1017 00:44:00,310 --> 00:44:03,500 lakin yadda艧 ba臒l谋 tapmaq probleml蓹r, x眉susil蓹. 1018 00:44:03,500 --> 00:44:07,590 Bu avtomatik olaraq 眉莽眉n kod davam ed蓹c蓹k Siz 蓹n az谋 iki 艧ey 眉莽眉n baxmaq. 1019 00:44:07,590 --> 00:44:10,680 One, bir 艧ey n蓹 idi touch yadda艧 kimi t蓹sad眉fi 1020 00:44:10,680 --> 00:44:11,980 ki, siz蓹 aid deyil? 1021 00:44:11,980 --> 00:44:13,590 Bu o hallarda tapmaq k枚m蓹k ed蓹c蓹k. 1022 00:44:13,590 --> 00:44:15,710 >> V蓹 iki, k枚m蓹k ed蓹c蓹k deyil蓹n bir 艧ey tapmaq 1023 00:44:15,710 --> 00:44:19,270 yadda艧 s谋z谋nt谋lar谋, biz malik olan tamamil蓹 r蓹dd, naively, 1024 00:44:19,270 --> 00:44:21,380 bir m眉dd蓹t 眉莽眉n v蓹 z枚vql蓹. 1025 00:44:21,380 --> 00:44:23,140 Amma b眉t眉n 莽谋x谋r bu d蓹f蓹, zaman 1026 00:44:23,140 --> 00:44:26,620 Siz getString adl谋 etdik bizim proqramlar谋 莽ox, 1027 00:44:26,620 --> 00:44:28,930 Siz 蓹m蓹liyyat xahi艧 edirik yadda艧 sistemi, 1028 00:44:28,930 --> 00:44:32,070 lakin h蓹r hans谋 bir xatir蓹 var he莽 verilm蓹si 1029 00:44:32,070 --> 00:44:36,169 geri, bunu unalloc, v蓹 ya pulsuz bu deyil蓹n kimi. 1030 00:44:36,169 --> 00:44:37,960 Xeyr, 莽眉nki biz he莽 etdik bunu ist蓹di. 1031 00:44:37,960 --> 00:44:41,250 >> Lakin b眉t眉n bu zaman, proqramlar C yaz谋l谋 oldu臒unuz 1032 00:44:41,250 --> 00:44:43,800 yadda艧 s谋zan edilmi艧dir, Bu 蓹m蓹liyyat xahi艧 1033 00:44:43,800 --> 00:44:46,190 daha sistem strings v蓹 etajer 眉莽眉n yadda艧, 1034 00:44:46,190 --> 00:44:47,870 lakin geri verilm蓹si he莽 vaxt. 1035 00:44:47,870 --> 00:44:50,080 V蓹 indi bu bir az bir oversimplification, 1036 00:44:50,080 --> 00:44:53,550 lakin he莽 olsan谋z Mac 莽al谋艧t谋rmak v蓹 ya 莽ox vaxt, a莽谋l谋艧 眉莽眉n PC 1037 00:44:53,550 --> 00:44:55,790 proqramlar谋 莽ox, b蓹lk蓹, proqramlar谋 ba臒lanmas谋 1038 00:44:55,790 --> 00:44:57,795 v蓹 h蓹tta sizin komp眉ter q蓹zaya deyil, 1039 00:44:57,795 --> 00:45:01,690 Bu, 莽ox gec 蓹ld蓹 edir Bu h蓹qiq蓹t蓹n sanki 1040 00:45:01,690 --> 00:45:04,290 yadda艧 bir 莽ox istifad蓹 v蓹 ya resurslar谋, baxmayaraq ki, 1041 00:45:04,290 --> 00:45:06,070 Siz de臒ilseniz, h蓹tta klaviatura toxunmadan, 1042 00:45:06,070 --> 00:45:10,430 ki be-- lakin always-- bilm蓹di bil蓹r proqramlar siz yay谋nl谋yorsan谋z ki, 1043 00:45:10,430 --> 00:45:11,920 枚zl蓹rini yadda艧 s谋z谋nt谋lar谋. 1044 00:45:11,920 --> 00:45:15,645 V蓹 onlar daha v蓹 OS xahi艧 saxlamaq daha 莽ox yadda艧, lakin bu bar蓹d蓹 unutmadan, 1045 00:45:15,645 --> 00:45:18,470 h蓹qiq蓹t蓹n, istifad蓹, lakin Buna g枚r蓹 d蓹 uzaq yadda艧 alaraq 1046 00:45:18,470 --> 00:45:20,500 ist蓹diyiniz bil蓹r ki, dig蓹r proqramlar谋. 1047 00:45:20,500 --> 00:45:23,940 Bel蓹 ki, 眉mumi izah edir. 1048 00:45:23,940 --> 00:45:25,940 陌ndi burada tapa Valgrind-nin deyil 莽谋x谋艧 tamamil蓹 1049 00:45:25,940 --> 00:45:29,290 o az m蓹nfur v蓹 eyni daha rahat. 1050 00:45:29,290 --> 00:45:32,690 Lakin maraql谋 stuff burada sa臒 q蓹d蓹r. 1051 00:45:32,690 --> 00:45:37,060 Bu m蓹n蓹 yaln谋艧 yazmaq izah 枚l莽眉s眉 d枚rd, bu proqram olur 1052 00:45:37,060 --> 00:45:40,640 X眉susil蓹, memory.c line 21. 1053 00:45:40,640 --> 00:45:45,450 >> M蓹n hm, orada h蓹qiq蓹t蓹n, line 21 getm蓹k 蓹g蓹r 枚l莽眉s眉 d枚rd yaln谋艧 yazmaq. 1054 00:45:45,450 --> 00:45:46,250 Niy蓹 size d枚rd? 1055 00:45:46,250 --> 00:45:49,500 B蓹li, bu bir say谋 v蓹 anything-- ola bil蓹r bir int edir. 1056 00:45:49,500 --> 00:45:50,450 Bel蓹 ki, d枚rd bayt var. 1057 00:45:50,450 --> 00:45:52,550 M蓹n d枚rd bayt qoyulmas谋 al谋ram onlar aid deyil. 1058 00:45:52,550 --> 00:45:55,080 N蓹 Valgrind var h蓹qiq蓹t蓹n m蓹n蓹 izah olunur. 1059 00:45:55,080 --> 00:45:57,600 Bundan ba艧qa, bu da olacaq biz g枚r蓹c蓹ksiniz kimi, m蓹n蓹, 1060 00:45:57,600 --> 00:46:01,490 Bu g蓹l蓹c蓹k pset run kimi, 蓹g蓹r siz h蓹qiq蓹t蓹n yadda艧 s谋zan etdiyiniz zaman 1061 00:46:01,490 --> 00:46:05,300 M蓹n adl谋 etdik, 莽眉nki m蓹n, malloc, lakin m蓹n, h蓹qiq蓹t蓹n yoxdur 1062 00:46:05,300 --> 00:46:08,010 pulsuz, bu halda, adl谋, biz n蓹hay蓹t g枚r眉rs眉n眉z 1063 00:46:08,010 --> 00:46:09,830 malloc 蓹ks edir. 1064 00:46:09,830 --> 00:46:10,860 1065 00:46:10,860 --> 00:46:12,930 >> Bel蓹 ki, indi m蓹n bir final n眉mun蓹 hesab edir蓹m. 1066 00:46:12,930 --> 00:46:14,050 1067 00:46:14,050 --> 00:46:16,690 Bel蓹 ki, bu bir az daha 莽ox gizli, lakin b蓹lk蓹 var 1068 00:46:16,690 --> 00:46:19,180 蓹n b枚y眉k s蓹b蓹bi , yadda艧l谋 ehtiyatl谋 olun 1069 00:46:19,180 --> 00:46:24,490 v蓹 s蓹b蓹b 莽ox proqramlar v蓹 h蓹tta bu g眉n / v蓹 ya web server, 1070 00:46:24,490 --> 00:46:28,200 haradasa pis u艧aqlar t蓹r蓹find蓹n q蓹bul edilir internet birt蓹h蓹r olan 1071 00:46:28,200 --> 00:46:33,390 Sizin server saxta paketl蓹rin g枚nd蓹rilm蓹si hesab谋 g眉z蓹艧t蓹 莽al谋艧谋r, 1072 00:46:33,390 --> 00:46:36,420 v蓹 ya m蓹lumat almaq, v蓹 ya yaln谋z 眉mumiyy蓹tl蓹 ma艧谋n 眉z蓹rind蓹. 1073 00:46:36,420 --> 00:46:38,910 Bufer da艧q谋n kimi ad谋, vasit蓹l蓹ri t蓹klif 1074 00:46:38,910 --> 00:46:40,740 bir int, lakin bufer co艧臒un. 1075 00:46:40,740 --> 00:46:43,490 V蓹 bir tampon bir x眉lya yoludur dey蓹r蓹k bu yadda艧 bir d蓹st蓹 var. 1076 00:46:43,490 --> 00:46:46,710 >> V蓹 h蓹qiq蓹t蓹n, M蓹n bir string adlan谋r 蓹v蓹zin蓹 s bufer 蓹vv蓹l. 1077 00:46:46,710 --> 00:46:49,234 Bir bufer 蓹g蓹r 莽眉nki, YouTube m蓹nada kimi, 1078 00:46:49,234 --> 00:46:52,400 v蓹 ya video seyr etdiyiniz ist蓹nil蓹n vaxt, S枚z眉 buffering g枚rm眉艧蓹m bil蓹r, 1079 00:46:52,400 --> 00:46:53,040 dot, n枚qt蓹 n枚qt蓹. 1080 00:46:53,040 --> 00:46:54,240 Bu inan谋lmaz annoying var. 1081 00:46:54,240 --> 00:46:55,990 V蓹 yaln谋z dem蓹kdir Sizin video player ki, 1082 00:46:55,990 --> 00:46:58,710 莽ox download 莽al谋艧谋r bayt bytes, 莽ox 1083 00:46:58,710 --> 00:47:00,170 internet bir video. 1084 00:47:00,170 --> 00:47:02,920 Amma yava艧 var, bel蓹 ki, 莽al谋艧谋r谋q Onlardan bir d蓹st蓹 download 1085 00:47:02,920 --> 00:47:06,430 ki, bir tampon, bir konteyner doldurmaq 眉莽眉n Siz ki, sonra bil蓹rsiniz kifay蓹t q蓹d蓹r bytes var 1086 00:47:06,430 --> 00:47:09,174 siz video g枚st蓹rm蓹k daim duraklatarak olmadan. 1087 00:47:09,174 --> 00:47:11,340 Amma siz 莽谋x谋r Bu b枚y眉k bufer. 1088 00:47:11,340 --> 00:47:15,710 Amma bu q蓹d蓹r m蓹lumat qoymaq 眉莽眉n c蓹hd edin Bu, 莽ox pis 艧eyl蓹r ola bil蓹r. 1089 00:47:15,710 --> 00:47:22,780 Bel蓹 ki, m蓹s蓹l蓹n, baxaq M蓹s蓹l蓹n bu son teaser. 1090 00:47:22,780 --> 00:47:24,720 Bu ba艧qa bir proqram ki, ilk bax谋艧da, 1091 00:47:24,720 --> 00:47:26,540 super faydal谋 bir 艧ey deyil. 1092 00:47:26,540 --> 00:47:29,590 Bu 茝sas funksiyas谋 var ki f ki, funksiyas谋 莽a臒谋r谋r. 1093 00:47:29,590 --> 00:47:36,640 V蓹 funksiyas谋, f, burada var bir char array 枚l莽眉s眉 12, c 莽a臒谋r谋b. 1094 00:47:36,640 --> 00:47:39,340 V蓹 sonra bu istifad蓹 edir Yeni funksiyas谋 strncpy 莽a臒谋r谋b. 1095 00:47:39,340 --> 00:47:40,430 1096 00:47:40,430 --> 00:47:45,190 >> Bu, bu sad蓹 ki, h蓹yata 莽evirir kodu sad蓹 x蓹tti, yaln谋z iki x蓹tl蓹ri, 1097 00:47:45,190 --> 00:47:49,130 biz, m蓹nim b眉t眉n proqram谋 etdik v蓹 buna g枚r蓹 d蓹, m蓹nim b眉t眉n komp眉ter, 1098 00:47:49,130 --> 00:47:54,000 v蓹 istifad蓹莽i hesab谋, v蓹 m蓹nim a臒谋r h蓹r k蓹s 眉莽眉n potensial h蓹ssas s眉r眉c眉 1099 00:47:54,000 --> 00:47:58,170 kim bilir v蓹 莽al谋艧t谋rmak 眉莽眉n kifay蓹t q蓹d蓹r yax艧谋 m眉蓹yy蓹n bir command line il蓹 bu proqram 1100 00:47:58,170 --> 00:47:58,900 arqument. 1101 00:47:58,900 --> 00:48:03,400 Ba艧qa s枚zl蓹, 蓹g蓹r bu pis o臒lan yazaraq argvargv [1] daxilind蓹 qoyur 1102 00:48:03,400 --> 00:48:08,750 klaviatura bir 莽ox x眉susi haz谋rlanm谋艧 at simli, abc, 123, lakin mahiyy蓹tc蓹, 1103 00:48:08,750 --> 00:48:15,180 y眉r眉t眉lebilir t蓹msil ed蓹n ikili r蓹mzl蓹ri kodu, o yaz谋rd谋 ki, bir proqram, 1104 00:48:15,180 --> 00:48:19,190 olan bu sad蓹 proqram il蓹 proqramlar谋 minl蓹rl蓹 n眉may蓹nd蓹si 1105 00:48:19,190 --> 00:48:23,610 ki, daresay, eyni d蓹r蓹c蓹d蓹 h蓹ssasd谋rlar o, son n蓹tic蓹d蓹 b眉t眉n d眉z蓹li艧l蓹r ed蓹 bil蓹rsiniz 1106 00:48:23,610 --> 00:48:26,680 sabit fayllar谋, bir almaq o bil蓹r ki, tez yan谋b-s枚n蓹n 1107 00:48:26,680 --> 00:48:30,170 枚z komutlar谋 yaz谋n 枚z眉m 眉莽眉n b眉t眉n fayllar谋 e-po莽t. 1108 00:48:30,170 --> 00:48:34,660 M蓹n n蓹 ed蓹 bil蓹r ki, bir 艧ey, o v蓹 ya bu kodu il蓹 ed蓹 bil蓹rsiniz. 1109 00:48:34,660 --> 00:48:36,575 >> Biz olduqca h蓹l蓹 bu h蓹ll deyil. 1110 00:48:36,575 --> 00:48:38,700 V蓹 蓹slind蓹, bu, olacaq bir az 艧蓹kil c蓹lb 1111 00:48:38,700 --> 00:48:41,470 Bu kimi, biz tezlikl蓹 g蓹lm蓹k laz谋md谋r olan b眉t眉n yax艧谋 anlamaq 眉莽眉n. 1112 00:48:41,470 --> 00:48:44,480 Amma bu g眉n 眉莽眉n, 眉zr蓹 son qoy , bir az daha 眉mid edir蓹m ki, n蓹 1113 00:48:44,480 --> 00:48:48,360 ayd谋n XKCD zarafat, biz n枚vb蓹ti d蓹f蓹 davam q蓹d蓹r. 1114 00:48:48,360 --> 00:48:51,100 1115 00:48:51,100 --> 00:48:51,600 B眉t眉n h眉quqlar. 1116 00:48:51,600 --> 00:48:53,446 脟蓹r艧蓹nb蓹 g眉n眉 g枚r蓹c蓹ksiniz. 1117 00:48:53,446 --> 00:48:54,754 >> [MUSIC ifa] 1118 00:48:54,754 --> 00:48:57,790 >> HOPARL脰R: 陌ndi, d蓹rin Daven Farnham t蓹r蓹find蓹n fikirl蓹r. 1119 00:48:57,790 --> 00:49:00,890 1120 00:49:00,890 --> 00:49:04,770 Yadda艧 bir qalaq daxil jumping kimi Bazar g眉nortadan q谋z谋l yarpaqlar谋. 1121 00:49:04,770 --> 00:49:09,000 K眉l蓹k 蓹sir, tossing sizin oh hair--, m蓹n g眉n when-- miss 1122 00:49:09,000 --> 00:49:11,100 1123 00:49:11,100 --> 00:49:12,650 >> [G眉l眉艧] 1124 00:49:12,650 --> 00:49:13,750