>> [MUSIC PLAYING]
>> DOUG LLOYD: OK.
Biz integers il蓹 莽al谋艧m谋艧, biz simvol il蓹 莽al谋艧m谋艧,
Biz 眉z眉b gedirdi 莽al谋艧d谋q, ikiqat, siml蓹r, v蓹 bools.
Biz 莽ox b眉t眉n olduqca can谋 sonra [I艧itilemez] n枚vl蓹ri ki,
birlikd蓹 biz蓹 b眉t眉n m枚vcud olmu艧dur.
Amma indi biz daha bir 艧ey etm蓹k ist蓹yir蓹m.
Biz bunu nec蓹 ed蓹 bil蓹r蓹m?
Nec蓹 ki, biz m眉xt蓹lif data n枚v yaratmaq 眉莽眉n n蓹 etm蓹liy蓹m?
Biz strukturlar谋 istifad蓹 ed蓹r蓹k bunu ed蓹 bil蓹rsiniz.
Bel蓹 ki, strukturlar, biz蓹 birl蓹艧dirm蓹k 眉莽眉n imkan verir m眉xt蓹lif n枚v d蓹yi艧蓹nl蓹rin
bir yeni d蓹yi艧蓹n n枚v眉, Hans谋 枚z n枚v眉 ad谋n谋 t蓹yin ed蓹 bil蓹rsiniz.
Bu, h蓹qiq蓹t蓹n g眉cl眉 艧ey ed蓹 olmaq
biz qrup indi bil蓹rsiniz, 莽眉nki m眉xt蓹lif data n枚vl蓹ri elementl蓹ri
birlikd蓹 bir m蓹ntiqi 蓹laq蓹si var.
Biz bunu ed蓹 oldu臒unuz sort Diziler il蓹, sa臒?
Biz qrup d蓹yi艧蓹nl蓹r Eyni data n枚v眉
birlikd蓹 b枚y眉k bir hiss蓹sind蓹 yadda艧, bir s谋ra.
>> Amma biz qar谋艧d谋rmaq bilm蓹mi艧ik birlikd蓹 m眉xt蓹lif m蓹lumat n枚vl蓹ri.
Biz bir tam qo艧maq, dey蓹 bilm蓹r蓹m v蓹 bir xarakter, v蓹 ikiqat b眉t眉n
eyni 艧ey v蓹 vahid z蓹ng.
Lakin strukturlar谋, v蓹 ya tez-tez structs adland谋r谋lacaq
biz, h蓹qiq蓹t蓹n, bil蓹rsiniz.
Bel蓹 bir qurulu艧 sort deyil bir super d蓹yi艧蓹n kimi.
Bu olan bir d蓹yi艧蓹n var daxilind蓹 dig蓹r d蓹yi艧蓹nl蓹rin.
Bel蓹 ki, burada bir n眉mun蓹 var 莽ox sad蓹 strukturu.
Bu syntax baxmaq n蓹 bir avtomobil 眉莽眉n bir qurulu艧 yaratmaq ist蓹yir蓹m.
陌ndi burada sintaksis il蓹 ged蓹k.
Struct ki, var g枚st蓹rir s枚z
Burada yeni data type yarad谋lmas谋 al谋ram ki.
X眉susil蓹, veri n枚v眉 ad谋 var biz g枚r蓹c蓹ksiniz kimi, struct avtomobil olacaq.
Amma bu tip sort compiler off ki, bu
d蓹yi艧蓹nl蓹rin bir qrup kimi gedir eyni tipli bir hiss蓹si hesab etm蓹k
bir d蓹qiq蓹.
>> Cars, strukturu yaln谋z ad谋.
Yen蓹 burada data type gedir struct avtomobil, yaln谋z avtomobil olacaq.
Amma different-- varsa Bir ne莽蓹 structs yaratmaq
Eyni proqram, siz laz谋md谋r struct v蓹 struct ay谋rmaq.
Bel蓹 ki, struct avtomobil, m蓹n d蓹 ola bil蓹r struct t蓹l蓹b蓹, m蓹s蓹l蓹n,
eyni proqramda.
Q谋vr谋m a艧谋rma Inside var deyil蓹n sah蓹l蓹rd蓹 b眉t眉n,
v蓹 ya struktur 眉zvl蓹ri.
Bel蓹 ki, b蓹zi 艧eyl蓹ri n蓹 Bir avtomobil xas olan?
B蓹li, ad蓹t蓹n, bir il malikdir bir model ad谋 v蓹 bir plaka,
ad蓹t蓹n olan bir odometer bu mil bir say谋,
v蓹 b蓹lk蓹 bir m眉h蓹rrik 枚l莽眉s眉.
G枚rd眉y眉n眉z kimi, m蓹n q蓹d蓹r qar谋艧d谋rmaqla al谋ram integers v蓹 simvol v蓹 ikiqat.
Onlar b眉t眉n olacaq Bu yeni data n枚v眉 hiss蓹sidir.
>> N蓹hay蓹t, son 艧ey etm蓹k laz谋md谋r, Bu ki莽ik n枚qt蓹li verg眉l unutmay谋n
Sonda.
Biz strukturu m眉蓹yy蓹n bitirm蓹k sonra, Biz sonunda n枚qt蓹li verg眉l qoymaq laz谋md谋r.
Bu, 莽ox 眉mumi sintaktik var s蓹hv, bir funksiyas谋 il蓹, 莽眉nki,
misal 眉莽眉n, yaln谋z olard谋 a莽谋q buruq brace, yax谋n buruq brace.
Siz bir n枚qt蓹li verg眉l qoymaq deyil bir funksiyas谋 m眉蓹yy蓹n sonu.
Bu funksiya kimi g枚r眉n眉r m眉蓹yy蓹n, lakin bu deyil,
v蓹 bel蓹 n枚qt蓹li verg眉l var yaln谋z bir 枚y眉d-n蓹sih蓹tdir ki,
莽眉nki orada qoymaq laz谋md谋r compiler ba艧qa olacaq
onunla n蓹 bilirik.
Bu, 莽ox 眉mumi s蓹hv var t蓹sad眉f蓹n etm蓹k
zaman ilk strukturlar谋 m眉蓹yy蓹n edirik.
>> OLDU.
Bel蓹 ki, biz ad蓹t蓹n bizim strukturlar谋 m眉蓹yy蓹n Bizim proqramlar谋 莽ox 眉st
onlar y蓹qin ki, olacaq, 莽眉nki 莽ox funksiyalar谋 il蓹 istifad蓹 edil蓹c蓹k.
Biz m眉蓹yy蓹n etm蓹k ist蓹mir蓹m bir funksiyas谋 daxilind蓹 struct,
sonra biz only-- bil蓹r, 莽眉nki strukturu 莽蓹r莽iv蓹sind蓹 h蓹qiq蓹t蓹n
yaln谋z bu funksiyas谋 daxilind蓹 m枚vcuddur.
Biz y蓹qin ki, bir strukturu m眉蓹yy蓹n etm蓹k ist蓹yir蓹m bel蓹 ki, biz 莽ox funksiyalar谋 istifad蓹 ed蓹 bil蓹rsiniz,
v蓹 ya b蓹lk蓹 bird蓹n 莽ox da birlikd蓹 ba臒lay谋r fayllar谋
Bizim t蓹k proqram yaratmaq.
B蓹z蓹n d蓹 yerin蓹 strukturu m眉蓹yy蓹n
qoymaq 莽ox 眉st , funt daxildir v蓹 sizin funt m眉蓹yy蓹n
M蓹s蓹l蓹n, siz onlar谋 qoymaq bil蓹r ayr谋-ayr谋 dot h fayllar谋, onda hans谋 siz蓹
funt 枚z眉n眉z眉 daxildir.
>> Bel蓹likl蓹, biz strukturlar谋 var, amma indi biz onlar谋n i莽蓹risind蓹 almaq laz谋md谋r.
Nec蓹 ki, biz daxilind蓹 al谋ram daxil olmaq 眉莽眉n bir qurulu艧
bu sub-d蓹yi艧蓹nl蓹r, o d蓹yi艧蓹nl蓹r ki, struktur daxilind蓹 var?
Yax艧谋, biz deyil蓹n bir 艧ey var imkan verir dot operator,
strukturunun sah蓹l蓹ri daxil olmaq 眉莽眉n.
Bel蓹 ki, m蓹s蓹l蓹n, m蓹n b蓹yan etdik dey蓹k M蓹nim strukturu data yerd蓹 yaz谋n
m蓹nim proqram 眉st, v蓹 ya b蓹lk蓹 da M蓹n funt var bir dot h fayl daxildir.
M蓹n sonra yeni yaratmaq ist蓹yirsinizs蓹 ki, data n枚v眉 d蓹yi艧蓹n, m蓹n dem蓹k olar
struct avtomobil, m蓹nim avtomobil, n枚qt蓹li verg眉l.
M蓹n int dem蓹k olar kimi x, v蓹 ya simli ad谋 n枚qt蓹li verg眉l.
>> Burada data type, struct avtomobil d蓹yi艧蓹n ad谋, m蓹nim avtomobil
v蓹 sonra m蓹n dot operator istifad蓹 ed蓹 bil蓹rsiniz m蓹nim avtomobil m眉xt蓹lif sah蓹l蓹ri daxil.
Bel蓹likl蓹, m蓹n avtomobil dem蓹k olar dot 2011-ci il b蓹rab蓹rdir.
Ki, m眉k蓹mm蓹l g枚z蓹l var.
Siz geri 蓹g蓹r il, bir kimi m眉蓹yy蓹n edilmi艧dir bu struct avtomobilin daxili Tamsay谋
data n枚v眉.
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
dot il b蓹rab蓹rdir v蓹 sonra t蓹yin b蓹zi tam d蓹y蓹ri, 2011.
M蓹nim avtomobil dot n枚mr蓹li CS50 b蓹rab蓹rdir.
M蓹nim kart dot odometer 50505 n枚qt蓹li verg眉l b蓹rab蓹rdir.
O b眉t眉n var m眉k蓹mm蓹l g枚z蓹l v蓹 var
biz daxil nec蓹 strukturunun sah蓹l蓹ri.
Structures, baxmayaraq ki, ehtiyac yoxdur y谋臒谋n谋 yarad谋lacaq.
Sad蓹c蓹 biz, h蓹r hans谋 dig蓹r d蓹yi艧蓹n kimi dinamik onlar谋 ay谋ra bil蓹r.
Biz bir proqram varsa ki, bil蓹r 莽ox strukturlar谋 yaradan,
biz nec蓹 莽ox bilmir蓹m biz laz谋m olacaq
sonra biz dinamik laz谋md谋r bu strukturlar谋n ayr谋lmas谋
Bizim proqram kimi 莽al谋艧谋r.
V蓹 biz daxil olacaq, bel蓹 ki bu kontekstd蓹 bir qurulu艧un sah蓹l蓹ri,
biz ilk dereference laz谋md谋r geri strukturu pointer,
V蓹 sonra biz bir dereference pointer, sonra biz sah蓹l蓹ri 蓹ld蓹 ed蓹 bil蓹rsiniz.
Biz yaln谋z bir varsa strukturu g枚st蓹rici,
biz yaln谋z pointer dot sah蓹sind蓹 dey蓹 bilm蓹r蓹m ad v蓹 biz arad谋臒谋n谋z n蓹 almaq.
Dereferencing 蓹lav蓹 add谋m var.
Bel蓹 ki, dey蓹k 蓹v蓹zin蓹 previous-- of
yaln谋z 蓹vv蓹lki misal kimi, 蓹v蓹zin蓹 elan
y谋臒谋n谋, struct avtomobil, m蓹nim avtomobil, n枚qt蓹li verg眉l, m蓹n struct avtomobil dem蓹k
star, bir bir g枚st蓹rici struct avtomobil, m蓹nim avtomobil 莽a臒谋r谋b
struct avtomobil malloc 枚l莽眉s眉 b蓹rab蓹rdir.
Biz ne莽蓹-ne莽蓹 枚l莽眉s眉 anlamaq laz谋md谋r Yeni data type tutur bayt.
Siz m眉tl蓹q yaln谋z istifad蓹 etm蓹k laz谋m deyil eni, int v蓹 ya char v蓹 ya h蓹r hans谋 枚l莽眉s眉
daxili data n枚vl蓹ri.
compiler kifay蓹t q蓹d蓹r a臒谋ll谋 deyil ne莽蓹 bayt anlamaq 眉莽眉n
yeni strukturu t蓹l蓹b olunur.
Bel蓹likl蓹, m蓹n 枚z眉m眉 yadda艧 vahidi malloc bir struct avtomobil ke莽irilm蓹si 眉莽眉n kifay蓹t q蓹d蓹r b枚y眉k,
v蓹 m蓹n geri bir g枚st蓹rici almaq yadda艧 ki, blok,
ki, pointer m蓹nim avtomobil verilir.
>> 陌ndi daxil olmaq ist蓹yirsinizs蓹, m蓹nim avtomobil sah蓹l蓹ri,
M蓹n ilk m蓹nim avtomobil dereference istifad蓹 dereference operator, ulduz
biz g枚st蓹ricil蓹rin蓹 g枚rd眉m ki, video, v蓹 sonra m蓹n dereference sonra,
sonra m蓹n dot operator istifad蓹 ed蓹 bil蓹rsiniz m蓹nim avtomobil m眉xt蓹lif sah蓹l蓹ri daxil.
2011-ci ilin b蓹rab蓹rdir dot m蓹nim avtomobil Star.
Bu t蓹sir biz bu halda ist蓹yir蓹m,
biz dinamik var, 莽眉nki m蓹nim avtomobil ay谋r谋b.
>> Bu do臒ru olsa da, c眉r annoying var?
陌ndi 2-add谋m prosesi var.
陌ndi biz dereference-- var biz bir ulduz operator,
v蓹 biz bir dot operator var.
V蓹 g枚zl蓹m蓹k bil蓹r, 莽眉nki C proqram莽谋lar q谋sa yollar谋 sevgi
艧ey蓹, bir var q谋sa yol bunu.
Arrow adl谋 bir operator var, olan bu proses 莽ox asan edir.
arrow i艧l蓹ri yoldur ilk dereferences
sol pointer operator yan,
v蓹 sonra, sonra dereferenced ed蓹r蓹k sol pointer,
Bu sa臒 sah蓹sind蓹 莽atmaz.
V蓹 bel蓹 ki, 蓹vv蓹ll蓹r biz bu c眉r idi m蓹nim avtomobil, b眉t眉n bu m蓹hsullar谋 dot star
kimi orada ged蓹n bir 莽ox var idi.
Amma n蓹 biz 蓹v蓹zin蓹 n蓹 ed蓹 艧eyl蓹rdir deyil M蓹nim avtomobil arrow 2011-ci il b蓹rab蓹rdir.
>> Yen蓹 burada n蓹l蓹r olur?
Birincisi, m蓹n m蓹nim avtomobil dereferencing al谋ram.
Hans谋 yen蓹 burada bir g枚st蓹ricisidir.
Sonra sonra M蓹n avtomobil dereferenced
sonra sah蓹l蓹ri 蓹ld蓹 ed蓹 bil蓹rsiniz il, bo艧qab, v蓹 odometer
yaln谋z m蓹n bil蓹c蓹yi kimi ilk olan 蓹vv蓹l m蓹nim avtomobil dereference 眉莽眉n istifad蓹 ulduz,
v蓹 sah蓹d蓹n daxil olmaq 眉莽眉n n枚qt蓹.
Bel蓹 ki, siz, strukturlar谋 ola bil蓹r strukturlar谋na g枚st蓹ricil蓹rin蓹 ola bil蓹r,
v蓹 daxil olmaq 眉莽眉n yollar谋 var h蓹min strukturlar谋n sah蓹l蓹ri,
Siz g枚st蓹ricil蓹rin蓹 var olub Onlara v蓹 ya d蓹yi艧蓹nl蓹r 枚zl蓹ri.
Dot v蓹 ya arrow, as谋l谋 olaraq d蓹yi艧蓹n nec蓹 elan edildi.
M蓹n Doug Lloyd deyil蓹m, bu CS50 edir.