1 00:00:00,000 --> 00:00:02,395 >> [MUSIC PLAYING] 2 00:00:02,395 --> 00:00:05,750 3 00:00:05,750 --> 00:00:06,506 >> DOUG LLOYD: OK. 4 00:00:06,506 --> 00:00:08,880 Biz integers il蓹 莽al谋艧m谋艧, biz simvol il蓹 莽al谋艧m谋艧, 5 00:00:08,880 --> 00:00:11,930 Biz 眉z眉b gedirdi 莽al谋艧d谋q, ikiqat, siml蓹r, v蓹 bools. 6 00:00:11,930 --> 00:00:14,870 Biz 莽ox b眉t眉n olduqca can谋 sonra [I艧itilemez] n枚vl蓹ri ki, 7 00:00:14,870 --> 00:00:17,100 birlikd蓹 biz蓹 b眉t眉n m枚vcud olmu艧dur. 8 00:00:17,100 --> 00:00:19,430 Amma indi biz daha bir 艧ey etm蓹k ist蓹yir蓹m. 9 00:00:19,430 --> 00:00:20,210 Biz bunu nec蓹 ed蓹 bil蓹r蓹m? 10 00:00:20,210 --> 00:00:22,560 Nec蓹 ki, biz m眉xt蓹lif data n枚v yaratmaq 眉莽眉n n蓹 etm蓹liy蓹m? 11 00:00:22,560 --> 00:00:26,130 Biz strukturlar谋 istifad蓹 ed蓹r蓹k bunu ed蓹 bil蓹rsiniz. 12 00:00:26,130 --> 00:00:30,180 Bel蓹 ki, strukturlar, biz蓹 birl蓹艧dirm蓹k 眉莽眉n imkan verir m眉xt蓹lif n枚v d蓹yi艧蓹nl蓹rin 13 00:00:30,180 --> 00:00:34,810 bir yeni d蓹yi艧蓹n n枚v眉, Hans谋 枚z n枚v眉 ad谋n谋 t蓹yin ed蓹 bil蓹rsiniz. 14 00:00:34,810 --> 00:00:37,570 Bu, h蓹qiq蓹t蓹n g眉cl眉 艧ey ed蓹 olmaq 15 00:00:37,570 --> 00:00:40,900 biz qrup indi bil蓹rsiniz, 莽眉nki m眉xt蓹lif data n枚vl蓹ri elementl蓹ri 16 00:00:40,900 --> 00:00:43,910 birlikd蓹 bir m蓹ntiqi 蓹laq蓹si var. 17 00:00:43,910 --> 00:00:46,440 Biz bunu ed蓹 oldu臒unuz sort Diziler il蓹, sa臒? 18 00:00:46,440 --> 00:00:49,540 Biz qrup d蓹yi艧蓹nl蓹r Eyni data n枚v眉 19 00:00:49,540 --> 00:00:53,410 birlikd蓹 b枚y眉k bir hiss蓹sind蓹 yadda艧, bir s谋ra. 20 00:00:53,410 --> 00:00:56,660 >> Amma biz qar谋艧d谋rmaq bilm蓹mi艧ik birlikd蓹 m眉xt蓹lif m蓹lumat n枚vl蓹ri. 21 00:00:56,660 --> 00:01:02,610 Biz bir tam qo艧maq, dey蓹 bilm蓹r蓹m v蓹 bir xarakter, v蓹 ikiqat b眉t眉n 22 00:01:02,610 --> 00:01:05,330 eyni 艧ey v蓹 vahid z蓹ng. 23 00:01:05,330 --> 00:01:08,830 Lakin strukturlar谋, v蓹 ya tez-tez structs adland谋r谋lacaq 24 00:01:08,830 --> 00:01:09,585 biz, h蓹qiq蓹t蓹n, bil蓹rsiniz. 25 00:01:09,585 --> 00:01:12,370 Bel蓹 bir qurulu艧 sort deyil bir super d蓹yi艧蓹n kimi. 26 00:01:12,370 --> 00:01:16,530 Bu olan bir d蓹yi艧蓹n var daxilind蓹 dig蓹r d蓹yi艧蓹nl蓹rin. 27 00:01:16,530 --> 00:01:19,650 Bel蓹 ki, burada bir n眉mun蓹 var 莽ox sad蓹 strukturu. 28 00:01:19,650 --> 00:01:23,380 Bu syntax baxmaq n蓹 bir avtomobil 眉莽眉n bir qurulu艧 yaratmaq ist蓹yir蓹m. 29 00:01:23,380 --> 00:01:25,250 陌ndi burada sintaksis il蓹 ged蓹k. 30 00:01:25,250 --> 00:01:27,400 Struct ki, var g枚st蓹rir s枚z 31 00:01:27,400 --> 00:01:30,270 Burada yeni data type yarad谋lmas谋 al谋ram ki. 32 00:01:30,270 --> 00:01:33,860 X眉susil蓹, veri n枚v眉 ad谋 var biz g枚r蓹c蓹ksiniz kimi, struct avtomobil olacaq. 33 00:01:33,860 --> 00:01:36,640 Amma bu tip sort compiler off ki, bu 34 00:01:36,640 --> 00:01:42,440 d蓹yi艧蓹nl蓹rin bir qrup kimi gedir eyni tipli bir hiss蓹si hesab etm蓹k 35 00:01:42,440 --> 00:01:44,010 bir d蓹qiq蓹. 36 00:01:44,010 --> 00:01:46,340 >> Cars, strukturu yaln谋z ad谋. 37 00:01:46,340 --> 00:01:50,590 Yen蓹 burada data type gedir struct avtomobil, yaln谋z avtomobil olacaq. 38 00:01:50,590 --> 00:01:53,060 Amma different-- varsa Bir ne莽蓹 structs yaratmaq 39 00:01:53,060 --> 00:01:56,950 Eyni proqram, siz laz谋md谋r struct v蓹 struct ay谋rmaq. 40 00:01:56,950 --> 00:02:00,140 Bel蓹 ki, struct avtomobil, m蓹n d蓹 ola bil蓹r struct t蓹l蓹b蓹, m蓹s蓹l蓹n, 41 00:02:00,140 --> 00:02:01,790 eyni proqramda. 42 00:02:01,790 --> 00:02:05,980 Q谋vr谋m a艧谋rma Inside var deyil蓹n sah蓹l蓹rd蓹 b眉t眉n, 43 00:02:05,980 --> 00:02:07,954 v蓹 ya struktur 眉zvl蓹ri. 44 00:02:07,954 --> 00:02:10,370 Bel蓹 ki, b蓹zi 艧eyl蓹ri n蓹 Bir avtomobil xas olan? 45 00:02:10,370 --> 00:02:15,270 B蓹li, ad蓹t蓹n, bir il malikdir bir model ad谋 v蓹 bir plaka, 46 00:02:15,270 --> 00:02:18,000 ad蓹t蓹n olan bir odometer bu mil bir say谋, 47 00:02:18,000 --> 00:02:19,225 v蓹 b蓹lk蓹 bir m眉h蓹rrik 枚l莽眉s眉. 48 00:02:19,225 --> 00:02:23,570 G枚rd眉y眉n眉z kimi, m蓹n q蓹d蓹r qar谋艧d谋rmaqla al谋ram integers v蓹 simvol v蓹 ikiqat. 49 00:02:23,570 --> 00:02:26,420 Onlar b眉t眉n olacaq Bu yeni data n枚v眉 hiss蓹sidir. 50 00:02:26,420 --> 00:02:29,750 >> N蓹hay蓹t, son 艧ey etm蓹k laz谋md谋r, Bu ki莽ik n枚qt蓹li verg眉l unutmay谋n 51 00:02:29,750 --> 00:02:30,290 Sonda. 52 00:02:30,290 --> 00:02:34,380 Biz strukturu m眉蓹yy蓹n bitirm蓹k sonra, Biz sonunda n枚qt蓹li verg眉l qoymaq laz谋md谋r. 53 00:02:34,380 --> 00:02:37,325 Bu, 莽ox 眉mumi sintaktik var s蓹hv, bir funksiyas谋 il蓹, 莽眉nki, 54 00:02:37,325 --> 00:02:40,200 misal 眉莽眉n, yaln谋z olard谋 a莽谋q buruq brace, yax谋n buruq brace. 55 00:02:40,200 --> 00:02:42,950 Siz bir n枚qt蓹li verg眉l qoymaq deyil bir funksiyas谋 m眉蓹yy蓹n sonu. 56 00:02:42,950 --> 00:02:46,430 Bu funksiya kimi g枚r眉n眉r m眉蓹yy蓹n, lakin bu deyil, 57 00:02:46,430 --> 00:02:49,653 v蓹 bel蓹 n枚qt蓹li verg眉l var yaln谋z bir 枚y眉d-n蓹sih蓹tdir ki, 58 00:02:49,653 --> 00:02:52,440 莽眉nki orada qoymaq laz谋md谋r compiler ba艧qa olacaq 59 00:02:52,440 --> 00:02:53,510 onunla n蓹 bilirik. 60 00:02:53,510 --> 00:02:56,160 Bu, 莽ox 眉mumi s蓹hv var t蓹sad眉f蓹n etm蓹k 61 00:02:56,160 --> 00:02:58,570 zaman ilk strukturlar谋 m眉蓹yy蓹n edirik. 62 00:02:58,570 --> 00:02:59,500 >> OLDU. 63 00:02:59,500 --> 00:03:02,824 Bel蓹 ki, biz ad蓹t蓹n bizim strukturlar谋 m眉蓹yy蓹n Bizim proqramlar谋 莽ox 眉st 64 00:03:02,824 --> 00:03:05,490 onlar y蓹qin ki, olacaq, 莽眉nki 莽ox funksiyalar谋 il蓹 istifad蓹 edil蓹c蓹k. 65 00:03:05,490 --> 00:03:08,850 Biz m眉蓹yy蓹n etm蓹k ist蓹mir蓹m bir funksiyas谋 daxilind蓹 struct, 66 00:03:08,850 --> 00:03:12,110 sonra biz only-- bil蓹r, 莽眉nki strukturu 莽蓹r莽iv蓹sind蓹 h蓹qiq蓹t蓹n 67 00:03:12,110 --> 00:03:13,790 yaln谋z bu funksiyas谋 daxilind蓹 m枚vcuddur. 68 00:03:13,790 --> 00:03:17,450 Biz y蓹qin ki, bir strukturu m眉蓹yy蓹n etm蓹k ist蓹yir蓹m bel蓹 ki, biz 莽ox funksiyalar谋 istifad蓹 ed蓹 bil蓹rsiniz, 69 00:03:17,450 --> 00:03:20,670 v蓹 ya b蓹lk蓹 bird蓹n 莽ox da birlikd蓹 ba臒lay谋r fayllar谋 70 00:03:20,670 --> 00:03:22,920 Bizim t蓹k proqram yaratmaq. 71 00:03:22,920 --> 00:03:24,920 B蓹z蓹n d蓹 yerin蓹 strukturu m眉蓹yy蓹n 72 00:03:24,920 --> 00:03:27,961 qoymaq 莽ox 眉st , funt daxildir v蓹 sizin funt m眉蓹yy蓹n 73 00:03:27,961 --> 00:03:32,080 M蓹s蓹l蓹n, siz onlar谋 qoymaq bil蓹r ayr谋-ayr谋 dot h fayllar谋, onda hans谋 siz蓹 74 00:03:32,080 --> 00:03:35,020 funt 枚z眉n眉z眉 daxildir. 75 00:03:35,020 --> 00:03:37,620 >> Bel蓹likl蓹, biz strukturlar谋 var, amma indi biz onlar谋n i莽蓹risind蓹 almaq laz谋md谋r. 76 00:03:37,620 --> 00:03:39,800 Nec蓹 ki, biz daxilind蓹 al谋ram daxil olmaq 眉莽眉n bir qurulu艧 77 00:03:39,800 --> 00:03:43,530 bu sub-d蓹yi艧蓹nl蓹r, o d蓹yi艧蓹nl蓹r ki, struktur daxilind蓹 var? 78 00:03:43,530 --> 00:03:46,810 Yax艧谋, biz deyil蓹n bir 艧ey var imkan verir dot operator, 79 00:03:46,810 --> 00:03:50,990 strukturunun sah蓹l蓹ri daxil olmaq 眉莽眉n. 80 00:03:50,990 --> 00:03:55,490 Bel蓹 ki, m蓹s蓹l蓹n, m蓹n b蓹yan etdik dey蓹k M蓹nim strukturu data yerd蓹 yaz谋n 81 00:03:55,490 --> 00:03:59,020 m蓹nim proqram 眉st, v蓹 ya b蓹lk蓹 da M蓹n funt var bir dot h fayl daxildir. 82 00:03:59,020 --> 00:04:03,360 M蓹n sonra yeni yaratmaq ist蓹yirsinizs蓹 ki, data n枚v眉 d蓹yi艧蓹n, m蓹n dem蓹k olar 83 00:04:03,360 --> 00:04:06,260 struct avtomobil, m蓹nim avtomobil, n枚qt蓹li verg眉l. 84 00:04:06,260 --> 00:04:11,580 M蓹n int dem蓹k olar kimi x, v蓹 ya simli ad谋 n枚qt蓹li verg眉l. 85 00:04:11,580 --> 00:04:18,100 >> Burada data type, struct avtomobil d蓹yi艧蓹n ad谋, m蓹nim avtomobil 86 00:04:18,100 --> 00:04:23,770 v蓹 sonra m蓹n dot operator istifad蓹 ed蓹 bil蓹rsiniz m蓹nim avtomobil m眉xt蓹lif sah蓹l蓹ri daxil. 87 00:04:23,770 --> 00:04:27,494 Bel蓹likl蓹, m蓹n avtomobil dem蓹k olar dot 2011-ci il b蓹rab蓹rdir. 88 00:04:27,494 --> 00:04:28,410 Ki, m眉k蓹mm蓹l g枚z蓹l var. 89 00:04:28,410 --> 00:04:34,210 Siz geri 蓹g蓹r il, bir kimi m眉蓹yy蓹n edilmi艧dir bu struct avtomobilin daxili Tamsay谋 90 00:04:34,210 --> 00:04:35,200 data n枚v眉. 91 00:04:35,200 --> 00:04:39,966 Struct avtomobil m蓹lumatlar谋n h蓹r hans谋 bir d蓹yi艧蓹n n枚v眉, bel蓹 m蓹nim avtomobil kimi, m蓹n avtomobil dem蓹k olar 92 00:04:39,966 --> 00:04:44,030 dot il b蓹rab蓹rdir v蓹 sonra t蓹yin b蓹zi tam d蓹y蓹ri, 2011. 93 00:04:44,030 --> 00:04:47,290 M蓹nim avtomobil dot n枚mr蓹li CS50 b蓹rab蓹rdir. 94 00:04:47,290 --> 00:04:51,180 M蓹nim kart dot odometer 50505 n枚qt蓹li verg眉l b蓹rab蓹rdir. 95 00:04:51,180 --> 00:04:53,270 O b眉t眉n var m眉k蓹mm蓹l g枚z蓹l v蓹 var 96 00:04:53,270 --> 00:04:57,802 biz daxil nec蓹 strukturunun sah蓹l蓹ri. 97 00:04:57,802 --> 00:05:00,260 Structures, baxmayaraq ki, ehtiyac yoxdur y谋臒谋n谋 yarad谋lacaq. 98 00:05:00,260 --> 00:05:02,950 Sad蓹c蓹 biz, h蓹r hans谋 dig蓹r d蓹yi艧蓹n kimi dinamik onlar谋 ay谋ra bil蓹r. 99 00:05:02,950 --> 00:05:06,309 Biz bir proqram varsa ki, bil蓹r 莽ox strukturlar谋 yaradan, 100 00:05:06,309 --> 00:05:08,100 biz nec蓹 莽ox bilmir蓹m biz laz谋m olacaq 101 00:05:08,100 --> 00:05:10,800 sonra biz dinamik laz谋md谋r bu strukturlar谋n ayr谋lmas谋 102 00:05:10,800 --> 00:05:12,960 Bizim proqram kimi 莽al谋艧谋r. 103 00:05:12,960 --> 00:05:16,600 V蓹 biz daxil olacaq, bel蓹 ki bu kontekstd蓹 bir qurulu艧un sah蓹l蓹ri, 104 00:05:16,600 --> 00:05:20,660 biz ilk dereference laz谋md谋r geri strukturu pointer, 105 00:05:20,660 --> 00:05:24,810 V蓹 sonra biz bir dereference pointer, sonra biz sah蓹l蓹ri 蓹ld蓹 ed蓹 bil蓹rsiniz. 106 00:05:24,810 --> 00:05:26,830 Biz yaln谋z bir varsa strukturu g枚st蓹rici, 107 00:05:26,830 --> 00:05:32,120 biz yaln谋z pointer dot sah蓹sind蓹 dey蓹 bilm蓹r蓹m ad v蓹 biz arad谋臒谋n谋z n蓹 almaq. 108 00:05:32,120 --> 00:05:34,259 Dereferencing 蓹lav蓹 add谋m var. 109 00:05:34,259 --> 00:05:36,050 Bel蓹 ki, dey蓹k 蓹v蓹zin蓹 previous-- of 110 00:05:36,050 --> 00:05:38,770 yaln谋z 蓹vv蓹lki misal kimi, 蓹v蓹zin蓹 elan 111 00:05:38,770 --> 00:05:43,680 y谋臒谋n谋, struct avtomobil, m蓹nim avtomobil, n枚qt蓹li verg眉l, m蓹n struct avtomobil dem蓹k 112 00:05:43,680 --> 00:05:48,020 star, bir bir g枚st蓹rici struct avtomobil, m蓹nim avtomobil 莽a臒谋r谋b 113 00:05:48,020 --> 00:05:51,250 struct avtomobil malloc 枚l莽眉s眉 b蓹rab蓹rdir. 114 00:05:51,250 --> 00:05:54,950 Biz ne莽蓹-ne莽蓹 枚l莽眉s眉 anlamaq laz谋md谋r Yeni data type tutur bayt. 115 00:05:54,950 --> 00:05:58,570 Siz m眉tl蓹q yaln谋z istifad蓹 etm蓹k laz谋m deyil eni, int v蓹 ya char v蓹 ya h蓹r hans谋 枚l莽眉s眉 116 00:05:58,570 --> 00:05:59,715 daxili data n枚vl蓹ri. 117 00:05:59,715 --> 00:06:02,090 compiler kifay蓹t q蓹d蓹r a臒谋ll谋 deyil ne莽蓹 bayt anlamaq 眉莽眉n 118 00:06:02,090 --> 00:06:04,170 yeni strukturu t蓹l蓹b olunur. 119 00:06:04,170 --> 00:06:09,610 Bel蓹likl蓹, m蓹n 枚z眉m眉 yadda艧 vahidi malloc bir struct avtomobil ke莽irilm蓹si 眉莽眉n kifay蓹t q蓹d蓹r b枚y眉k, 120 00:06:09,610 --> 00:06:12,410 v蓹 m蓹n geri bir g枚st蓹rici almaq yadda艧 ki, blok, 121 00:06:12,410 --> 00:06:16,090 ki, pointer m蓹nim avtomobil verilir. 122 00:06:16,090 --> 00:06:18,050 >> 陌ndi daxil olmaq ist蓹yirsinizs蓹, m蓹nim avtomobil sah蓹l蓹ri, 123 00:06:18,050 --> 00:06:22,615 M蓹n ilk m蓹nim avtomobil dereference istifad蓹 dereference operator, ulduz 124 00:06:22,615 --> 00:06:26,620 biz g枚st蓹ricil蓹rin蓹 g枚rd眉m ki, video, v蓹 sonra m蓹n dereference sonra, 125 00:06:26,620 --> 00:06:32,200 sonra m蓹n dot operator istifad蓹 ed蓹 bil蓹rsiniz m蓹nim avtomobil m眉xt蓹lif sah蓹l蓹ri daxil. 126 00:06:32,200 --> 00:06:35,490 2011-ci ilin b蓹rab蓹rdir dot m蓹nim avtomobil Star. 127 00:06:35,490 --> 00:06:38,480 Bu t蓹sir biz bu halda ist蓹yir蓹m, 128 00:06:38,480 --> 00:06:41,960 biz dinamik var, 莽眉nki m蓹nim avtomobil ay谋r谋b. 129 00:06:41,960 --> 00:06:43,610 >> Bu do臒ru olsa da, c眉r annoying var? 130 00:06:43,610 --> 00:06:44,818 陌ndi 2-add谋m prosesi var. 131 00:06:44,818 --> 00:06:47,460 陌ndi biz dereference-- var biz bir ulduz operator, 132 00:06:47,460 --> 00:06:48,910 v蓹 biz bir dot operator var. 133 00:06:48,910 --> 00:06:51,660 V蓹 g枚zl蓹m蓹k bil蓹r, 莽眉nki C proqram莽谋lar q谋sa yollar谋 sevgi 134 00:06:51,660 --> 00:06:53,740 艧ey蓹, bir var q谋sa yol bunu. 135 00:06:53,740 --> 00:06:57,790 Arrow adl谋 bir operator var, olan bu proses 莽ox asan edir. 136 00:06:57,790 --> 00:07:00,750 arrow i艧l蓹ri yoldur ilk dereferences 137 00:07:00,750 --> 00:07:03,560 sol pointer operator yan, 138 00:07:03,560 --> 00:07:06,620 v蓹 sonra, sonra dereferenced ed蓹r蓹k sol pointer, 139 00:07:06,620 --> 00:07:09,620 Bu sa臒 sah蓹sind蓹 莽atmaz. 140 00:07:09,620 --> 00:07:14,170 V蓹 bel蓹 ki, 蓹vv蓹ll蓹r biz bu c眉r idi m蓹nim avtomobil, b眉t眉n bu m蓹hsullar谋 dot star 141 00:07:14,170 --> 00:07:15,880 kimi orada ged蓹n bir 莽ox var idi. 142 00:07:15,880 --> 00:07:22,040 Amma n蓹 biz 蓹v蓹zin蓹 n蓹 ed蓹 艧eyl蓹rdir deyil M蓹nim avtomobil arrow 2011-ci il b蓹rab蓹rdir. 143 00:07:22,040 --> 00:07:23,580 >> Yen蓹 burada n蓹l蓹r olur? 144 00:07:23,580 --> 00:07:25,720 Birincisi, m蓹n m蓹nim avtomobil dereferencing al谋ram. 145 00:07:25,720 --> 00:07:27,810 Hans谋 yen蓹 burada bir g枚st蓹ricisidir. 146 00:07:27,810 --> 00:07:31,270 Sonra sonra M蓹n avtomobil dereferenced 147 00:07:31,270 --> 00:07:35,130 sonra sah蓹l蓹ri 蓹ld蓹 ed蓹 bil蓹rsiniz il, bo艧qab, v蓹 odometer 148 00:07:35,130 --> 00:07:40,020 yaln谋z m蓹n bil蓹c蓹yi kimi ilk olan 蓹vv蓹l m蓹nim avtomobil dereference 眉莽眉n istifad蓹 ulduz, 149 00:07:40,020 --> 00:07:42,020 v蓹 sah蓹d蓹n daxil olmaq 眉莽眉n n枚qt蓹. 150 00:07:42,020 --> 00:07:45,290 Bel蓹 ki, siz, strukturlar谋 ola bil蓹r strukturlar谋na g枚st蓹ricil蓹rin蓹 ola bil蓹r, 151 00:07:45,290 --> 00:07:48,360 v蓹 daxil olmaq 眉莽眉n yollar谋 var h蓹min strukturlar谋n sah蓹l蓹ri, 152 00:07:48,360 --> 00:07:52,600 Siz g枚st蓹ricil蓹rin蓹 var olub Onlara v蓹 ya d蓹yi艧蓹nl蓹r 枚zl蓹ri. 153 00:07:52,600 --> 00:07:57,640 Dot v蓹 ya arrow, as谋l谋 olaraq d蓹yi艧蓹n nec蓹 elan edildi. 154 00:07:57,640 --> 00:08:00,510 M蓹n Doug Lloyd deyil蓹m, bu CS50 edir. 155 00:08:00,510 --> 00:08:01,975