>> [MUSIC PLAYING]
>> DOUG LLOYD: Pointers, burada biz.
Bu y蓹qin ki, gedir 蓹n 莽蓹tin m枚vzusu
biz CS50 haqq谋nda dan谋艧maq ki.
V蓹 oxumaq sonra 蓹g蓹r g枚st蓹ricil蓹r haqq谋nda bir 艧ey
bir az ola bil蓹r 蓹vv蓹l qorxuducu Bu video ged蓹n.
Bu g枚st蓹ricil蓹r do臒ru siz imkan谋 verir yoxdur
b蓹lk蓹 q谋ymaq olduqca pis siz oldu臒unuzda
d蓹yi艧蓹nl蓹rin v蓹 m蓹lumat il蓹 i艧, v蓹 proqram q蓹za s蓹b蓹b.
Lakin onlar, h蓹qiq蓹t蓹n, h蓹qiq蓹t蓹n faydal谋 ist蓹yirik v蓹 onlar biz蓹 h蓹qiq蓹t蓹n b枚y眉k yol verir
geri m蓹lumat ke莽m蓹k v蓹 ir蓹li funksiyalar谋 aras谋nda,
ki, biz ba艧qa bunu etm蓹k iqtidar谋nda deyilik.
>> V蓹 bel蓹 ki, biz, h蓹qiq蓹t蓹n, qatar burada etm蓹k ist蓹yir蓹m
Siz yax艧谋 g枚st蓹rici nizam-intizam var, bel蓹 ki, Siz s蓹m蓹r蓹li g枚st蓹ricil蓹rin蓹 istifad蓹 ed蓹 bil蓹rsiniz ki,
Sizin proqramlar谋 daha yax艧谋 etm蓹k.
Dediyim kimi g枚st蓹ricil蓹r biz蓹 m眉xt蓹lif verm蓹k yol funksiyalar谋 aras谋nda data ke莽m蓹k.
陌ndi geri 蓹g蓹r bir 蓹vv蓹lki video, zaman
biz s枚hb蓹t d蓹yi艧蓹n daxilind蓹, m蓹n qeyd
ki, biz aras谋nda ke莽ir ki, b眉t眉n data C funksiyalar谋 d蓹y蓹ri t蓹r蓹find蓹n q蓹bul edilir.
M蓹n ki, istifad蓹 ola bil蓹r m眉dd蓹tli M蓹n dem蓹k n蓹
biz m蓹lumatlar谋n sur蓹tl蓹rini ke莽蓹n idi.
Biz bir funksiyas谋 d蓹yi艧蓹n ke莽m蓹k zaman, biz, h蓹qiq蓹t蓹n, d蓹yi艧蓹n ke莽蓹n deyilik
funksiyas谋, sa臒?
Biz sur蓹ti ke莽蓹n edirik funksiyas谋 ki, m蓹lumat.
funksiyas谋 n蓹 ed蓹r v蓹 b蓹zi d蓹y蓹ri hesablay谋r,
v蓹 b蓹lk蓹 ki, d蓹y蓹ri istifad蓹 onu geri verir.
>> Bir istisna var idi d蓹y蓹ri ke莽蓹n bu qayda,
v蓹 biz n蓹 眉莽眉n geri g蓹lm蓹k laz谋md谋r Bu video sonra bir az.
Biz 蓹v蓹zin蓹 g枚st蓹ricil蓹rin蓹 istifad蓹 蓹g蓹r d蓹yi艧蓹nl蓹r istifad蓹,
v蓹 ya d蓹yi艧蓹nl蓹r istifad蓹 蓹v蓹zin蓹 枚zl蓹ri v蓹 ya d蓹yi艧蓹nl蓹rin sur蓹tl蓹ri,
biz indi 蓹traf谋nda d蓹yi艧蓹nl蓹rin ke莽蓹 bil蓹r f蓹rqli bir 艧蓹kild蓹 funksiyalar谋 aras谋nda.
Bu etm蓹k 蓹g蓹r o dem蓹kdir ki, bir funksiyas谋 bir d蓹yi艧iklik,
ki, d蓹yi艧iklik h蓹qiq蓹t蓹n olacaq f蓹rqli bir funksiyas谋 t蓹sir.
Yen蓹 d蓹, bu bir 艧eydir ki, Biz 蓹vv蓹ll蓹r ed蓹 bilm蓹dim
v蓹 he莽 d蓹yi艧dirm蓹k 眉莽眉n c蓹hd varsa funksiyas谋 iki d蓹yi艧蓹nl蓹rin d蓹y蓹ri,
Bu problem fark etdik q蓹d蓹r s眉r眉n蓹n sort, sa臒?
>> Biz X v蓹 Y v蓹 biz d蓹yi艧dirm蓹k ist蓹yirsinizs蓹 svop adl谋 funksiyas谋 onlar谋 ke莽m蓹k
funksiyas谋 daxilind蓹 d蓹yi艧dirm蓹k d蓹yi艧蓹nl蓹r m眉badil蓹si d蓹y蓹rl蓹r yoxdur.
Bir iki olur, iki olur bir, lakin biz, h蓹qiq蓹t蓹n, yoxdur
orijinal bir 艧ey d蓹yi艧dirm蓹k funksiyas谋 z蓹ng edir.
脟眉nki biz bilm蓹z, biz etdiyiniz yaln谋z Onlar谋n n眉sx蓹 il蓹 i艧l蓹yir.
Baxmayaraq ki g枚st蓹ricil蓹r il蓹, biz 蓹slind蓹 bir funksiyas谋 X v蓹 Y ke莽ir.
Ki, funksiyas谋 ed蓹 bil蓹rsiniz onlarla bir 艧ey.
V蓹 bu d蓹yi艧蓹nl蓹r d蓹y蓹rl蓹r h蓹qiq蓹t蓹n d蓹yi艧蓹 bil蓹rsiniz.
Bel蓹 ki, kifay蓹t q蓹d蓹r bir d蓹yi艧iklik var data il蓹 i艧l蓹m蓹k 眉莽眉n qabiliyy蓹ti.
>> Biz daxil dal谋艧 蓹vv蓹l g枚st蓹ricil蓹r, m蓹n bu d蓹y蓹r hesab edir蓹m
bir ne莽蓹 d蓹qiq蓹 alaraq burada geri 蓹saslar谋 gedin.
V蓹 nec蓹 bir g枚z var komp眉ter yadda艧 i艧l蓹ri
Bu iki subyektl蓹ri gedir 莽眉nki h蓹qiq蓹t蓹n olduqca qar艧谋l谋ql谋 olmal谋d谋r.
Siz y蓹qin bilirsiniz ki, Sizin komp眉ter sistemi
Bir sabit v蓹 ya b蓹lk蓹 bir b蓹rk d枚vl蓹t s眉r眉c眉,
fayl storage yeri bir n枚v.
Bu yerd蓹 ad蓹t蓹n var 250 gigabayt m蓹h蓹ll蓹
陌ndi terabayt b蓹lk蓹 bir ne莽蓹.
V蓹 harada b眉t眉n sizin fayllar谋 n蓹tic蓹d蓹, ya艧amaq
Sizin komp眉ter ba臒lamaq h蓹tta off, siz onu geri bil蓹r
v蓹 sizin fayllar谋 var tapa bil蓹rsiniz daha sistem reboot zaman.
Amma bir sabit disk drive kimi disk s眉r眉c眉ler, bir HDD v蓹 ya b蓹rk d枚vl蓹t s眉r眉c眉, bir SSD,
yaln谋z storage var.
>> Biz, h蓹qiq蓹t蓹n, bir 艧ey ed蓹 bilm蓹z sabit disk olan m蓹lumatlar,
v蓹 ya b蓹rk d枚vl蓹t s眉r眉c眉.
H蓹qiq蓹t蓹n d蓹yi艧dirm蓹k 眉莽眉n m蓹lumat v蓹 ya 蓹traf谋nda h蓹r蓹k蓹t,
biz h蓹r蓹k蓹t etm蓹k laz谋md谋r RAM, rasgele eri艧im yadda艧谋n谋.
陌ndi RAM, bir 莽ox komp眉ter az.
Siz haradasa ola bil蓹r 512 megabayt m蓹h蓹ll蓹
Eski komp眉ter varsa, b蓹lk蓹 iki, d枚rd, s蓹kkiz, 16,
b蓹lk蓹 h蓹tta bir az daha RAM gigabayt.
Bel蓹 ki, daha ki莽ik, lakin ki burada u莽ucu data b眉t眉n m枚vcuddur.
Biz h蓹r 艧eyi d蓹yi艧蓹 bil蓹rsiniz harada.
Amma biz komp眉ter s枚nd眉rm蓹k zaman, RAM m蓹lumatlar谋n b眉t眉n m蓹hv edilir.
>> Biz sabit disk laz谋md谋r n蓹 ki, var Bunun daha qal谋c谋 yeri,
Bu exists- ki olard谋 h蓹qiq蓹t蓹n, pis 蓹g蓹r h蓹r d蓹f蓹 biz
bizim komp眉ter s枚nd眉r眉ld眉kd蓹 h蓹r Bizim sistemind蓹 fayl m蓹hv edilib.
Bel蓹likl蓹, biz RAM daxilind蓹 i艧l蓹m蓹k.
V蓹 h蓹r d蓹f蓹 b蓹hs edirik yadda艧, olduqca 莽ox, CS50,
biz RAM deyil, sabit disk s枚hb蓹t edirik.
>> Bel蓹likl蓹, biz yadda艧 艧eyi h蓹r蓹k蓹t zaman, bu yer m眉蓹yy蓹n tutur.
M蓹lumat n枚vl蓹ri B眉t眉n biz i艧 etdik
up m眉xt蓹lif almaq RAM yer m蓹bl蓹臒l蓹r.
Bel蓹 ki, h蓹r zaman tam yaratmaq yadda艧 d蓹yi艧蓹n d枚rd bytes
bel蓹 ki, RAM k蓹nara m眉蓹yy蓹n edilir ki, tam il蓹 i艧l蓹y蓹 bil蓹r.
Siz tam elan ed蓹 bil蓹r, d蓹yi艧dirm蓹k, onu t蓹yin
art谋r谋laca臒谋n谋 bir d蓹y蓹r 10 bir, bel蓹 ki, v蓹 s il蓹.
Ba艧 laz谋md谋r ki, b眉t眉n RAM, v蓹 d枚rd bayt almaq
h蓹r il蓹 i艧l蓹m蓹k 眉莽眉n yaratmaq tam.
>> H蓹r bir xarakter siz蓹 yaratmaq bir byte olur.
Bu kosmik yaln谋z n蓹 q蓹d蓹r var Bir xarakter saxlamaq laz谋md谋r.
H蓹r float, bir real say谋, d枚rd bayt olur
bir c眉t var halda d蓹qiq 眉z蓹n point
siz蓹 imkan verir say谋, Daha d蓹qiq v蓹 ya daha 莽ox r蓹q蓹m ola
Bu k蓹sir sonra d蓹qiq itirm蓹d蓹n,
olan yadda艧 s蓹kkiz bayt almaq.
Long longs, h蓹qiq蓹t蓹n b枚y眉k integers, d蓹 yadda艧 s蓹kkiz bayt almaq.
Ne莽蓹 yadda艧 bytes strings q蓹d蓹r al谋r?
Yax艧谋 ki, s枚z眉ged蓹n bir pin qoymaq bildirin 陌ndi, lakin biz geri g蓹lm蓹k laz谋md谋r.
>> Bel蓹 ki, geri yadda艧 bu ideya kimi byte 枚l莽眉l眉 h眉ceyr蓹l蓹rinin b枚y眉k array.
Bu, h蓹qiq蓹t蓹n, b眉t眉n var, bu h眉ceyr蓹l蓹ri yaln谋z bir b枚y眉k array,
yaln谋z h蓹r hans谋 dig蓹r array kimi ki, Siz tan谋艧 oldu臒unuz v蓹 g枚rm蓹k,
h蓹r element istisna olmaqla, bir byte geni艧dir.
V蓹 yaln谋z bir s谋ra kimi, h蓹r element bir 眉nvan var.
Bir s谋ra h蓹r element indeksi, v蓹 biz var
s枚zd蓹 bunu index istifad蓹 ed蓹 bil蓹rsiniz s谋ra t蓹sad眉fi giri艧.
Biz ba艧lamaq 眉莽眉n yoxdur serial谋n 蓹vv蓹lind蓹,
h蓹r vasit蓹sil蓹 t蓹krarlamaq bir element onlar谋n,
biz arad谋臒谋n谋z n蓹 tapa bil蓹rsiniz.
Biz yaln谋z m蓹n almaq ist蓹yir蓹m, dem蓹k olar 15 element v蓹 ya 100 element.
V蓹 yaln谋z ki say谋 ke莽蓹 bil蓹r v蓹 arad谋臒谋n谋z d蓹y蓹r almaq.
>> Eynil蓹 h蓹r yeri yadda艧谋nda bir 眉nvan var.
Bel蓹 ki, yadda艧 bil蓹r bu kimi bir 艧ey.
Burada bir 莽ox ki莽ik bir y谋臒谋n var yadda艧, bu yadda艧 20 bytes edir.
ilk 20 bytes, 莽眉nki m蓹nim alt var m眉raci蓹t
3, 2, 1, 0, v蓹 bel蓹 19 q蓹d蓹r b眉t眉n yol.
M蓹n d蓹yi艧蓹nl蓹rin elan zaman M蓹n onlarla i艧 ba艧lamaq zaman,
sistem qurmaq niyy蓹tind蓹dir M蓹nim 眉莽眉n k蓹nara b蓹zi kosmik
Bu yadda艧 i艧l蓹m蓹k M蓹nim d蓹yi艧蓹nl蓹rin.
Bel蓹 ki, char c paytaxt谋 b蓹rab蓹rdir, dem蓹k olar ki, H. V蓹 n蓹 ba艧 ver蓹c蓹k?
Yax艧谋 sistemi gedir M蓹n蓹 bir byte 眉莽眉n ayr谋lm谋艧.
Bu halda byte say谋 se莽di D枚rd 眉nvan d枚rd byte,
v蓹 saxlamaq olacaq m蓹nim 眉莽眉n orada m蓹ktub kapital H.
M蓹n sonra int s眉r蓹ti dem蓹k olarsa limit bu, 65 b蓹rab蓹rdir
k蓹nara d枚rd m眉蓹yy蓹n olacaq M蓹nim 眉莽眉n yadda艧 bytes.
V蓹 bu m眉alic蓹 olacaq vahid kimi d枚rd bytes
Biz 莽al谋艧谋r谋q 莽眉nki burada tam deyil.
V蓹 orada 65 saxlamaq olacaq.
>> 陌ndi art谋q m蓹n c眉r deyil蓹m bir yalan bir az izah
sa臒, biz bilirik ki, 莽眉nki komp眉ter ikili 莽al谋艧谋r.
Onlar ba艧a d眉艧m眉r蓹m m眉tl蓹q kapital H n蓹
v蓹 ya 65 onlar yaln谋z n蓹 ikili, adet s谋f谋r v蓹 olanlar谋 ba艧a d眉艧眉r眉k.
V蓹 bel蓹 ki, h蓹qiq蓹t蓹n n蓹 biz orada saxlan谋lmas谋 edirik
m蓹ktub H v蓹 say谋 65 deyil 蓹ksin蓹 ikili n眉may蓹nd蓹likl蓹ri
onlar谋n hans谋 baxmaq bu kimi ki莽ik bir 艧ey.
V蓹 x眉susil蓹 tam d蓹yi艧蓹n kontekstind蓹,
Bu, yaln谋z daxil t眉p眉rm蓹k etm蓹k niyy蓹tind蓹 deyil bu bir d枚rd kimi m眉alic蓹 etm蓹k niyy蓹tind蓹 deyil
byte y谋臒谋n m眉tl蓹q bu, h蓹qiq蓹t蓹n gedir
d枚rd bir byte chunks kimi m眉alic蓹 etm蓹k, bu kimi bir 艧ey ola bil蓹r.
V蓹 h蓹tta bu deyil tamamil蓹 do臒ru v蓹 ya,
adl谋 bir 艧ey g枚r蓹 biz deyilik bir endianness,
陌ndi almaq 眉莽眉n gedir, lakin Siz merak etdiyiniz halda,
Siz az q蓹d蓹r oxuya bil蓹rsiniz v蓹 b枚y眉k endianness.
Amma bu arqument namin蓹, Bu video namin蓹,
Yaln谋z ki, g眉man ed蓹k 蓹slind蓹, nec蓹 65 olard谋
t蓹msil olunacaq h蓹r sistem yadda艧,
Bu tamamil蓹 do臒ru deyil, baxmayaraq ki.
>> Amma h蓹qiq蓹t蓹n, yaln谋z almaq imkan tamamil蓹 b眉t眉n ikili xilas,
v蓹 yaln谋z H kimi d眉艧眉nm蓹k 65, bir 莽ox asand谋r
kimi bu bar蓹d蓹 d眉艧眉nm蓹k bir insan kimi.
B眉t眉n h眉quqlar, bu da g枚r眉n眉r ki, b蓹lk蓹 bir az t蓹sad眉fi ki I've- m蓹nim sistemi
bytes 5, 6, 7, m蓹n蓹 verm蓹di, 8 tam saxlamaq 眉莽眉n.
Ki, bir s蓹b蓹bi d蓹 var ki, biz indi almaq, lakin kifay蓹t deyil
bu n蓹 dem蓹k komp眉ter burada edir
y蓹qin ki, onun hiss蓹si yax艧谋 h蓹r蓹k蓹t edir.
M蓹n蓹 yadda艧 verm蓹k deyil m眉tl蓹q geri geri.
Indi bunu olacaq, baxmayaraq ki, Ba艧qa bir string almaq ist蓹yirsinizs蓹,
soyad谋 adlan谋r v蓹 m蓹n ist蓹yir蓹m orada Lloyd qoymaq.
M蓹n bir uy臒un laz谋md谋r gedir蓹m xarakteri, ki, h蓹r bir m蓹ktub var
bir t蓹l蓹b edir xarakteri, yadda艧 bir byte.
M蓹n array daxil Lloyd qoymaq bil蓹r, bel蓹 ki, ox艧ar M蓹n getm蓹k 眉莽眉n olduqca yax艧谋 Ben?
N蓹 itkin?
>> H蓹r simli biz i艧 oldu臒unu unutmay谋n C backslash s谋f谋r il蓹 ba艧a 莽at谋r il蓹,
v蓹 biz, ya burada buraxmaq olmaz.
Biz k蓹nara bir byte t蓹yin etm蓹k laz谋md谋r yadda艧 bel蓹 ki ke莽irilm蓹si
Bizim string sona 莽atd谋 zaman bilirik.
Bel蓹 ki, yen蓹 bu t蓹nziml蓹m蓹 yol 艧eyi
yadda艧 g眉c眉 g枚r眉n眉r bir az t蓹sad眉fi ola
lakin bu, h蓹qiq蓹t蓹n nec蓹 茝n sisteml蓹ri n蓹z蓹rd蓹 tutulmu艧dur.
Multiples onlar谋 s谋ralamaq d枚rd, s蓹b蓹bl蓹rd蓹n yenid蓹n
biz laz谋m deyil ki, 陌ndi almaq.
Amma bu, bel蓹 ki, dem蓹k kifay蓹tdir kodu bu 眉莽 x蓹tl蓹ri sonra,
Bu yadda艧 kimi baxmaq bil蓹r n蓹.
M蓹n yadda艧 yerl蓹rd蓹 ehtiyac varsa 4, 8, 12, m蓹nim m蓹lumat ke莽irm蓹k 眉莽眉n
bu m蓹nim yadda艧 kimi baxmaq bil蓹r n蓹.
>> V蓹 yaln谋z x眉susil蓹 olmaq Burada zaman x谋rda莽谋
biz yadda艧 s枚hb蓹t edirik URL ad蓹t蓹n biz
bel蓹 hexadecimal notlari istifad蓹 etm蓹k.
Bel蓹 ki, niy蓹 biz bu b眉t眉n 莽evirm蓹k deyil hexadecimal notation decimal-dan
ki, yaln谋z ad蓹t蓹n, 莽眉nki nec蓹 xatir蓹sin蓹 bax谋n.
Bel蓹 ki, 蓹v蓹zin蓹 vasit蓹sil蓹 0 olan 19, n蓹 biz s谋f谋r
s谋f谋r X1 眉莽 vasit蓹sil蓹 x s谋f谋r.
H蓹min yadda艧 20 bytes var ki, biz v蓹 ya biz bu image bax谋r谋q var
burada.
>> Bel蓹 ki, dedi olunur b眉t眉n ed蓹k ikinci yadda艧 眉z add谋m
v蓹 geri g枚st蓹ricil蓹rin蓹.
Burada 蓹n 蓹h蓹miyy蓹tli 艧ey xat谋rlamaq
biz g枚st蓹ricil蓹r il蓹 i艧 ba艧lamaq kimi.
A g枚st蓹rici bir 艧ey deyil Bir 眉nvan 莽oxdur.
M蓹n bir daha, 莽眉nki dem蓹k laz谋md谋r Bu, vacibdir
bir g枚st蓹rici bir 艧ey deyil Bir 眉nvan 莽oxdur.
Pointers yerl蓹rd蓹 眉nvanlar谋 yadda艧 d蓹yi艧蓹nl蓹rin ya艧ad谋臒谋.
Bu in艧allah olur ki, bilm蓹d蓹n asan az onlarla i艧l蓹m蓹k.
M蓹n ist蓹yir蓹m, ba艧qa bir 艧ey n蓹 sort var
vizual n蓹 t蓹msil 艧emalar kodu m眉xt蓹lif x蓹tl蓹ri il蓹 ba艧.
V蓹 biz bu bir ne莽蓹 ed蓹c蓹yik g枚st蓹ricil蓹r d蓹f蓹,
v蓹 biz dinamik haqq谋nda dan谋艧maq zaman yadda艧 ayr谋lmas谋 h蓹m莽inin.
M蓹n bu diaqramlar谋 ki, hesab edir蓹m, 莽眉nki x眉susil蓹 faydal谋 ola bil蓹r.
>> M蓹n, m蓹s蓹l蓹n dem蓹k Bel蓹 ki, int k m蓹nim kodu, n蓹 ba艧 verir?
Well 蓹sas蓹n n蓹dir ba艧 M蓹n, m蓹nim 眉莽眉n ayr谋lm谋艧 yadda艧 al谋ram
lakin m蓹n h蓹tta kimi deyil M蓹n kimi bu bar蓹d蓹 d眉艧眉nm蓹k
bir qutu kimi bu bar蓹d蓹 d眉艧眉nm蓹k ist蓹yir蓹m.
M蓹n bir qutusu var v蓹 bu r蓹ngli ya艧谋l 脟眉nki
ya艧谋l qutular谋 integers bil蓹r.
Bu bir xarakter I idi mavi qutusu ola bil蓹r.
M蓹n yarad谋lmas谋 al谋ram Lakin m蓹n h蓹mi艧蓹 deyirl蓹r integers a莽a bil蓹r bir qutusu
ki, box, ya艧谋l r蓹ngli olunur.
M蓹n daimi marker almaq v蓹 m蓹n t蓹r蓹find蓹 k yaz谋n.
M蓹n k adl谋 qutusu var hans谋 M蓹n integers bil蓹r.
M蓹n int k dey蓹nd蓹 ki, ki, n蓹 m蓹nim ba艧 verir.
M蓹n k be艧 b蓹rab蓹rdir dem蓹k, m蓹n n蓹 edir蓹m?
B蓹li, m蓹n be艧 qoyulmas谋 al谋ram qutusuna, do臒ru.
Bu halda, olduqca sad蓹 deyil M蓹n int k, k adl谋 qutusu yaratmaq deyirl蓹r.
茝g蓹r m蓹n k 5 b蓹rab蓹rdir dem蓹k qutusuna be艧 qoydu.
脺mid edir蓹m ki, bir s谋莽ray谋艧 莽ox deyil.
H蓹r 艧eyi bir getm蓹k burada baxmayaraq maraql谋 ki莽ik.
M蓹n int * pk dem蓹k olarsa, m蓹n deyil, h蓹tta bu m眉tl蓹q n蓹 dem蓹kdir,
Bu ayd谋n bir 艧ey var bir tam il蓹.
Bel蓹likl蓹, m蓹n r蓹ng gedir蓹m Ya艧谋l-ish bu qutusu,
M蓹n bir 艧ey var bilir蓹m bir tam il蓹,
lakin bu tam 枚z眉 deyil, bir int ulduz 莽眉nki.
Bir 艧ey bir az var bu bar蓹d蓹 f蓹rqli.
Bel蓹 ki, bir tam nin c蓹lb, lakin ba艧qa bu
脟ox f蓹rqli deyil biz haqq谋nda s枚hb蓹t.
Bu bir qutusu var, onun, bir etiket var bir etiket pk qal谋c谋 oldu,
v蓹 ke莽irilm蓹si qadir olanlar n蓹 int ulduz.
Onlar bir 艧ey var integers il蓹, ayd谋n.
Burada son line baxmayaraq var.
M蓹n dem蓹k olarsa pk = k, Vay, n蓹 sa臒, oldu?
Bel蓹 ki, bu t蓹sad眉fi say谋, zahir蓹n t蓹sad眉fi s谋ra var qutusuna at谋lan olur.
Ki, b眉t眉n, pk edir k 眉nvan谋 olur.
K yadda艧谋nda ya艧ay谋r Bel蓹likl蓹, m蓹n yap谋艧d谋r谋lmas谋 al谋ram, 眉nvan谋, onun bayt 眉nvan谋.
Edir蓹m All I dedi al谋ram deyil ki, d蓹y蓹ri gedir蓹m n蓹
M蓹nim qutusu adl谋 PK daxilind蓹 qoymaq.
V蓹 bunlar 莽眉nki g枚st蓹ricil蓹rin蓹, v蓹 axtar谋r, 莽眉nki
s谋f谋r x kimi bir simli s蓹kkiz s谋f谋r c yeddi d枚rd s蓹kkiz
iki s谋f谋r y蓹qin ki, 莽ox m蓹nal谋 deyil.
Biz 眉mumiyy蓹tl蓹 g枚st蓹ricil蓹rin蓹 g枚r眉nt眉l蓹m蓹k zaman, Biz, h蓹qiq蓹t蓹n, g枚st蓹ricil蓹r kimi bunu.
Pk biz蓹 m蓹lumat verir biz yadda艧 k tapmaq laz谋md谋r.
Bel蓹 ki, 蓹sas蓹n pk bu bir arrow var.
V蓹 biz uzunlu臒u g蓹zm蓹k 蓹g蓹r ki arrow t蓹s蓹vv眉r
bu g蓹zm蓹k bil蓹r bir 艧ey var, biz 蓹g蓹r arrow boyunca g蓹zm蓹k,
ki arrow 莽ox ucunda, biz yadda艧谋nda yer tapa
burada k ya艧ay谋r.
V蓹 h蓹qiq蓹t蓹n vacibdir k ya艧ad谋臒谋 biz bir d蓹f蓹, 莽眉nki,
biz data il蓹 i艧l蓹m蓹k 眉莽眉n ba艧laya bil蓹rsiniz ki, yadda艧 yeri daxilind蓹.
Biz bir ufac谋k 蓹ld蓹 etdiyiniz baxmayaraq 陌ndi ir蓹lid蓹 枚z眉m眉z bit.
>> Bel蓹 bir g枚st蓹rici n蓹dir?
A g枚st蓹rici olan bir veri madd蓹 d蓹y蓹ri yadda艧 眉nvan谋.
Idi ki, s谋f谋r x s蓹kkiz s谋f谋r stuff ki davam, bir yadda艧 眉nvan谋 oldu.
Ki, yadda艧 bir yer idi.
V蓹 bir g枚st蓹rici n枚v眉 c眉r t蓹svir
m蓹lumatlar谋n siz tapa bil蓹rsiniz ki, yadda艧 眉nvan谋.
Bel蓹 ki, int ulduz hiss蓹si h眉ququ var.
Hesab edir蓹m ki, arrow edin, bu bir yer蓹 m蓹n蓹 yol gedir.
V蓹 yeri, n蓹 M蓹nim n眉mun蓹 orada tapa bil蓹rsiniz,
ya艧谋l r蓹ngli qutusu edir.
Bu n蓹 var, bir tamsay谋 M蓹n Hesab edir蓹m ki, 眉nvana getm蓹k 蓹g蓹r tapa bil蓹rsiniz.
bir veri n枚v眉 pointer n蓹 t蓹svir
ki, yadda艧 眉nvanda tapa bil蓹rsiniz.
Bel蓹 ki, burada olsa, h蓹qiq蓹t蓹n, s蓹rin 艧ey var.
Pointers us ke莽m蓹k 眉莽眉n imkan verir funksiyalar谋 aras谋nda d蓹yi艧蓹nl蓹r.
V蓹 h蓹qiq蓹t蓹n d蓹yi艧蓹nl蓹rin ke莽m蓹k v蓹 onlar谋n sur蓹tl蓹rini ke莽蓹.
Bildiyimiz 脟眉nki 蓹g蓹r d蓹qiq yadda艧 d蓹yi艧蓹n tapmaq 眉莽眉n,
biz 莽谋xarmaq laz谋m deyil Bu, biz yaln谋z yeri getm蓹k olar
ki, d蓹yi艧蓹n il蓹 i艧l蓹m蓹k.
Mahiyy蓹ti g枚st蓹ricil蓹r bel蓹 sort bir komp眉ter m眉hit etm蓹k
daha 莽ox real d眉nya kimi, do臒ru.
>> Bel蓹 ki, burada bir b蓹nz蓹tm蓹 var.
M蓹n bir notebook var ki, deyirl蓹r, sa臒 v蓹 bu qeydl蓹r tam deyil.
M蓹n onu yenil蓹m蓹k ist蓹yir蓹m.
Siz bir funksiyas谋 var ki, yenilikl蓹ri qeydl蓹r, do臒ru.
Yolla biz oldum bu g眉n蓹 q蓹d蓹r i艧, n蓹
Siz m蓹nim notebook olacaq olur, Siz sur蓹ti ma臒aza getm蓹k laz谋md谋r
Siz bir Xerox sur蓹ti etm蓹k laz谋md谋r notebook h蓹r s蓹hif蓹.
Siz geri notebook t蓹rk ed蓹c蓹yik m蓹nim masas谋 眉z蓹rind蓹 Bitirdi臒inizde,
Siz getm蓹k v蓹 h蓹r 艧eyi ke莽m蓹k laz谋md谋r m蓹nim tarixi v蓹 ya yanl谋艧 h蓹yata notebook,
v蓹 sonra geri ke莽m蓹k laz谋md谋r M蓹n蓹 Xerox pages y谋臒谋n谋
ki, m蓹nim notebook bir replica il蓹 siz etdiyiniz d蓹yi艧iklikl蓹r.
V蓹 o n枚qt蓹d蓹, bu kimi m蓹n蓹 var z蓹ng funksiyas谋 z蓹ng kimi,
sizin qeyd etm蓹k q蓹rar v蓹 m蓹nim notebook onlar谋 geri inteqrasiya edir.
Bel蓹 add谋mlar bir 莽ox var Burada i艧tirak h眉ququ.
Like daha yax艧谋 ola bilm蓹z M蓹n yaln谋z dem蓹k 蓹g蓹r, hey, ed蓹 bil蓹rsiniz
m蓹nim notebook yenil蓹m蓹 M蓹n蓹, m蓹nim notebook 蓹l
v蓹 siz h蓹r 艧eyi almaq v蓹 sanki onlar谋 ke莽m蓹k
v蓹 m蓹nim notebook m蓹nim qeyd yenil蓹m蓹.
V蓹 sonra m蓹nim notebook geri verm蓹k.
Bu c眉r n蓹 g枚st蓹ricil蓹r, biz蓹 imkan verir
bu m眉hit 莽ox etm蓹k biz 蓹slind蓹 f蓹aliyy蓹t nec蓹 Kimi daha 莽ox.
>> Ki, b眉t眉n sa臒 n蓹 var bir g枚st蓹rici, dan谋艧aq ki,
g枚st蓹ricil蓹r C i艧l蓹m蓹k v蓹 nec蓹 haqq谋nda nec蓹 onlarla i艧l蓹m蓹k 眉莽眉n ba艧laya bil蓹rsiniz.
Bel蓹 ki, bir 莽ox sad蓹 g枚st蓹rici var C null g枚st蓹rici 莽a臒谋r谋b.
he莽 bir 艧ey null g枚st蓹rici xal.
Bu kimi Bu y蓹qin ki, g枚r眉n眉r h蓹qiq蓹t蓹n 莽ox faydal谋 bir 艧ey,
lakin biz bir g枚r蓹c蓹ksiniz kimi sonra az, fakt
bu null g枚st蓹rici var ki, h蓹qiq蓹t蓹n, h蓹qiq蓹t蓹n laz谋ml谋 g蓹lm蓹k olar.
V蓹 bir pointer yaratmaq zaman, v蓹 Siz onun d蓹y蓹ri immediately- m眉蓹yy蓹n deyil
q蓹bulu n眉mun蓹si onun d蓹y蓹ri d蓹rhal
geri bir ne莽蓹 slaydlar olacaq M蓹n pk & K b蓹rab蓹rdir s枚yl蓹di
pk kimi, K 眉nvan谋 olur Biz o dem蓹kdir ki, n蓹 g枚r眉rs眉n眉z
ki, kod nec蓹 g枚r眉rs眉n眉z shortly- biz bir 艧ey onun d蓹y蓹ri m眉蓹yy蓹n deyil 蓹g蓹r
d蓹rhal m蓹nal谋, Siz h蓹mi艧蓹 olmal谋d谋r
null qeyd etm蓹k 眉莽眉n g枚st蓹rici m眉蓹yy蓹n.
Siz he莽 bir 艧ey qeyd etm蓹k m眉蓹yy蓹n etm蓹lidir.
>> Daha 莽ox f蓹rqli Bu kimi yaln谋z d蓹y蓹ri t蓹rk
v蓹 sonra bir elan pointer v蓹 yaln谋z f蓹rz
ki, nadir hallarda do臒rudur, 莽眉nki bu null.
Bel蓹likl蓹, siz h蓹mi艧蓹 m眉蓹yy蓹n etm蓹lidir bir g枚st蓹rici d蓹y蓹ri
Siz onun d蓹y蓹ri m眉蓹yy蓹n yoxsa null d蓹rhal m蓹nal谋 bir 艧ey.
Siz kontrol ed蓹 bil蓹rsiniz bir g枚st蓹rici d蓹y蓹r olub b蓹rab蓹rlik operator istifad蓹 ed蓹r蓹k null deyil
(==), Yaln谋z h蓹r hans谋 bir tam m眉qayis蓹 ist蓹yir蓹m d蓹y蓹rl蓹r v蓹 ya character d蓹y蓹rl蓹r istifad蓹 (==)
h蓹m莽inin.
Bu daimi x眉susi sort Siz test 眉莽眉n istifad蓹 ed蓹 bil蓹rsiniz d蓹y蓹ri.
Bel蓹 ki, bir 莽ox sad蓹 idi pointer, null g枚st蓹rici.
Ba艧qa bir yolu yaratmaq bir g枚st蓹rici 莽谋xarmaq 眉莽眉n
d蓹yi艧蓹n 眉nvan谋 茝g蓹r siz art谋q yaratd谋q,
v蓹 v蓹 bu istifad蓹 etm蓹k operator 眉nvan谋 hasilat谋.
Hans谋 biz art谋q 蓹vv蓹ll蓹r g枚rd眉m ilk diagram M蓹s蓹l蓹n m蓹n g枚st蓹rdi.
X biz bir d蓹yi艧蓹n 蓹g蓹r Bel蓹 ki, art谋q n枚v眉 tam yarad谋lm谋艧,
sonra v蓹 x bir tam bir g枚st蓹ricisidir.
& X edir- & 莽谋xar谋艧 gedir unutmay谋n sa臒 艧ey 眉nvan谋.
V蓹 pointer yaln谋z bir 眉nvan谋 ild蓹n, daha & x bir tam bir g枚st蓹ricisidir
onlar谋n d蓹y蓹ri harada yadda艧 x h蓹yat谋nda edir.
Bu X 眉nvan谋 var.
Bel蓹 ki, & x x 眉nvan谋.
Bu bir add谋m olsun daha v蓹 bir 艧ey qo艧ulmaq
M蓹n 蓹vv蓹l video alluded.
Var谋艧 c眉tl蓹rin bir s谋ra sonra, 茝g蓹r & Var谋艧 kvadrat m枚t蓹riz蓹 i bir g枚st蓹rici
ikiqat 眉莽眉n.
OLDU.
i, 蓹g蓹r kvadrat m枚t蓹riz蓹 Var谋艧 Var谋艧, c眉tl蓹rin bir s谋ra edir
sonra i kvadrat m枚t蓹riz蓹 Var谋艧 ki, serial谋n i-ci element,
v蓹 & kvadrat m枚t蓹riz蓹 Var谋艧 i harada edir Yadda艧 arr i-ci element m枚vcuddur.
>> Bel蓹 ki, dolay谋s谋 burada n蓹 var?
Bir Diziler ad谋, dolay谋s谋 bu b眉t眉n 艧ey,
bir serial谋n ad谋 ki, h蓹qiq蓹t蓹n 枚z眉 bir g枚st蓹rici.
Siz i艧 etdik b眉t眉n boyunca g枚st蓹ricil蓹r il蓹
Siz bir s谋ra istifad蓹 etdiyiniz h蓹r zaman.
M蓹s蓹l蓹n saxla d蓹yi艧蓹n daxilind蓹,
M蓹n t蓹qdim Videonu sonuna yax谋n biz bir funksiyas谋 var n眉mun蓹
adl谋 set int v蓹 funksiyas谋 set array 莽a臒谋r谋b.
V蓹 problem m眉蓹yy蓹n etm蓹k 眉莽眉n v蓹 ya, v蓹 ya n蓹
biz 莽ap d蓹y蓹rl蓹r funksiyas谋 sonu,
茝sas Proqram谋n sonunda.
>> Siz ki, m蓹s蓹l蓹n geri 蓹g蓹r v蓹 ya video seyr etdik 蓹g蓹r,
Siz z蓹ng qaynar zaman bilirik ki, set int s蓹m蓹r蓹li he莽 bir 艧ey yoxdur.
Amma z蓹ng array yoxdur t蓹yin etm蓹k 眉莽眉n.
M蓹n n枚v niy蓹 眉z蓹rind蓹 cilalanacaq o zaman bel蓹 idi.
M蓹n d蓹, bu, bir s谋ra var ki, dedi: x眉susi, bilirsiniz, bir s蓹b蓹b var.
Bunun s蓹b蓹bi bir s谋ra nin ad谋, h蓹qiq蓹t蓹n, yaln谋z bir g枚st蓹rici
v蓹 bu x眉susi var kvadrat m枚t蓹riz蓹 sintaksis ki,
il蓹 i艧l蓹m蓹k 眉莽眉n h蓹r 艧eyi 莽ox g枚z蓹l edir.
Onlar bir fikir etm蓹k 莽ox az qorxuducu g枚st蓹rici
onlar sort ist蓹yirik niy蓹 v蓹 ki ki, 艧蓹kild蓹 t蓹qdim.
Amma h蓹qiq蓹t蓹n seriallar谋n yaln谋z g枚st蓹ricil蓹r var.
V蓹 niy蓹 zaman biz serial谋n bir d蓹yi艧iklik etdi
biz bir parametri kimi bir s谋ra ke莽蓹rk蓹n funksiyas谋 v蓹 ya bir arqument kimi
serial谋n bir funksiyas谋, m蓹zmunu h蓹qiq蓹t蓹n d蓹 callee d蓹yi艧di
v蓹 z蓹ng edir.
H蓹r bir dig蓹r n枚v hans谋 g枚rd眉k d蓹yi艧蓹n halda deyildi.
Bel蓹 ki, saxlamaq 眉莽眉n bir 艧ey var Siz g枚st蓹ricil蓹r il蓹 莽al谋艧谋r谋q zaman a臒la,
ki, bir ad谋 array h蓹qiq蓹t蓹n bir pointer
ki, serial谋n ilk element.
>> OK, bel蓹 ki, indi biz b眉t眉n bu var faktlar, sa臒, davam ed蓹k.
Niy蓹 biz qay臒谋 yoxdur burada bir 艧ey ya艧ay谋r.
Dediyim Yax艧谋 kimi, bu olduqca var bir 艧ey ya艧ad谋臒谋 bilm蓹k faydal谋d谋r
bel蓹 ki, orada getm蓹k v蓹 onu d蓹yi艧蓹 bil蓹rsiniz.
Bu i艧 v蓹 h蓹qiq蓹t蓹n 艧ey var ki,
ki, d蓹yi艧蓹n take t蓹siri etm蓹k ist蓹yir蓹m, v蓹 b蓹zi sur蓹ti q眉vv蓹y蓹 deyil.
Bu dereferencing adlan谋r.
Biz yaln谋z getm蓹k v蓹 biz d蓹y蓹r d蓹yi艧ir.
Biz bir g枚st蓹rici var v蓹 蓹g蓹r Bel蓹 ki, deyirl蓹r pc, v蓹 bir xarakter g枚st蓹rir,
sonra biz * pc v蓹 * pc dem蓹k olar biz getm蓹k 蓹g蓹r biz tapa bil蓹rsiniz n蓹 ad谋
脺nvan PC.
Biz orada tapa bil蓹rsiniz bir xarakter v蓹 * Pc ki, data bax谋n nec蓹
yeri.
Bel蓹likl蓹, biz kimi bir 艧ey dey蓹 bil蓹r * Pc = D ya kimi bir 艧ey,
ki, o dem蓹kdir ki, h蓹r hans谋 , yadda艧 眉nvan谋 pc idi
n蓹 xarakter 蓹vv蓹l idi biz pc = D * dem蓹k 蓹g蓹r orada, indi D edir.
>> Bel蓹 ki, burada biz yen蓹 getm蓹k b蓹zi q蓹rib蓹 C stuff, do臒ru.
Bel蓹likl蓹, biz kimi 蓹vv蓹ll蓹r * g枚rd眉k el蓹 data type hiss蓹si,
v蓹 indi istifad蓹 olunur bir az f蓹rqli kontekstind蓹
bir yerd蓹 m蓹lumat daxil olmaq 眉莽眉n.
M蓹n bunu bir az confusing bilirik v蓹 ki, h蓹qiq蓹t蓹n, bu b眉t眉n hiss蓹si
kimi, niy蓹 g枚st蓹ricil蓹r bu mifologiya var onlar谋n 蓹traf谋nda bel蓹 m眉r蓹kk蓹b kimi,
vicdanla, bir syntax problem n枚v眉d眉r.
Lakin * H蓹r iki kontekstl蓹rd蓹 istifad蓹 olunur, h蓹m n枚v眉 ad谋 hiss蓹si kimi,
v蓹 biz bir az g枚r眉rs眉n眉z 莽ox ba艧qa sonra bir 艧ey.
V蓹 indi dereference operator.
Bel蓹 ki, yaln谋z gedir, Bu data 莽atmaz
g枚st蓹rici yeri, v蓹 Siz irad蓹si il蓹 manipulyasiya etm蓹y蓹 imkan verir.
>> 陌ndi bu 莽ox ox艧ard谋r Sizin qon艧u ziyar蓹t h眉ququ.
茝g蓹r bilirsinizs蓹, n蓹 qon艧u sen, ya艧ay谋r
Sizin qon艧u il蓹 h蓹yata asma deyil.
Siz ba艧谋na bilirik ya艧ad谋qlar谋 bilirik,
lakin 莽ox dem蓹k deyil ki, ki, bilik olan f蓹zil蓹ti
Siz onlara il蓹 蓹laq蓹 olunur.
Onlarla qar艧谋l谋ql谋 ist蓹yirsinizs蓹, Siz 枚z evin蓹 getm蓹k 眉莽眉n var
茝g蓹r onlar ya艧ad谋臒谋 getm蓹k 眉莽眉n var.
V蓹 bunu bir d蓹f蓹, sonra qar艧谋l谋ql谋 bil蓹r
onlarla yaln谋z ist蓹yir蓹m ist蓹yir蓹m.
V蓹 eyni d蓹yi艧蓹nl蓹rin, onlar谋n 眉nvan谋na getm蓹k laz谋md谋r
茝g蓹r siz onlar谋 qar艧谋l谋ql谋 ist蓹yirsinizs蓹, Yaln谋z 脺nvan谋 bilmir蓹m bil蓹r.
V蓹 眉nvana getm蓹k yoldur *, dereference operator istifad蓹 etm蓹k.
Siz n蓹 d眉艧眉n眉rs眉n眉z biz c蓹hd v蓹 dereference 蓹g蓹r
onlar谋n d蓹y蓹ri bir g枚st蓹rici null edir?
Null Xat谋rladaq ki, pointer he莽 bir 艧ey g枚st蓹rir.
Siz c蓹hd v蓹 dereference 蓹g蓹r he莽 bir 艧ey bir 眉nvan he莽 bir 艧ey getm蓹k v蓹 ya,
Siz n蓹 d眉艧眉n眉rs眉n眉z?
Yax艧谋 Siz guessed 蓹g蓹r seqmentasiya g眉nah, do臒ru olar谋q.
Siz c蓹hd v蓹 dereference 蓹g蓹r bir null pointer,
Bir seqmentasiya 蓹ziyy蓹t g眉nah. Lakin, g枚zl蓹yin
M蓹n ki, siz dem蓹k deyildi Siz fikrind蓹 deyilik 蓹g蓹r
Sizin d蓹y蓹ri t蓹yin etm蓹k 眉莽眉n m蓹nal谋 bir 艧ey g枚st蓹rici,
Siz null m眉蓹yy蓹n etm蓹lidir?
M蓹n v蓹 h蓹qiq蓹t蓹n seqmentasiya g眉nah yax艧谋 davran谋艧 n枚v眉d眉r.
>> He莽 bir d蓹yi艧蓹n elan var d蓹rhal onun d蓹y蓹r t蓹yin deyil?
Bel蓹 ki, yaln谋z int x dem蓹k; siz deyil h蓹qiq蓹t蓹n bir 艧ey 眉莽眉n t蓹yin
v蓹 sonra sizin kodu, Siz x d蓹y蓹ri 莽ap
h蓹l蓹 olmayan bir 艧ey 眉莽眉n t蓹yin.
Tez-tez almaq laz谋md谋r s谋f谋r, lakin b蓹z蓹n
bir t蓹sad眉fi n枚mr蓹 almaq v蓹 bil蓹r Siz g蓹l蓹n he莽 bir fikrim yoxdur.
Eynil蓹 艧eyi ed蓹 bil蓹rsiniz g枚st蓹ricil蓹r il蓹 ba艧 verir.
Bir g枚st蓹rici elan zaman int * m蓹s蓹l蓹n pk,
v蓹 siz bir d蓹y蓹r t蓹yin deyil Siz yadda艧 眉莽眉n d枚rd bayt almaq.
N蓹 olursa olsun d枚rd bytes sistem yadda艧 bil蓹rsiniz
bir m蓹nal谋 d蓹y蓹ri var ki, tapa bil蓹rsiniz.
V蓹 ola art谋q bir 艧ey
ba艧qa laz谋m art谋q funksiyas谋, yaln谋z bel蓹
n蓹 data var idi.
>> N蓹 dereference etm蓹y蓹 莽al谋艧d谋 蓹g蓹r Siz var idi don't- b蓹zi 眉nvan
art谋q bayt v蓹 m蓹lumat orada ki, pointer indi.
, Siz c蓹hd 蓹g蓹r ki, pointer dereference B蓹zi yadda艧 il蓹 messing edil蓹 bil蓹r
Siz niyy蓹tind蓹 deyil ki, b眉t眉n mess 眉莽眉n.
V蓹 蓹slind蓹 siz ed蓹 bil蓹r h蓹qiq蓹t蓹n da臒谋d谋c谋 bir 艧ey,
kimi ba艧qa bir proqram q谋rmaq, v蓹 ya, ba艧qa bir funksiyas谋 q谋rmaq
v蓹 ya z蓹r蓹rli bir 艧ey Siz b眉t眉n etm蓹k niyy蓹tind蓹 deyil idi.
Bu niy蓹 v蓹 ki var h蓹qiq蓹t蓹n yax艧谋 bir fikirdir
蓹g蓹r null sizin g枚st蓹ricil蓹rin蓹 t蓹yin etm蓹k m蓹nal谋 bir 艧ey onlara m眉蓹yy蓹n deyil.
Bu, y蓹qin ki, daha yax艧谋d谋r Proqram 眉莽眉n g眉n sonu
Bunu sonra q蓹za bir 艧ey vintl蓹r q蓹d蓹r
ba艧qa bir proqram v蓹 ya ba艧qa bir funksiyas谋.
Bu davran谋艧, h蓹tta y蓹qin ki, yaln谋z 艧aqq谋lt谋l谋 az ideal.
Bu niy蓹 v蓹 ki var h蓹qiq蓹t蓹n yax艧谋 bir v蓹rdi艧
Sizin g枚st蓹ricil蓹rin蓹 qurmaq 眉莽眉n daxil olmaq 茝g蓹r siz onlar谋 m眉蓹yy蓹n yoxsa null
m蓹nal谋 d蓹y蓹ri Bildiyiniz d蓹rhal d蓹y蓹ri
v蓹 siz dereference t蓹hl眉k蓹siz bil蓹rsiniz.
>> Bel蓹 ki, indi geri g蓹lsin v蓹 bir g枚z at谋n v蓹ziyy蓹t 眉mumi sintaksis.
M蓹n int * p dem蓹k olarsa ;, M蓹n n蓹 etmi艧蓹m?
M蓹n etdik bu.
M蓹n p d蓹y蓹ri bir 眉nvan oldu臒unu b眉t眉n g枚st蓹ricil蓹r yaln谋z 莽眉nki
眉nvanlar谋.
M蓹n dereference p * operator istifad蓹 ed蓹r蓹k.
脟ox burada Bu 蓹hat蓹d蓹 top * N枚v眉 hiss蓹si xat谋rlay谋ram.
Int * data n枚v眉d眉r.
Amma dereference bil蓹r * operator istifad蓹 ed蓹r蓹k p,
M蓹n bunu, m蓹n ki, 眉nvan 眉莽眉n getm蓹k 蓹g蓹r, Hesab edir蓹m ki, 眉nvanda n蓹 tapa bil蓹rsiniz?
M蓹n tam tapa bil蓹rsiniz.
Bel蓹 ki, int * p 蓹sas蓹n dey蓹r蓹k, p bir 眉nvan谋.
M蓹n p dereference 蓹g蓹r M蓹n, m蓹n tam tapa
ki, yadda艧 yeri.
>> OK, bel蓹 ki, m蓹n ba艧qa oldu臒unu ifad蓹 etdi ulduzlar谋 il蓹 annoying 艧ey
v蓹 burada yerl蓹艧ir ki ulduzlar谋 il蓹 annoying 艧eydir.
茝g蓹r elan c蓹hd eyni tipli 莽ox d蓹yi艧蓹nl蓹r
kod eyni x蓹tt 眉zr蓹?
Bel蓹 ki, ikinci, x蓹tt iddia M蓹n, h蓹qiq蓹t蓹n, ya艧谋l var code
yoxdur v蓹 yaln谋z int x, y, z deyir ;.
Hans谋 ki, n蓹 olard谋 h蓹qiq蓹t蓹n yaratmaq sizin 眉莽眉n 眉莽 tam d蓹yi艧蓹nl蓹r,
bir adl谋 x, bir adl谋 y, bir z 莽a臒谋r谋b.
Bu olmadan bunu etm蓹k 眉莽眉n bir yol var 眉莽 x蓹tt 眉z蓹rind蓹 split olan.
>> Stars almaq burada baxmayaraq yen蓹 annoying,
* h蓹qiq蓹t蓹n hiss蓹sidir, 莽眉nki h蓹m n枚v眉 ad谋 v蓹 bir hiss蓹si
d蓹yi艧蓹n ad谋.
V蓹 m蓹n dem蓹k 蓹g蓹r int * px, py, Pz, n蓹 h蓹qiq蓹t蓹n almaq bir tam bir g枚st蓹ricisidir
px v蓹 iki integers, py v蓹 Pz 莽a臒谋r谋b.
V蓹 y蓹qin ki, n蓹 var ki, yax艧谋 deyil, ist蓹yir蓹m.
>> Bir ne莽蓹 g枚st蓹ricil蓹rin蓹 yaratmaq ist蓹yirsinizs蓹 Bel蓹 ki, eyni x蓹tt 眉zr蓹, eyni tipli,
M蓹n, h蓹qiq蓹t蓹n, ehtiyac n蓹 v蓹 ulduzlar谋, etm蓹k 眉莽眉n * pb * pc, int * pa dem蓹k deyil.
陌ndi yaln谋z dedi ki v蓹 indi, siz蓹 bu izah
Siz y蓹qin ki, bunu he莽 vaxt.
V蓹 bu, vicdanla, y蓹qin ki, yax艧谋 bir 艧ey deyil siz t蓹sad眉f蓹n bil蓹r, 莽眉nki
bir ulduz, bel蓹 bir 艧ey buraxmaq.
Bu b蓹lk蓹 elan etm蓹k y蓹qin ki, 蓹n yax艧谋 f蓹rdi x蓹tl蓹ri 眉zr蓹 g枚st蓹ricil蓹r,
lakin bu, yaln谋z bir biri o annoying sintaksis
etm蓹k ulduzlar谋 il蓹 艧eyi il蓹 i艧l蓹m蓹k 眉莽眉n bel蓹 莽蓹tin g枚st蓹ricil蓹r.
Yaln谋z bu sintaktik, 莽眉nki mess vasit蓹sil蓹 i艧l蓹m蓹k laz谋md谋r.
T蓹cr眉b蓹 il蓹 yoxdur h蓹qiq蓹t蓹n ikinci t蓹bi蓹t olur.
M蓹n h蓹l蓹 d蓹 bu s蓹hvl蓹r 10 il 眉莽眉n proqramla艧d谋rma sonra,
Bir 艧ey olsa bel蓹 p蓹ri艧an olmay谋n Siz蓹, vicdanla olduqca 眉mumi var.
Bu c眉r h蓹qiq蓹t蓹n var sintaksis bir q眉sur.
>> OK, bel蓹 ki, I n枚v v蓹d biz yenid蓹n ki,
nec蓹 b枚y眉k anlay谋艧谋 bir simli edir.
Yax艧谋 m蓹n siz蓹 deyib ki, 蓹g蓹r simli, biz n枚v h蓹qiq蓹t蓹n var
Siz蓹 b眉t眉n vaxt yalan edilmi艧dir.
Deyil蓹n data type var simli v蓹 蓹slind蓹 m蓹n
biri bu qeyd bizim data n枚vl蓹ri 眉zr蓹 erk蓹n video,
ki, simli bir veri n枚v眉 idi ki, cs50.h. sizin 眉莽眉n yarad谋lm谋艧d谋r
Siz # daxil etm蓹k laz谋md谋r Istifad蓹 etm蓹k 眉莽眉n cs50.h.
>> Yax艧谋 string yaln谋z h蓹qiq蓹t蓹n bir 艧ey 眉莽眉n bir alias
, char * adl谋 bir xarakter g枚st蓹rici.
Yax艧谋 g枚st蓹ricil蓹r, geri, yaln谋z m眉raci蓹t edir.
Bel蓹 ki, 枚l莽眉s眉 n蓹dir simli bayt?
Yax艧谋 d枚rd v蓹 ya s蓹kkiz var.
V蓹 s蓹b蓹b deyir蓹m d枚rd v蓹 ya s蓹kkiz 莽眉nki 蓹slind蓹
Siz istifad蓹 edirsinizs蓹, sistem as谋l谋d谋r CS50 ide, char * bir char 枚l莽眉s眉
* Bu bir 64-bit sistemi var, s蓹kkiz edir.
Yadda艧 H蓹r 眉nvan 眉莽眉n 64 bit uzun.
Siz CS50 cihaz istifad蓹 edirsinizs蓹 v蓹 ya h蓹r hans谋 32-bit ma艧谋n istifad蓹 ed蓹r蓹k,
v蓹 bu m眉dd蓹t 32-par莽a e艧itdim ma艧谋n, bir 32-bit ma艧谋n n蓹dir?
Yax艧谋 yaln谋z h蓹r o dem蓹kdir ki, yadda艧 眉nvan 32 bit uzun.
V蓹 bel蓹 32 bit d枚rd bayt edir.
Bel蓹 ki, bir char * d枚rd v蓹 ya s蓹kkiz edir sistem as谋l谋 olaraq bayt.
H蓹qiq蓹t蓹n h蓹r hans谋 bir m蓹lumat n枚vl蓹ri, v蓹 h蓹r hans谋 bir m蓹lumat bir g枚st蓹rici
b眉t眉n g枚st蓹ricil蓹r yaln谋z 莽眉nki, yaz谋n 眉nvanlar谋, d枚rd v蓹 ya s蓹kkiz bytes var.
Bel蓹 ki, bu yenid蓹n ed蓹k diaqram v蓹 bir-ba臒lamaq imkan
burada bir az h蓹yata ke莽irilm蓹si il蓹 bu video.
Bel蓹 ki, burada biz off sol diagram var Videonu 莽ox 蓹vv蓹lind蓹.
I * pk = 35 dem蓹k 蓹g蓹r Bel蓹 ki, n蓹 indi ba艧 verir?
Bel蓹 ki, * pk = 35 M蓹n dey蓹nd蓹 n蓹 dem蓹kdir?
Ikinci edin.
* Pk.
Burada kontekstind蓹 * deyil dereference operator.
Bel蓹 ki dereference operator istifad蓹 olunur
脺nvan i艧ar蓹 biz getm蓹k PK il蓹, v蓹 biz tapmaq n蓹 d蓹yi艧ir.
Bel蓹 ki, * pk = 35 s蓹m蓹r蓹li 艧蓹kil bu yoxdur.
Bel蓹 ki, syntactically 蓹sas蓹n bir eyni k = 35 s枚yl蓹yib.
>> Daha bir.
M蓹n int m dem蓹k, m蓹n yaratmaq m adl谋 yeni d蓹yi艧蓹n.
Yeni qutusu, bir ya艧谋l qutu, 莽眉nki Bu tam ke莽irm蓹k olacaq,
v蓹 m etiketli edir.
I m = 4 des蓹niz, m蓹n qoymaq ki qutusuna tam.
Dem蓹k pk = & m, nec蓹 varsa bu diaqram d蓹yi艧iklik?
Pk = & m, siz n蓹 geri ed蓹 & Operator yoxdur v蓹 ya adlan谋r?
Ki, v蓹 b蓹zi d蓹yi艧蓹n ad谋n谋 xat谋rlay谋ram d蓹yi艧蓹n ad谋 眉nvan谋.
Bel蓹 ki, n蓹 biz dey蓹r蓹k edirik edir pk m 眉nvan谋 olur.
V蓹 bel蓹 s蓹m蓹r蓹li n蓹 olur diagram art谋q xal PK
m, lakin xal k.
>> Yen蓹 g枚st蓹ricil蓹rin蓹 莽ox var il蓹 i艧l蓹m蓹k 眉莽眉n 莽蓹tin
v蓹 onlar bir 莽ox t蓹cr眉b蓹, lakin
imkan 眉莽眉n onlar谋n qabiliyy蓹ti funksiyalar谋 aras谋nda data ke莽m蓹k
v蓹 h蓹qiq蓹t蓹n o var d蓹yi艧iklikl蓹r q眉vv蓹y蓹,
蓹traf谋nda ba艧 almaq h蓹qiq蓹t蓹n vacibdir.
Bu y蓹qin ki, 蓹n m眉r蓹kk蓹b biz CS50 m眉zakir蓹 m枚vzusu
lakin d蓹y蓹ri ki, g枚st蓹ricil蓹rin蓹 istifad蓹 almaq
q蓹d蓹r f蓹sadlar 眉st蓹l蓹yir ki, onlar谋 枚yr蓹nm蓹k g蓹lir.
Bel蓹likl蓹, m蓹n siz蓹 u臒urlar arzulay谋ram U臒urlar g枚st蓹ricil蓹r haqq谋nda 枚yr蓹nm蓹k.
M蓹n Doug Lloyd deyil蓹m, bu CS50 edir.