>> [Musiqi ifa]
>> DAVID J. Malan: All right bu CS50 edir bu h蓹ft蓹 be艧 ba艧lay谋n.
Bu g眉n, sizin oturacaq yast谋qlar谋 alt谋nda, bir 艧ey tapa bilm蓹z.
Lakin yuxar谋da, bir, bu tapmaq laz谋md谋r 眉莽眉n qiym蓹tl蓹ndirm蓹 ki莽ik m枚'c眉z蓹
sizi ki, b眉t眉n i艧l蓹ri be艧 oyun.
Sad蓹c蓹 眉z蓹rin蓹 ki莽ik dair蓹 aradan qald谋r谋lmas谋 眉莽眉n oynayan ba艧lamaq 眉莽眉n alt
sinif qalan.
>> Bel蓹 ki Xat谋rladaq, v蓹 ya m眉蓹yy蓹n problem bilirik bu h蓹ft蓹 sonu 莽谋xd谋 d枚rd,
ba艧qa bir oyun yaz谋l谋 daxildir.
Lakin bu 蓹hat蓹 bu d蓹f蓹 istifad蓹 faktiki qrafik istifad蓹莽i interfeysi, bir
kimi m蓹tn interface On be艧 oyun idi.
V蓹 ir蓹lid蓹 sizin yalan ki, oyun, 茝g蓹r siz h蓹l蓹 bu n枚vb蓹ti g枚rm眉rs蓹nmi oldu臒unuz halda,
bu kimi bir az bir 艧ey g枚r眉n眉r.
M蓹n terminal getm蓹k gidiyorum burada gdb ild蓹 p蓹nc蓹r蓹.
V蓹 m蓹n ir蓹li getm蓹k v蓹 莽al谋艧t谋rmak 眉莽眉n gidiyorum Siz 蓹ld蓹 ed蓹 bil蓹rsiniz olan hey蓹t h蓹lli
adi kimi yenil蓹m蓹 50 莽al谋艧an sonra.
>> Amma bir az daxil etm蓹k gidiyorum gizli rejimi, bir az Pasxa yumurta,
t蓹r蓹find蓹n, Allah rejimi deyil蓹n argv1 Allah qoymu艧dur.
M蓹n 枚z talimatlar谋 var 枚z onu 莽al谋艧an
problem kataloq se莽in.
Bel蓹 ki, indi siz tam versiyas谋n谋 g枚rmek Breakout oyun.
茝slind蓹, bu, he莽 蓹ll蓹ri n枚v眉d眉r.
Bel蓹 ki, h蓹qiq蓹t蓹n var -
baxmayaraq wowed ola bil蓹r -
Allah rejimind蓹 h蓹yata ke莽irilm蓹si 眉莽眉n olduqca c眉zi Breakout, on be艧 Oyunu f蓹rqli olaraq,
siz b蓹zi ele ola bil蓹r hacker n蓹艧r.
>> Breakout bu Allah kifay蓹tdir rejimi sad蓹c蓹, n蓹
daxil蓹n avar il蓹?
Yaln谋z n蓹 眉莽眉n b蓹rab蓹r etm蓹k 眉f眉qi v蓹ziyy蓹td蓹 topu edir.
V蓹 bel蓹 uzun siz lockstep bu kimi bu oyun h蓹r蓹k蓹t top ed蓹c蓹k
, he莽, he莽 top miss he莽 vaxt v蓹 h蓹r zaman qazanmaq laz谋md谋r.
>> Amma bu h蓹ft蓹 hacker redaksiyada yaln谋z Allah rejimi daha 莽ox var.
Dig蓹r x眉susiyy蓹tl蓹ri bir s谋ra var.
Onlar谋n aras谋nda, lazer.
Bel蓹 ki, siz h蓹qiq蓹t蓹n h枚vs蓹l蓹siz almaq 蓹g蓹r k蓹rpic g眉ll蓹l蓹m蓹 ba艧laya bil蓹rsiniz
v蓹 bir ne莽蓹 ba艧qalar谋.
V蓹 ist蓹diyiniz kim sizin 眉莽眉n standart qar艧谋 hacker kalibrini
n蓹艧r, m蓹n g枚r眉r眉k ki, bu h蓹ft蓹 hacker n蓹艧r q蓹sd蓹n bir
Allah daha deyir蓹m, bir az daha doable rejimi be艧 Game idi.
>> Bir uzan谋r axtar谋r v蓹 etdiyiniz Bel蓹 ki, 蓹g蓹r Siz b蓹zi 蓹lav蓹 蓹yl蓹nc蓹 眉莽眉n ar谋yorsan谋z
x眉susiyy蓹tl蓹ri maraq 蓹g蓹r dive edin.
陌ndi daha dem蓹k olar ki, m蓹nim qeyd ed蓹k bir 艧ey el蓹c蓹.
茝g蓹r b蓹zi h蓹l蓹 bil蓹r gdb, g枚z蓹l olan, 艧蓹xs蓹n toxundu.
Amma indi h蓹qiq蓹t蓹n istifad蓹 almaq 眉莽眉n vaxt Bu vasit蓹 il蓹 bu v蓹 rahat etm蓹k
sizin h蓹yat谋n谋 莽眉nki daha asan, h蓹qiq蓹t蓹n.
>> Gdb bir ne莽蓹 Rob m眉hazir蓹si Per h蓹ft蓹 蓹vv蓹l geri
ki, gdb bir ay谋klama edir.
Bu run imkan verir ki, bir al蓹t var, sizin proqram ancaq bu add谋m, line-add谋m run
x蓹tti il蓹, bel蓹 ki, siz 蓹traf谋nda soxmaq bil蓹r 茝g蓹r 艧eyl蓹r olur g枚rm蓹k ki, bel蓹
Siz 莽ap ed蓹 bil蓹rsiniz ki, d蓹yi艧蓹nl蓹rin d蓹y蓹rl蓹ri.
Bir s枚zl蓹, bu, 莽ox daha 莽ox verir printDef 莽ox g眉c yoxdur.
>> 陌ndi admittedly, interfeys olduqca gizli deyil.
Qara v蓹 a臒 m蓹tn interface 莽ox hiss蓹si 眉莽眉n.
茝mrl蓹ri q蓹d蓹r s蓹rt ilk xat谋rlamaq.
Ancaq yar谋m bil蓹r, baxmayaraq ki, bir saat, bir saat ki, upfront qoymaq
onu vaxt investisiya, m蓹n蓹 etibar.
茝lb蓹tt蓹 ki, d枚vr sonuna onu xilas ed蓹c蓹k daha bal g眉c眉nd蓹 bir sifari艧
ki, 莽ox vaxt.
>> Da h蓹ft蓹 dive bel蓹 erk蓹n
V蓹 Breakout bax谋m谋ndan, bilirik ki, Siz kimi uzun ed蓹 bil蓹rsiniz
b枚l眉艧d眉r眉lm蓹si kodu v蓹 ya 枚z kodu Sizin Pst4 kataloq davam edir.
Siz gdb 莽al谋艧t谋rabilirsiniz ki, bilirik. / Breakout.
>> Bu a莽maq niyy蓹tind蓹dir bu kimi bir p蓹nc蓹r蓹.
M蓹n蓹 枚z眉m眉 daha verim terminal p蓹nc蓹r蓹.
V蓹 sonra n蓹 ir蓹li getm蓹k gidiyorum v蓹 bunu, yaln谋z 莽al谋艧t谋r谋n deyil.
M蓹n ilk fasil蓹 n枚qt蓹sini qurmaq 眉莽眉n gidiyorum 茝g蓹r fasil蓹 imkan verir geri,
x眉susi yerd蓹 icras谋.
>> Sad蓹c蓹 gedir蓹m 艧ey蓹 sad蓹 saxlamaq 眉莽眉n yazaraq yaln谋z line birind蓹 q谋rmaq
bir n枚mr蓹li.
M蓹n蓹 h蓹qiq蓹t蓹n bu p蓹nc蓹r蓹 yenid蓹n a莽maq ed蓹k bir 蓹ld蓹 莽眉nki
orada az ki莽ik.
Bel蓹 ki, n蓹 m蓹n indi burada gidiyorum edir M蓹n terminal p蓹nc蓹r蓹 a莽maq 蓹g蓹r.
Orada getm蓹k, Hadi.
>> M蓹n Dropbox Pst4 geri Bel蓹 ki, indi 蓹g蓹r v蓹 gdb ax谋r. / breakout daxil edin, qeyd
M蓹n bir qurmaq 眉莽眉n q谋rmaq gidiyorum line birind蓹 fasil蓹 point.
陌ndi m蓹n getm蓹k gidiyorum ir蓹li v蓹 n枚v眉 ax谋r.
V蓹 m蓹n n蓹 zaman, he莽 bir 艧ey qeyd ba艧 g枚r眉n眉r.
>> He莽 bir pop up var.
He莽 bir qrafik var h蓹l蓹 istifad蓹莽i interfeysi.
Ben 莽眉nki Amma ki, ba艧a d眉艧眉l蓹n deyil sanki m蓹nim proqram line biridir.
V蓹 m蓹n s眉r蓹tli m眉v蓹ff蓹q etdik ki, g枚r眉rs眉n眉z x眉susil蓹 indi 62, b眉t眉n 莽眉nki
bu fayl谋 眉st stuff deyil 艦蓹rh v蓹 sabitl蓹ri kimi 艧eyl蓹r v蓹
陌ndi stuff maraqs谋z.
>> Bel蓹 ki, indi m蓹n, 蓹sas daxilind蓹 deyil蓹m bu x蓹tt 62-da, g枚r眉n眉r.
V蓹 bu yaln谋z paylanmas谋 kodu, geri.
M蓹n, eyni, ged蓹r蓹k bu q蓹d蓹r a莽sam m蓹nim a莽谋lan qutusu directory Pst4 daxil daxil,
breakout.c daxil.
V蓹 m蓹n a艧a臒谋 v蓹 a艧a臒谋 a艧a臒谋ya f谋rlad谋n v蓹 蓹g蓹r, v蓹 m蓹n蓹 davam v蓹 yand谋rmaq imkan
m蓹nim x蓹tt n枚mr蓹l蓹ri.
>> M蓹n a艧a臒谋ya f谋rlad谋n g枚r眉r蓹m bil蓹c蓹kl蓹riniz, 蓹g蓹r line 62, tam line ki,
biz durdurduk.
Bu x蓹tt burada, 62, edir biz olmaq oldu臒unuz yerl蓹艧ir.
Bel蓹 ki, indi gdb, m蓹n ir蓹li getm蓹k v蓹 蓹g蓹r yaz谋n 陌ndi n枚vb蓹ti, bu olacaq daxil edin
ki, x蓹tt icra.
V蓹 voiture, biz var g p蓹nc蓹r蓹 deyil蓹n.
N蓹 GWindow il蓹 tan谋mad谋臒谋 茝g蓹r narahat etm蓹k deyil, deyil.
Spec kimi, bu il蓹 tan谋艧 ed蓹c蓹k yax艧谋 g枚zden ge莽irmek video say谋
spec il蓹 蓹laq蓹dar.
>> Amma indi bu ed蓹k az daha maraql谋.
M蓹n蓹 bu p蓹nc蓹r蓹 眉z蓹rind蓹 h蓹r蓹k蓹t ed蓹k yan bir az.
M蓹n蓹 p蓹nc蓹r蓹 bir az ed蓹k b枚y眉k m蓹n daha 莽ox g枚r蓹 bil蓹rsiniz.
>> V蓹 indi m蓹n蓹 ir蓹li ged蓹k v蓹 yenid蓹n n枚vb蓹ti yoxdur.
V蓹 k蓹rpic var.
M蓹n n枚vb蓹ti yenid蓹n yaz谋n edin 陌ndi top oldu.
V蓹 m蓹n n枚vb蓹ti yenid蓹n yaz谋n 蓹g蓹r indi m蓹n avar oldu.
>> V蓹 xo艧b蓹xtlikd蓹n bu gedit deyil h蓹qiq蓹t蓹n m蓹n蓹 g枚st蓹rm蓹kl蓹 蓹m蓹kda艧l谋q
M蓹n ist蓹yir蓹m h蓹r 艧ey.
Amma indi n枚vb蓹ti yenid蓹n 蓹g蓹r, N枚vb蓹ti yen蓹, m蓹n yaln谋z deyil蓹m
b蓹zi d蓹yi艧蓹nl蓹rin elan.
V蓹 m蓹n h蓹r hans谋 bir 莽ap ed蓹 bil蓹rsiniz Bunlardan u艧aqlar.
Print k蓹rpic, izl蓹ri ya艧ay谋r.
>> 陌ndi bunu davam ed蓹rs蓹 N枚vb蓹ti, m蓹n olacaq ki, qeyd
ki, loop daxilind蓹.
Amma kodu yerin蓹 gedir M蓹n g枚zl蓹yirik tam olaraq.
Bel蓹likl蓹, m蓹n bu funksiya hit zaman, g枚zl蓹yin klik 眉莽眉n, bunu olacaq
Bu s枚z眉n edir.
Bel蓹likl蓹, m蓹n n蓹zar蓹t itirmi艧 g枚r眉n眉rd眉 proqram art谋q.
>> Gdb m蓹n蓹 bir tez verilm蓹si deyil.
Amma narahat deyil.
M蓹nim oyun get haradasa bas谋n.
>> V蓹 voiture, indi line 86 g蓹lir.
Bel蓹 ki, yen蓹 d蓹, bu, n蓹tic蓹 etibaril蓹, 蓹v蓹zolunmaz var ay谋klama probleml蓹ri.
S枚z眉n gezinmek bil蓹r kodunuzu h蓹yata v蓹 莽ox 莽ap 蓹艧yalar,
莽ox, daha 莽ox.
T蓹k indi 眉莽眉n, bu al蓹tl蓹r olduqca q蓹d蓹r siz almaq laz谋md谋r.
>> Bel蓹likl蓹, biz bir n蓹z蓹r alaraq, 蓹lb蓹tt蓹 ki, ist蓹yirik indi Graphics, q蓹fl蓹t蓹n.
陌ndi bizim d眉nya bir az olur daha maraql谋.
V蓹 b蓹zi, b蓹lk蓹 d蓹, bilirik Biz bu var ki, online video
siz m眉艧ahid蓹 oldu臒unuzu 艧ort problem d蓹stl蓹ri hiss蓹si kimi.
>> Onlar q蓹sd蓹n 莽蓹kilmi艧 oldu臒unuz a臒 fonunda.
Onlar谋n b蓹zil蓹ri t蓹dris var Olan b蓹zi m蓹tn r蓹sm Fellows
枚rtd眉 ki, ekran onlar谋n t蓹r蓹find蓹.
Amma 蓹lb蓹tt蓹, bu, b眉t眉n deyildir real d眉nyada maraql谋.
Bu yaln谋z bir m眉hazir蓹 zal谋 edir b枚y眉k a臒 ekran v蓹 fonunda.
V蓹 bizim g枚z蓹l istehsal komanda sort h蓹r 艧ey g枚z蓹l baxmaq verir
h蓹yata 蓹kin t蓹r蓹find蓹n fakt sonra v蓹 ya bir 艧ey overlaying
biz v蓹 ya ist蓹mirik.
>> 陌ndi yaln谋z bu h蓹ft蓹 h蓹v蓹sl蓹ndirm蓹k v蓹 h蓹qiq蓹t蓹n, siz n蓹tic蓹d蓹 getm蓹k bil蓹rsiniz
komp眉ter elm.
Yaln谋z problem sonra d枚rd se莽in.
Amma ba艧qa c眉r v蓹 ya b眉t眉n sonra Kurikulum g枚z蓹l bu n蓹 ed蓹 bil蓹rsiniz
bax谋m谋ndan bu g眉n n蓹 x眉susil蓹 qrafika.
>> 茝g蓹r b蓹zil蓹ri bu g枚rm眉艧蓹m bil蓹r online 蓹traf谋nda axan.
Amma, m蓹n siz蓹 g枚st蓹rm蓹k ist蓹diyiniz fikir yaln谋z bir d蓹qiq蓹 ne莽蓹, n蓹 bir fikir
komp眉ter v蓹 n蓹 CGI, komp眉ter qrafikas谋 bu g眉n ed蓹 bil蓹r
bir tan谋艧 mahn谋 il蓹 v蓹 b蓹lk蓹 d蓹 film.
>> [MUSIC - Lana DEL ray, "G蓹nc v蓹 g枚z蓹l]
>> HOPARL脰R 1: Bu, sad蓹c蓹 bir az var g枚z蓹l, b蓹lk蓹 d蓹, nec蓹
h蓹r yerd蓹 -
>> [Alq谋艧]
>> HOPARL脰R 1: m蓹n yaln谋z endirildi.
Amma bu, m蓹n hesab edir蓹m ki, h蓹qiq蓹t蓹n g枚z蓹l yaln谋z h蓹r yerd蓹 proqram v蓹 艧ifri v蓹 nec蓹
bu kimi al蓹tl蓹r h蓹qiq蓹t蓹n.
Bel蓹 ki istiqam蓹tind蓹 bir dad var hans谋 bil蓹rsiniz.
Oh, 莽ox Appliance g眉n.
Yax艧谋 ki, h蓹qiq蓹t蓹n faci蓹li vaxt谋 var M蓹n yaln谋z etm蓹y蓹 莽al谋艧m谋艧谋q n枚qt蓹sin蓹 verilir.
>> B眉t眉n sa臒, el蓹 ba艧lamaq bildirin Fusion yenid蓹n.
Sonra m蓹n蓹 xat谋rlad谋r.
B眉t眉n h眉quqlar v蓹 bir 蓹ld蓹 olmal谋d谋r bir almaq 蓹g蓹r bir t蓹r蓹f蓹 e-po莽t
kimi g枚r眉rs眉n眉z.
B眉t眉n sa臒, bel蓹 ki, 枚t蓹n h蓹ft蓹 geri biz geri soymaq bu ba艧lad谋
sonra simli kimi tan谋n谋r.
>> simli olan bir veri n枚v眉 xat谋rlad谋r ki, CS50 kitabxana elan edib.
V蓹 bu t蓹lim t蓹k蓹rl蓹r hiss蓹si ki, indi 莽谋xarma臒a ba艧layacaq.
Bu erk蓹n bir faydal谋 konsepsiyas谋 idi.
Amma indi daha 莽ox almaq olacaq maraql谋 v蓹 daha g眉cl眉
h蓹qiq蓹t蓹n, ba艧l谋q alt谋nda g枚r眉r蓹m ki, bir simli yaln谋z n蓹 dedik idi?
>> B蓹li, bel蓹 bir qondarma char * var.
V蓹 orada * var ki i艧ar蓹 眉nvan谋, bir n枚v c蓹lb.
V蓹 bel蓹 ki, char * dey蓹nd蓹 yaln谋z dem蓹k kimin data type bir d蓹yi艧蓹n bir
陌ndi g枚st蓹rici.
Orada ulduz var ki yaln谋z bir elan o dem蓹kdir ki,
pointer deyil蓹n.
V蓹 g枚st蓹rici y蓹qin gedir ki, yerl蓹艧diyi 眉nvan saxlamaq
茝lb蓹tt蓹, bir karakter.
>> 陌ndi niy蓹 bu m蓹nada edir?
B蓹li, bir simli n蓹 ba艧l谋q alt谋nda?
Yax艧谋, bir m眉dd蓹t deyirdik oldu臒unuz ba艧l谋q alt谋nda bir simli ki,
yaln谋z h-e-l-l-o, m蓹s蓹l蓹n.
>> Amma biz bu bar蓹d蓹 s枚hb蓹t etdik , mahiyy蓹tc蓹, bir s谋ra edir.
V蓹 bir s谋ra sonra bir az g枚r眉n眉r Bu h蓹r biri il蓹, bu kimi daha 莽ox
bir bite alaraq.
V蓹 sonra biz orada bildirib ki, sonra Geri burada x眉susi bir 艧ey,
backslash 0, ya null terminator.
>> B眉t眉n bu vaxt Bel蓹 ki, burada bir simli olmu艧dur.
Lakin, h蓹qiq蓹t蓹n, simli deyil h蓹qiq蓹t蓹n 眉nvan谋.
Biz g枚r蓹c蓹ksiniz kimi 眉nvanlar谋n谋, tez-tez Konvensiya il蓹 0x il蓹 prefixed.
0x n蓹 i艧ar蓹 edir?
H蓹r k蓹s bilir?
>> Bel蓹 ki, yaln谋z hexadecimal dem蓹kdir.
Bel蓹likl蓹, siz PST olan, faktiki olaraq, geri bil蓹r 1, hesab edir蓹m ki, isti-up biri
suallar h蓹qiq蓹t蓹n bar蓹d蓹 soru艧dular 蓹lav蓹 hexadecimal notation
ikili v蓹 Ondal谋k.
V蓹 burada motivasiya ki, hexadecimal il蓹 16 var
sizin ixtiyar谋n谋zdad谋r r蓹q蓹m.
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, sonra t蓹r蓹find蓹n, b, c, d, e, f.
>> V蓹 b眉t眉n bu q蓹d蓹r saymaq olarsa, Siz 16 眉mumi almaq.
Bel蓹 ki, bu f蓹rqli deyil 10 oldu臒u decimal,
r蓹q蓹m, doqquz vasit蓹sil蓹 0.
Bu ikili f蓹rqli var biz yaln谋z 0 v蓹 1 var.
>> Amma yaln谋z bil蓹rsiniz g眉n眉n sonunda Eyni n枚mr蓹l蓹ri t蓹msil, lakin
q蓹d蓹r f蓹rqli.
V蓹 hexadecimal 眉mumi 莽眉nki O 莽谋x谋r - v蓹 biz bu g枚r眉rs眉n眉z
sonra zaman谋 - h蓹tta biz 蓹ld蓹 kontekstind蓹 web proqramla艧d谋rma
HTML v蓹 r蓹ng kodlar谋, hexadecimal g枚z蓹ldir.
H蓹r r蓹q蓹mli 脟眉nki, 莽谋x谋r m眉k蓹mm蓹l d枚rd bit t蓹msil edir.
G枚z蓹l x蓹tl蓹ri Bel蓹 ki, yaln谋z c眉r biz n蓹hay蓹t g枚r蓹c蓹ksiniz kimi.
Bel蓹 ki, bu ola bil蓹r Ox123 v蓹 ya bir 艧ey kimi, belirten 眉nvan 123
haradasa daxilind蓹 m蓹nim komp眉ter yadda艧.
>> Amma 蓹lb蓹tt蓹, b蓹zi probleml蓹r yaran谋r 莽眉nki bu 蓹sas v蓹
h蓹yata ke莽irilm蓹si.
V蓹 m蓹n bir z蓹rb蓹 etdi ki, xat谋rlay谋ram bu kimi bir funksiyan谋n icras谋 -
Ke莽蓹n h蓹ft蓹 dash 0 dot c m眉qayis蓹 ki, idi kimi baxd谋, h蓹tta
sa臒, sad蓹c蓹 m眉qayis蓹 etm蓹yib iki strings d眉zg眉n.
>> I 眉z 蓹sas at谋lan etdik v蓹 m蓹n at谋lan etdik 眉z 艧蓹rh yaln谋z 眉zr蓹 diqq蓹t
Burada maraq olan kodu.
Bu buggy var, 莽眉nki q谋rm谋z谋 var.
N蓹 s蓹b蓹bd蓹n?
>> Yax艧谋, 眉st orada m蓹n elan zaman simli, n蓹 h蓹qiq蓹t蓹n davam
ba艧l谋q alt谋nda?
Yax艧谋, m蓹n蓹 眉z蓹rind蓹 gidelim burada ekran v蓹 c蓹lb edir.
Bel蓹likl蓹, m蓹n, yen蓹 elan string s GetString.
>> Bel蓹 ki, indi davam ged蓹n v蓹 al谋ram h蓹qiq蓹t蓹n n蓹 眉莽眉n s c蓹lb edir.
Burada kvadrat olacaq.
V蓹 m蓹n iddia gidiyorum 32 bit var.
茝n az谋 ad蓹t蓹n, 蓹n az谋 CS50 haqq谋nda
komp眉ter bir 莽ox cihaz.
M蓹n bunu s z蓹ng etm蓹k 眉莽眉n gedir蓹m.
>> Amma indi xat谋rlay谋ram ki, GetString 莽a臒谋r谋b.
Bel蓹 ki GetString yekunlar谋 茝lb蓹tt蓹, simli.
H-e-l-l-o istifad蓹莽i n枚vl蓹ri daxil edin simli salam geri olur.
V蓹 simli, biz yaln谋z dediyi kimi, bitir up yerd蓹 komp眉ter yadda艧谋nda
sonunda bir backslash 0.
M蓹n array kimi bu 莽蓹km蓹k laz谋md谋r - v蓹 ya simvol biti艧ik blok -
bu, h蓹qiq蓹t蓹n edir.
>> 陌ndi n蓹 GetString olunur h蓹qiq蓹t蓹n qaytar谋lmas谋?
N蓹 qaytar谋lmas谋 edilmi艧dir GetString edib Bu zaman b眉t眉n?
Yax艧谋, biz 蓹vv蓹lki h蓹ft蓹, dem蓹k, bir string qaytar谋r.
Amma daha 莽ox texniki, n蓹 Y蓹qin qaytar谋lmas谋 GetString?
>> Auditoriya: bir 眉nvan.
>> HOPARL脰R 1: An 眉nvan谋.
X眉susil蓹 onun 眉nvan谋 qaytar谋r bu n蓹 ilk bite.
M蓹n yaln谋z bir, iki, 眉莽 istifad蓹 saxlamaq onu rahat 莽眉nki.
>> Bu ilk 眉nvan谋 qaytar谋r simli xarakterli.
V蓹 biz 枚t蓹n h蓹ft蓹 bildirib ki, ki, kifay蓹t ed蓹r.
Biz h蓹mi艧蓹 anlamaq bil蓹r, 莽眉nki burada simli sonunda sad蓹c蓹
bir m眉dd蓹t il蓹, b蓹lk蓹 art谋q iterating loop v蓹 ya kimi bir m眉dd蓹t loop v蓹 ya bir 艧ey
ki, yaln谋z "backslash 0" axtar谋r x眉susi Sentinel xarakter.
>> V蓹 sonra bilirik ki string uzunlu臒u olmaq olur -
Bu halda -
be艧.
Bel蓹 ki, texniki GetString n蓹 bu halda Ox123 qaytar谋r edir.
V蓹 texniki sonra n蓹 olur ki, s daxilind蓹, Ox123 saxlamay谋n.
G眉n眉n sonunda h蓹tta bu olsa yeni konsepsiya, g枚st蓹ricil蓹r, onlar etdiyiniz olunur
yaln谋z d蓹yi艧蓹nl蓹r.
Amma onlar bit saxlamaq 眉莽眉n ba艧 ver蓹n kollektiv bir 眉nvan t蓹msil edir.
Bel蓹 ki, texniki c蓹h蓹td蓹n b眉t眉n bunlar olur s saxlan谋l谋r Ox123 edir.
>> Insanlar kimi deyil, biz -
Bu g眉n ir蓹li daxil olmaqla -
h蓹qiq蓹t蓹n, ad蓹t蓹n, qay臒谋 niyy蓹tind蓹 deyil faktiki 眉nvan n蓹
yadda艧 b蓹zi y谋臒谋n edir.
Bu, sad蓹c蓹 蓹trafl谋 a艧a臒谋 s蓹viyy蓹d蓹 var intellektual maraql谋 ola bil蓹r.
M蓹n bu geri gedir蓹m.
V蓹 蓹v蓹zin蓹, daha y眉ks蓹k s蓹viyy蓹si, yaln谋z dem蓹k ki g枚st蓹ricil蓹rin蓹 b蓹hs etdiyiniz zaman
M蓹n yaln谋z daha 莽ox c蓹lb etm蓹k gidiyorum d蓹 k枚莽眉r眉r ki, istifad蓹莽i dostu arrow
Eyni fikir v蓹 uzaq 枚zet ki, faktiki n蓹 枚z蓹llikl蓹ri
蓹sas 眉nvan谋.
>> Biz kodu geri 陌ndi, 蓹g蓹r n蓹 biz string t varsa, ke莽蓹n h蓹ft蓹 ba艧 vermi艧
GetString b蓹rab蓹rdir?
Salam yax艧谋, m蓹n 蓹g蓹r n枚v眉 M蓹n almaq 眉莽眉n gidiyorum bu d蓹f蓹
yadda艧 bir y谋臒谋n.
h-e-l-l-o backslash 0.
>> Amma GetString adl谋 莽眉nki ikinci d蓹f蓹 -
v蓹 m蓹n baxaraq bu bilirik GetString 眉莽眉n m蓹nb蓹 kodu - h蓹tta
bu salam idi ki, t蓹sad眉fi baxmayaraq iki d蓹f蓹 莽ap, GetString deyil
optimize 眉莽眉n c蓹hd etm蓹k niyy蓹tind蓹dir v蓹 a臒谋ll谋 ola bil蓹r.
Bu yaln谋z bir y谋臒谋n almaq olacaq olan komp眉ter, g蓹l蓹n yadda艧
ba艧qa 眉nvanda olacaq.
脰zba艧谋na yaln谋z 456 Dey蓹k.
>> V蓹 sonra n蓹 qay谋tmaq 眉莽眉n gedir?
Bu 456 qaytarmaq olacaq t bu saxlamay谋n.
B蓹s h蓹qiq蓹t蓹n d蓹, davam edir sol t蓹r蓹find蓹 m蓹n bir y谋臒谋n var
yadda艧, 32 bit ad蓹t蓹n.
V蓹 orada Ox456 getm蓹k gedir.
Ancaq yen蓹 d蓹, m蓹n bu maraql谋 deyil蓹m art谋q x眉susi n枚mr蓹l蓹ri.
M蓹n yaln谋z abstractly gidiyorum ox kimi c蓹lb edir.
>> Bel蓹likl蓹, bu art谋q yeni bir izah谋 yoxdur.
Lakin bu ki, eyni d蓹qiq fikir B眉t眉n bu zaman ba艧 vermi艧dir.
V蓹 bu s蓹b蓹bd蓹n, sonra bu ilk m眉qayis蓹 versiyas谋 arabas谋 idi
Ke莽蓹n h蓹ft蓹 niy蓹?
S-d蓹k t蓹艧kil b蓹rab蓹r, 蓹g蓹r n蓹 zaman 茝g蓹r h蓹qiq蓹t蓹n n蓹 t
ba艧l谋q m眉qayis蓹 alt谋nda?
>> Siz 眉nvanlar谋 m眉qayis蓹 edirik.
V蓹 yaln谋z daxil蓹n, ayd谋n, Ox123 b蓹rab蓹r Ox456 etm蓹k niyy蓹tind蓹 deyil.
Bu 蓹d蓹d, h蓹min bit yaln谋z f蓹rqlidir.
>> V蓹 bel蓹c蓹 ard谋c谋l, ke莽蓹n h蓹ft蓹 bildirib siz f蓹rqli 艧eyl蓹r yaz谋n, h蓹tta
s枚zl蓹ri kelimesi kelimesine eyni idi.
Bel蓹likl蓹, biz bu d眉zeltmek.
Layman nin bax谋m谋ndan, d眉zeltme n蓹 idi?
>> Auditoriya: bir funksiyas谋 istifad蓹 edin.
>> HOPARL脰R 1: funksiyas谋 istifad蓹 edin.
V蓹 ya ulduz m眉tl蓹q c蓹lb olunur, lakin n蓹 bir funksiyas谋 istifad蓹?
>> Auditoriya: strings m眉qayis蓹 etm蓹k 眉莽眉n.
>> HOPARL脰R: 1 strings m眉qayis蓹 etm蓹k 眉莽眉n.
Bel蓹 ki, burada 蓹sas problem idi M蓹n yaln谋z n蓹z蓹rd蓹n ki,
m眉蓹yy蓹n etm蓹k 眉莽眉n strings keyfiyy蓹t 眉nvanlar谋n谋 m眉qayis蓹si.
V蓹 a莽谋q-ayd谋n ki, indi bir d蓹f蓹 yaln谋z lal var siz neler anlamaq
ba艧l谋q alt谋nda.
H蓹qiq蓹t蓹n g枚rm蓹k 眉莽眉n strings m眉qayis蓹 蓹g蓹r onlar ki, bir insan yol b蓹rab蓹r ist蓹yirik
iki strings b蓹rab蓹r hesab olard谋 biz onlar谋 xarakteri il蓹 m眉qayis蓹 etm蓹k laz谋md谋r
xarakter 眉莽眉n xarakter.
>> 陌ndi h蓹yata bil蓹r var Bu 莽ox maraqs谋z.
Amma familiarly, biz ist蓹yirik loop 眉莽眉n istifad蓹 edir.
V蓹 yaln谋z s bracket et t bracket i qar艧谋 i.
t bracket qar艧谋 bracket i m眉sb蓹t 1 i plus 1, s, daxili
loop bir n枚v.
V蓹 hesab edir蓹m ki, h蓹r iki simvol spot 蓹g蓹r f蓹rql蓹nir, v蓹 ya ooh ki, h蓹yata 蓹g蓹r, s
t 莽ox t daha q谋sa v蓹 ya daha uzun M蓹n d蓹rhal, yalan dey蓹 bil蓹r蓹m
onlar eyni deyilik.
>> Amma s t vasit蓹sil蓹 almaq v蓹 deyirl蓹r ki, 蓹g蓹r eyni, eyni, eyni, eyni, eyni, son
h蓹m strings, dey蓹 bil蓹r蓹m Do臒rudur, onlar b蓹rab蓹rdir.
Yax艧谋, t蓹艧蓹kk眉rl蓹, il 蓹vv蓹l kims蓹 bizim 眉莽眉n kodu yaz谋b.
>> V蓹 onlar StrComp 莽a臒谋r谋b Simli m眉qayis蓹 眉莽眉n.
V蓹 bu bir az counter var olsa bel蓹, o halda intuitiv, StrComp 0 qaytar谋r
iki strings, S v蓹 T eynidir.
Lakin bu m蓹nfi d蓹y蓹r qaytar谋r 蓹g蓹r s v蓹 ya t 蓹lifba 蓹vv蓹l g蓹lm蓹k laz谋md谋r
o g蓹ls蓹 m眉sb蓹t d蓹y蓹r t 蓹lifba s谋ras谋 sonra.
>> Siz he莽 bir 艧ey d眉zm蓹k ist蓹yir蓹m 蓹g蓹r, bu StrComp faydal谋 oldu臒unu 莽谋x谋r.
Yaln谋z dem蓹k deyil, 莽眉nki he莽 bir v蓹 ya b蓹li, b蓹rab蓹r v蓹 ya deyil.
Bu sifari艧 hissi verir Bir l眉臒蓹t q眉dr蓹t kimi.
StrComp Bel蓹 ki, s verg眉l t b蓹rab蓹rdir 0 vasit蓹l蓹ri b蓹rab蓹rdir ki,
strings h蓹qiq蓹t蓹n b蓹rab蓹rdir.
Kim bu funksiya yazd谋 脟眉nki il 蓹vv蓹l ehtimalla loop 眉莽眉n istifad蓹
kimi v蓹 ya bir m眉dd蓹t loop v蓹 ya bir 艧ey yen蓹 simvol 眉z蓹rind蓹 inteqrasiya
v蓹 t蓹krar.
>> Ancaq problem iki burada yaranm谋艧d谋r.
Bu copy0.c idi.
V蓹 q谋rm谋z谋 iki bu flawed, 莽眉nki.
V蓹 biz burada n蓹 idi?
B蓹li, ilk n枚vb蓹d蓹 GetString 莽a臒谋r谋b.
V蓹 m蓹n s qaytar谋lmas谋 d蓹y蓹r saxlan谋l谋r.
Bel蓹 ki, olduqca 莽ox eyni var 艧蓹kil bu 眉st hiss蓹si.
>> B蓹s bundan sonra g蓹lir?
Yax艧谋, m蓹n蓹 davam v蓹 xilas ed蓹k Bu b眉t眉n d蓹st蓹 edir.
Biz biz yaln谋z vaxt geri olacaq 陌ndi uy臒un olan s var,
x蓹tti var biri.
>> I yoxlay谋n.
S-d蓹k t蓹艧kil edin 0 b蓹rab蓹rdir.
陌ndi tez t蓹r蓹fd蓹n qeyd zaman GetString 0 qay谋tmaq bil蓹r?
Kifay蓹t q蓹d蓹r yadda艧 var deyil.
Sa臒?
>> Ki, bu ba艧 ver蓹c蓹k ki, nadir 蓹lb蓹tt蓹 ki, bir komp眉ter haqq谋nda
v蓹 ya Megs y眉zl蓹rl蓹 var RAM h蓹tta gigs.
Amma bu, n蓹z蓹ri, qay谋tmaq bil蓹r 0, x眉susil蓹, 蓹g蓹r
istifad蓹莽i 蓹m蓹kda艧l谋q etmir.
Siz var kimi iddia yollar谋 var inputted bir 艧ey v蓹 oyun
Qaytar谋lmas谋 daxil GetString S蓹m蓹r蓹li 0.
>> Bel蓹 ki kontrol olacaq.
茝g蓹r h蓹r hans谋 ba艧lam谋艧d谋r 脟眉nki 蓹g蓹r , art谋q b枚l眉mleme 莽at谋艧mazl谋qlar almaq -
olan y蓹qin ki, bir m蓹nb蓹 olmu艧dur B蓹zi m蓹yusluq -
o dem蓹k olar ki, h蓹mi艧蓹 n蓹tic蓹si yadda艧 ba臒l谋 s蓹hv.
El蓹 bir il蓹 ba臒l谋 messed siz d蓹rk etm蓹yib h蓹tta 蓹g蓹r g枚st蓹rici
bir g枚st蓹rici var idi.
Bel蓹 ki, seqmentasiya induksiya bil蓹r istifad蓹 ed蓹r蓹k h蓹ft蓹d蓹 bir h蓹l蓹 莽at谋艧mazl谋qlar
loop v蓹 ya bir m眉dd蓹t kimi bir 艧ey 莽ox uzaq ged蓹r蓹k loop v蓹 bir s谋ra
b蓹zi serial谋n s蓹rh蓹dl蓹ri ke莽mi艧 ki, Siz h蓹ft蓹 iki elan
x眉susi.
>> Siz h蓹tta problemi bunu bil蓹rdi Breakout d枚rd se莽in.
Y蓹qin g枚rm蓹mi艧ik baxmayaraq 眉莽眉n paylama kodu h蓹r hans谋 bir ulduz
Breakout, bu 莽谋x谋r ki, h蓹min GRect v蓹 GOval v蓹 dig蓹r bu kimi 蓹艧yalar,
o faktiki g枚st蓹ricil蓹r var ba艧l谋q alt谋nda.
>> Bizim kimi Ancaq Stanford, gizl蓹dir n枚v ki, 蓹trafl谋 蓹n az谋 kitabxanalar 眉莽眉n
m蓹qs蓹dl蓹ri, 莽ox biz kimi string v蓹 char * 眉莽眉n.
Lakin GRect v蓹 GOval v蓹 bu b眉t眉n Siz u艧aqlar v蓹 ya 艧eyi istifad蓹 edil蓹c蓹k
Bu h蓹ft蓹 n蓹tic蓹d蓹 var yadda艧 眉nvanlar谋.
Siz yaln谋z bilmir蓹m.
>> Bel蓹 ki, b蓹lk蓹, sonra t蓹蓹cc眉bl眉 deyil b蓹zi 眉z蓹rind蓹 s蓹yah蓹t ed蓹 bil蓹r ki,
seqmentasiya 莽at谋艧mazl谋qlar.
Amma indi burada maraql谋 n蓹 var biz 0 kontrol sonra 蓹g蓹r
string t s olur.
Yax艧谋, m蓹n蓹 t b蓹yan ed蓹k.
M蓹n bir kvadrat kimi c蓹lb etm蓹k gidiyorum 32 bit, bu t deyirik.
V蓹 sonra m蓹n gedir蓹m s olur.
>> Yax艧谋 ki, n蓹 dem蓹kdir?
B蓹li, bu d眉艧眉nm蓹k 眉莽眉n bir az 莽蓹tindir haqq谋nda m眉drik 艧蓹kil.
Lakin ed蓹k haqq谋nda d眉艧眉nm蓹k x daxilind蓹 n蓹 var?
Bu d蓹yi艧蓹n daxilind蓹 s枚z眉n n蓹dir?
D蓹y蓹ri Ox123.
>> Yaln谋z Bel蓹likl蓹, m蓹n dey蓹nd蓹 string T S olur ki, sanki say谋, dem蓹kdir
s, bu Ox123 v蓹 bu Ox123 qoydu.
V蓹 ya pictorially, 蓹g蓹r m蓹n c眉r abstrakt 眉z ki, 蓹trafl谋 onu o
sanki bunu t蓹siri Bu h蓹m莽inin.
>> Bel蓹 ki, indi, ke莽蓹n h蓹ft蓹 geri hesab zaman biz kapitalist T. I davam
T bracket 0 etdi.
B蓹li, bu bir T bracket 0, bel蓹 olsa pointer, onu sanki m眉alic蓹 ed蓹 bil蓹rsiniz
bir kvadrat il蓹 bir s谋ra var bracket notation.
>> Bel蓹likl蓹, harada T bracket 0 n蓹dir?
B蓹li, bu h var.
V蓹 biz kodu ki, x蓹tt istifad蓹 ed蓹rk蓹n, C type.h olan iki yuxar谋,
header file ki, nerde b蓹yan edir.
Bu H. h蓹rfl蓹 Amma edirik 茝lb蓹tt蓹 ki, ki, eyni d蓹qiq h var
s daxilind蓹, bel蓹 dan谋艧maq.
V蓹 indi siz v蓹 ya d蓹yi艧ib kapitalla艧d谋r谋l谋r orijinal v蓹 h蓹m d蓹
sur蓹ti deyil蓹n.
Siz bir sur蓹ti etm蓹diyini 脟眉nki bir insan onu ist蓹yir蓹m ki, yol.
>> Bel蓹 ki, burada d眉zeltme, n蓹 idi copy1.c ke莽蓹n h蓹ft蓹?
Funksiyalar谋, bel蓹 ki, biz, h蓹qiq蓹t蓹n ola bil蓹r simli sur蓹ti.
V蓹 蓹sasl谋, biz n蓹 laz谋md谋r simli sur蓹ti 眉莽眉n n蓹?
>> Yax艧谋, burada bu ya艧谋l versiya Ben kifay蓹t q蓹d蓹r a艧a臒谋 s蓹viyy蓹d蓹 ed蓹c蓹ks蓹n.
Funksiyalar谋 h蓹qiq蓹t蓹n var onlar bu k枚m蓹k ed蓹 bil蓹r.
Lakin 蓹n 蓹sas biri v蓹 蓹n tan谋艧 bir, 蓹n az谋, tezlikl蓹 olacaq
biz蓹 tan谋艧, a艧a臒谋dak谋 deyil -
Bel蓹 ki, ilk line bir ya艧谋l kodu indi.
>> M蓹n yaln谋z char * s rewrote.
He莽 bir funksional var var f蓹rq.
M蓹n yaln谋z CS50 kitabxana 眉z atd谋 v蓹 M蓹n bunu bir char * edir n蓹 z蓹ng al谋ram.
>> 陌ndi n枚qt蓹, n枚qt蓹, n枚qt蓹, var idi, 莽眉nki deyil ki, b蓹zi s蓹hv yoxlan谋lmas谋
yen蓹 haqq谋nda dan谋艧maq maraql谋.
Bel蓹 ki, indi t elan edilir.
Bu da bir char * edir.
Bel蓹 ki, m蓹n bir az kvadrat 莽蓹kdi 蓹vv蓹l kimi ekran.
>> Amma sa臒 t蓹r蓹find蓹, malloc, biz yadda艧 ayr谋lmas谋 oldu臒unu s枚yl蓹di.
Bel蓹 ki, yadda艧 bir y谋臒谋n ay谋r谋rlar.
V蓹 biz, h蓹qiq蓹t蓹n, ne莽蓹 bayt etm蓹k ay谋rmaq ist蓹yir蓹m, g枚r眉n眉r edir?
>> Yax艧谋, s simli uzunlu臒u.
Bu salam ki var Bel蓹 ki, 蓹g蓹r be艧 olacaq.
Biz h-e-l-l-o dem蓹k laz谋md谋r.
Be艧 bayt bel蓹.
>> Amma sonra 1 plus, niy蓹 1?
Bu 0 xarakter.
Biz bu adam 眉莽眉n ota臒谋 t蓹rk etm蓹yin, biz t蓹sad眉f蓹n bir v蓹ziyy蓹t yarada bil蓹r
simli oldu臒u h-e-l-L-o.
V蓹 sonra n枚vb蓹ti d蓹f蓹 GetString edir adl谋 v蓹 m蓹n m蓹s蓹l蓹n, yaz谋n
David, D-a-v-i d, komp眉ter gedir s 蓹slind蓹 d眉艧眉nm蓹k
h-e-l-l-o-d-a-v-i d var, 莽眉nki Bu s枚zl蓹r aras谋nda fasil蓹 yoxdur.
>> Bel蓹 ki, fasil蓹 laz谋md谋r.
Bel蓹likl蓹, biz be艧 ist蓹mirik.
Biz alt谋 bayt ist蓹yirik.
>> V蓹 bytes deyir蓹m.
Amma bu char h蓹qiq蓹t蓹n vaxt 枚l莽眉s眉 var.
Texniki char dem蓹k olar ki, h蓹mi艧蓹 bir byte.
>> Amma yaln谋z bizim kodu portativ etm蓹k, bel蓹 ki, 眉z蓹rind蓹 i艧l蓹yir, bel蓹 ki, dan谋艧maq
m眉xt蓹lif komp眉ter h蓹tta bil蓹r, 蓹g蓹r alt谋ndak谋 q蓹d蓹r f蓹rqli ola
ba艧l谋q, m蓹n 眉mumi olaraq gidiyorum char dem蓹k 枚l莽眉s眉 ki,
M蓹nim kodu h蓹mi艧蓹 莽al谋艧谋r.
V蓹 m蓹n yaln谋z derleyece臒iz yoxdur M蓹n komp眉ter y眉kseltmek v蓹 ya istifad蓹 莽眉nki
bir s谋ra m眉xt蓹lif platforma.
>> Bel蓹 ki, I 6 d蓹f蓹 枚l莽眉s眉 var 1 olmaq olur bir char.
Bel蓹 ki vasit蓹l蓹ri malloc bil蓹r M蓹n蓹 alt谋 bayt verir.
H蓹qiq蓹t蓹n etdiyini n蓹dir?
Yax艧谋, m蓹n蓹 burada vaxt geri roll imkan biz hekay蓹 oldu臒u 眉莽眉n.
>> Burada geri Bel蓹 ki, m蓹n b蓹yan etdik t adl谋 char *.
陌ndi alt谋 bytes 眉莽眉n malloc 莽a臒谋r谋b etdik.
陌ndi is蓹 o alt谋 c蓹lb etm蓹k gidiyorum yaln谋z serial谋n 蓹vv蓹lki kimi bayt.
Amma h蓹qiq蓹t蓹n n蓹 bilmir蓹m Bu serial谋n i莽蓹risind蓹.
>> Siz yadda艧 ayr谋lmas谋, 蓹g蓹r 莽谋x谋r ki, b蓹zi var ki, etibar ed蓹 bilm蓹z
orada m蓹lumdur d蓹y蓹ri.
Bu 艧ey t蓹r蓹find蓹n istifad蓹 edilmi艧 ola bil蓹r ba艧qa, b蓹zi dig蓹r funksiyas谋, b蓹zi dig蓹r
茝g蓹r wrote kodu x蓹tti.
Bel蓹likl蓹, biz 眉mumiyy蓹tl蓹 bu zibil arayaca冒媒m d蓹y蓹rl蓹r v蓹, b蓹lk蓹 d蓹, onlara he莽-he莽蓹
sual i艧ar蓹l蓹ri, yaln谋z ifad蓹 ed蓹n biz orada h蓹qiq蓹t蓹n n蓹 bilmir蓹m.
V蓹 bel蓹 uzun biz he莽 bir b枚y眉k var o 眉zerine kifay蓹t q蓹d蓹r a臒谋ll谋
zibil n枚mr蓹l蓹r d蓹y蓹rl蓹r v蓹 ya Biz qay臒谋 ki chars.
>> Bel蓹 ki, bu halda n蓹 m蓹n n蓹 ed蓹c蓹y蓹m?
Yax艧谋, m蓹nim line kodu N枚vb蓹ti, m蓹n d枚rd var.
i 0 almaq int, n al谋r s simli uzunlu臒u.
Loop 眉莽眉n bel蓹 bir tan谋艧.
M蓹n daha az v蓹 ya n b蓹rab蓹rdir olan ad蓹t蓹n 眉st眉nd眉r.
>> Ancaq bu d蓹f蓹 q蓹sd蓹n var.
I + +, v蓹 sonra m蓹n sad蓹c蓹 bunu t bracket i s olur.
M蓹nim 艧蓹kil bu kimi g枚r眉n眉r, 莽眉nki t saxlan谋l谋r bu an deyil
yadda艧 ki, t蓹sad眉fi y谋臒谋n 眉nvan谋 kimin d蓹y蓹rl蓹r m蓹lum deyil.
Amma tezlikl蓹 t bracket kimi Burada m蓹ni qoyur 0.
>> V蓹 orada n蓹 t蓹rtib 蓹ld蓹 bitir?
Biz h qoyulmas谋 olacaq.
Ki, s bracket 0 budur 莽眉nki.
V蓹 sonra eyni 艧ey e v蓹 l, l, o.
>> n, niy蓹 vasit蓹sil蓹 getm蓹k idi n b蓹rab蓹r?
Da 0 xarakterli idi.
Bel蓹 ki, yaln谋z sonra, ayd谋n olmaq, 蓹g蓹r m蓹n h蓹qiq蓹t蓹n 眉莽眉n silm蓹k n蓹 bu zibil
d蓹y蓹rl蓹rdir v蓹 sonra h蓹qiq蓹t蓹n c蓹lb M蓹n g枚zl蓹m蓹k n蓹, bu s bracket 1, 2, edir
3, 4, 眉st蓹g蓹l ki, arxada oldu yeni xarakter.
>> V蓹 indi biz dot ke莽mi艧 davam ed蓹rs蓹, Bu do臒ru versiyas谋 n枚qt蓹, n枚qt蓹
v蓹 kapitalla艧d谋r谋lm谋艧 t bracket 0 edir蓹m ki, 茝lb蓹tt蓹, b枚y眉k h蓹rfl蓹 etm蓹k yaln谋z bu
Burada o臒lan, hans谋 konseptual, n蓹tic蓹d蓹 qolu oldu.
Bel蓹 ki, b眉t眉n g枚st蓹ricisidir.
>> V蓹 h蓹ft蓹 眉莽眉n onlara istifad蓹 etdik 陌ndi strings kontekstind蓹.
Amma ba艧l谋q alt谋nda onlar ist蓹yirik bir az daha kompleks.
Amma bu onlar haqq谋nda d眉艧眉ns蓹niz b蓹dii forma onlar ist蓹yirik ki, t蓹klif
Onlar y蓹qin ki, b眉t眉n qorxudan deyil 陌lk bax谋艧dan g枚r眉n蓹 bil蓹r,
x眉susil蓹 d蓹 yeni sintaksis il蓹.
G枚st蓹ricil蓹rin蓹 h蓹r hans谋 bir sual, strings v蓹 ya chars?
B蓹li?
>> Auditoriya: geri getm蓹k ed蓹 bil蓹r Bu [i艧itilemez] 眉莽眉n?
>> HOPARL脰R 1: Sure.
>> Auditoriya: Sizin son g蓹lm蓹k Bel蓹 ki, nec蓹 line, bir * t x蓹tti yoxdur
v蓹 * s x蓹ttind蓹?
Siz istinad yoxdur -
>> HOPARL脰R 1: Ah, h蓹qiq蓹t蓹n yax艧谋 sual.
Neden * t v蓹 * s yoxdur?
脟眉nki bizim kimi q谋sa, ke莽diyimiz h蓹ft蓹 funksiyas谋 d蓹yi艧dirm蓹k, m蓹n ki, dem蓹k idi
siz bir g枚st蓹rici vasit蓹si var Biz kimi orada getm蓹k olan
fiziki s蓹hn蓹d蓹, h蓹qiq蓹t蓹n oldu ulduz operator istifad蓹 edin.
>> O 莽谋x谋r ki, bu kvadrat m枚t蓹riz蓹 notation biz sintaktik arayaca冒媒m n蓹
yaln谋z bir sexy yolu olan 艧蓹k蓹r, 眉莽眉n, bu stenoqrafiya notation dey蓹r蓹k
siz t蓹svir etdiyiniz d蓹qiq n蓹.
Amma bir az daha asan var.
V蓹 edilm蓹si riski daha 莽ox g枚r眉n眉r bu olmal谋d谋r 莽ox m眉r蓹kk蓹b
n蓹 h蓹qiq蓹t蓹n burada davam a艧a臒谋dak谋 kimidir -
M蓹n dem蓹kdir * t ki, 蓹g蓹r getm蓹k 眉nvan谋 t saxlan谋l谋r.
>> Bel蓹 ki, sanki saxlan谋lmas谋 t 蓹g蓹r ki, h 眉nvan谋
ilkin * t vasit蓹l蓹ri burada gedin.
陌ndi, t bracket 0 n蓹 dem蓹kdir?
Eyni d蓹qiq 艧ey.
Bu, sad蓹c蓹 bir az daha 莽ox istifad蓹莽i var yazmaq 眉莽眉n dost.
>> Amma m蓹n h蓹l蓹 h蓹yata deyil蓹m.
M蓹n yaln谋z * t * s olur dey蓹 bilm蓹r蓹m.
脟眉nki sonra n蓹 olacaq?
M蓹n h, h, h, f, h qoyulmas谋 olar谋q b眉t眉n 艧ey verir.
Sa臒?
>> * T 脟眉nki t 眉nvana gedin.
Amma biz bir loop daxilind蓹 ist蓹yirik.
V蓹 n蓹 d蓹y蓹r m蓹n incrementing am 茝lb蓹tt蓹, h蓹r bir iteration haqq谋nda?
i.
>> Amma imkan var burada, sa臒?
Bu 蓹ld蓹 kimi bu hiss olsa bir az daha m眉r蓹kk蓹b
kvadrat-bracket notation 莽ox Biz bir ne莽蓹 d蓹f蓹 istifad蓹 etdiyiniz -
M蓹n蓹 orada m蓹nim h d蓹yi艧iklik geri ed蓹k -
indi bir az 蓹ld蓹 olunur, baxmayaraq ki, merakl谋s谋, 蓹sas fikir, 蓹g蓹r * t
burada dem蓹kdir v蓹 * t yaln谋z t 眉nvana gedin.
>> Amma t 眉nvan n蓹 idi?
Biz istifad蓹 saxlamaq say谋?
Ox456 kimi, ki, geri g蓹tirsin yaln谋z m眉zakir蓹 namin蓹.
Yax艧谋, m蓹n d蓹 e almaq ist蓹yirsinizs蓹, t simli, m蓹n yaln谋z getm蓹k ist蓹yir蓹m
mahiyy蓹tc蓹, 456.
>> Daha do臒rusu, 457.
M蓹n yaln谋z bir 蓹lav蓹 etm蓹k laz谋md谋r.
Amma do臒ru, bunu ed蓹 bil蓹r?
T, m蓹n r蓹sm saxlamaq, h蓹tta 脟眉nki 陌ndi bir arrow kimi, o, yaln谋z bir var
say谋, Ox456.
V蓹 m蓹n bir 蓹lav蓹 v蓹 ya daha 莽ox 眉mumiyy蓹tl蓹, m蓹n ki, m蓹n 蓹lav蓹 蓹g蓹r
M蓹n ist蓹yir蓹m tam olaraq 蓹slind蓹 almaq.
Bel蓹likl蓹, m蓹n h蓹qiq蓹t蓹n bu 蓹g蓹r -
v蓹 bu indi deyirl蓹r n蓹 pointer hesab -
M蓹n bu x蓹tt ed蓹 bil蓹rsiniz.
S蓹mimi, olan, m蓹n ayd谋n v蓹 hesab edir蓹m ki, oxumaq 眉莽眉n bir az daha 莽ox istifad蓹莽i dostu.
Amma bu he莽 d蓹 az d眉zg眉n deyil.
>> Kodu Bu x蓹tt art谋q istifad蓹 edir g枚st蓹rici hesab.
Bu getm蓹k dey蓹n oldu a艧a臒谋dak谋 眉nvan谋 -
t ba艧lan臒谋c n蓹 olursa olsun, hans谋 olan ilkin t plus i ki,
b枚y眉k olan, 0 edir.
Ki, t 蓹vv蓹lind蓹 dem蓹kdir, 莽眉nki plus 1, plus 2, 眉st蓹g蓹l 3 v蓹 s.
S, eyni i艧.
>> Bu bel蓹 sintaktik 艧蓹k蓹r.
Amma anla艧ma n蓹 h蓹qiq蓹t蓹n davam ba艧l谋q alt谋nda, m蓹n iddia edir蓹m
枚z眉 v蓹 蓹slind蓹 faydal谋d谋r.
Orada deyil indi dem蓹kdir, 莽眉nki daha sehrli davam
ba艧l谋q alt谋nda.
脟ox daha 莽ox var niyy蓹tind蓹 deyil sizin 眉莽眉n qab谋臒谋 geri ed蓹 bil蓹r ki, qat-qat.
Bu c edir.
Bu proqramla艧d谋rma edir.
Sual H蓹qiq蓹t蓹n yax艧谋.
>> B眉t眉n sa臒, bel蓹 ki, bu u艧aq arabas谋 idi M蓹n 蓹vv蓹ll蓹r istinad proqram谋.
m眉badil蓹 flawed idi.
I艧 g枚r眉n眉r 茝g蓹r.
Yaln谋z s眉d il蓹 kimi v蓹 Xat谋rladaq ki, ki, porta臒al 艧ir蓹si - I ba艧layan
bu g眉nki n眉mayi艧in i莽m蓹li.
Bel蓹 ki, yaln谋z porta臒al 艧ir蓹si il蓹 kimi s眉d, biz istifad蓹 etm蓹k var idi
m眉v蓹qq蓹ti d蓹yi艧蓹n tmp, bir ke莽ir蓹c蓹k m眉v蓹qq蓹ti olaraq bel蓹 ki, sonra ola bil蓹r
b yenil蓹m蓹 sonra 枚z d蓹y蓹rini d蓹yi艧dirm蓹k v蓹.
>> Amma bu funksiyan谋 dedik, v蓹 ya bu bu funksiya olan proqram
yaz谋l谋 s蓹hv v蓹 flawed idi, niy蓹?
B蓹li?
>> Auditoriya: [i艧itilemez].
>> HOPARL脰R 1: M蓹hz, zaman Siz svop z蓹ng -
v蓹 ya daha 莽ox, 眉mumiyy蓹tl蓹, zaman 蓹n h蓹r hans谋 bir funksiya z蓹ng -
ki, funksiyas谋 d蓹lill蓹ri 蓹g蓹r ibtidai, bel蓹 dan谋艧maq, ints v蓹 chars
v蓹 莽iftler v蓹 眉z眉b gedirdi, h蓹r 艧eyi olmadan ulduz, siz sur蓹ti ke莽ir
m眉bahis蓹.
X 1 idi v蓹 y 2 Bel蓹 ki, 蓹g蓹r gedir 1 olmaq v蓹 b 2 olacaq.
Lakin onlar m眉xt蓹lif chunks olmaq olacaq bit, m眉xt蓹lif chunks il蓹
saxlan谋lmas谋 眉莽眉n ba艧 yadda艧 eyni d蓹y蓹rl蓹r.
>> Bu M蓹c蓹ll蓹nin m眉k蓹mm蓹l super A v蓹 B d蓹yi艧dirm蓹 edir.
Bu d蓹yi艧dirm蓹 he莽 yax艧谋 -
- 脰t蓹n h蓹ft蓹 n眉mun蓹
x v蓹 y.
Yenid蓹n, onlar ist蓹yirik, 莽眉nki s蓹hv daxilind蓹.
>> 陌ndi biz bu t蓹yinat haqq谋nda nec蓹 getm蓹k idi?
Biz funksiyas谋 etm蓹k idi bir az uglier baxmaq.
Ancaq yen蓹 d蓹, hesab edir Bu yaln谋z dem蓹kdir.
>> V蓹 h蓹qiq蓹t蓹n, ard谋c谋ll谋q 眉莽眉n, m蓹n蓹 bildirin bu eyni bel蓹 bir 艧ey d蓹yi艧m蓹k
biz yaln谋z n蓹.
M蓹n ke莽蓹n h蓹ft蓹 qeyd edildiyi kimi, deyil o gedir olsun.
茝slind蓹, ad蓹t蓹n siz qoymaq olard谋 d蓹yi艧蓹n ad谋n谋n yan谋nda ulduzu.
Amma bir az daha asan olaca臒谋n谋 d眉艧眉n眉r蓹m ki, yan谋ndak谋 * hesab
bu m蓹na kimi data type bir g枚st蓹rici var Bu halda bir int etm蓹k.
>> M蓹n burada n蓹 edir蓹m?
M蓹n蓹 bir int vermir dey蓹n al谋ram ba艧qa int sonra,
onlara v蓹 b 莽a臒谋r谋r.
M蓹n蓹 bir int 眉nvan谋 verin.
O v蓹 b m眉raci蓹t edin.
>> V蓹 sonra * notation a艧a臒谋 istifad蓹 ed蓹r蓹k, A艧a臒谋dak谋 g枚st蓹ril蓹n 眉nvanlardan h蓹r getm蓹k
kimi ya almaq 眉莽眉n laz谋m v蓹 ya onun d蓹y蓹rini m眉蓹yy蓹n edir.
Lakin burada bir istisna var.
Niy蓹 tmp yan谋nda * yoxdur?
Niy蓹, m蓹s蓹l蓹n, bunu yoxdur?
M蓹n b眉t眉n getm蓹k laz谋md谋r kimi hiss h蓹yata v蓹 b眉t眉n 艧ey d眉z蓹ldirik.
B蓹li?
>> Auditoriya: [i艧itilemez].
>> HOPARL脰R 1: M蓹n elan yoxdur bir simli kimi tmp.
Bel蓹likl蓹, bu, bu halda, elan edirik bir tmp bir int 眉nvan谋 olmal谋d谋r.
Amma ki, m蓹n ist蓹yir蓹m 莽ox n蓹 deyil s蓹b蓹bl蓹rd蓹n bir ne莽蓹.
>> Auditoriya: Siz onlar谋 d蓹yi艧dirm蓹k ist蓹mir蓹m.
>> HOPARL脰R 1: M蓹hz, m蓹n d蓹yi艧dirm蓹k ist蓹mir蓹m tmp bir 艧ey. tmp yaln谋z
h蓹ft蓹 bir stuff.
M蓹n ist蓹yir蓹m B眉t眉n d蓹yi艧蓹n deyil B蓹zi say谋 saxlamaq 眉莽眉n.
M蓹n h蓹tta 眉nvanlar谋 haqq谋nda qay臒谋 yoxdur bu anda.
>> M蓹n yaln谋z 32 bit ehtiyac v蓹 ya bel蓹 bir int saxlamaq 眉莽眉n.
V蓹 m蓹n bu 32 bit qoymaq ist蓹yir蓹m n蓹, nec蓹 dey蓹rl蓹r, bir deyil,
yaln谋z daha d蓹qiq des蓹k, bir d蓹 budur.
Bir 眉nvan olduqda, * Bir dem蓹kdir, 莽眉nki orada getm蓹k v蓹 d蓹y蓹ri 1 almaq.
Misal 眉莽眉n, 枚t蓹n h蓹ft蓹 n眉mun蓹 v蓹 ya b i艧ind蓹, 2 d蓹y蓹ri almaq.
>> Bel蓹likl蓹, n蓹 h蓹qiq蓹t蓹n olub?
M蓹n蓹 olacaq ki, burada bir 艧蓹kil 莽蓹km蓹k ed蓹k yaln谋z bu g眉n bir hiss蓹si ayr谋 tease.
Lakin bu g枚r眉n眉r davam ed蓹c蓹k 莽ox bir m眉dd蓹t.
>> Bu, m蓹n iddia, n蓹 komp眉ter edir yadda艧 bir 莽al谋艧t谋rd谋臒谋n谋zda kimi g枚r眉n眉r
proqram, h蓹r hans谋 bir proqram.
Siz 莽ox 眉st bir proqram 莽al谋艧t谋rd谋臒谋n谋zda bilgisayar谋n谋z谋n RAM - bel蓹 hesab
Sizin bu d眉zbucaql谋, h蓹qiq蓹t蓹n, komp眉ter RAM v蓹 ya yadda艧, b眉t眉n 101
bu milyard bayt, b眉t眉n iki milyard bayt, onun b眉t眉n iki gigabayt,
Siz miqdar谋 n蓹 olursa olsun, nin bir d眉zbucaql谋 kimi c蓹lb ed蓹k.
Bir proqram 莽al谋艧t谋rd谋臒谋n谋zda v蓹 m蓹n iddia edir ki, Microsoft Word v蓹 ya Chrome kimi
bu kimi v蓹 ya bir 艧ey ki, bit Microsoft v蓹 ya Google yazd谋 -
h蓹min proqramlar谋n hallarda -
komp眉ter yadda艧 instantly daha icra ed蓹 bil蓹rsiniz
tez v蓹 fed CPU daxil olan komp眉ter beyin deyil.
>> V蓹 TAM onlar 莽ox da depolanmaktad谋r Proqram 眉st, bel蓹 dan谋艧maq.
Y蓹ni, bu bir y谋臒谋n deyil yadda艧, siz ikiqat t谋klad谋臒谋n谋zda
Microsoft Word, bit g蓹lib sabit off.
Onlar RAM instantly almaq.
V蓹 biz 莽ox 眉st onlar谋 it蓹l蓹m蓹k laz谋md谋r konseptual bu d眉zbucaql谋.
>> B蓹li, yadda艧 istirah蓹t m眉xt蓹lif 艧eyl蓹r 眉莽眉n istifad蓹 olunur.
脟ox 眉st siz ba艧lamaq bax m蓹lumatlar uninitialize.
Bu, 莽ox hiss蓹si 眉莽眉n, n蓹 var sabitl蓹ri v蓹 ya qlobal d蓹yi艧蓹nl蓹r
ki, d蓹y蓹rl蓹ri var.
O ba艧qa vaxt, lakin daha 莽ox.
>> Sonra olan y谋臒谋n var biz qay谋da bil蓹rsiniz.
Amma alt olan hiss蓹si x眉susil蓹 indi ilgili.
Bu s枚zd蓹 y谋臒谋n谋 var.
Bel蓹 ki, yaln谋z burada 蓹n h蓹r hans谋 D zal谋nda ist蓹yir蓹m kampus, bu qablar var ki,
yaln谋z olan bir-birin蓹 眉st y谋臒谋n Siz 蓹rzaq v蓹 etajer qoya bil蓹r.
Bir komp眉ter sistemi olan y谋臒谋n谋 莽ox ox艧ard谋r.
Biz istifad蓹 kimi, tray is蓹 ba艧qa yem蓹k zal谋, 蓹lb蓹tt蓹, n蓹z蓹rd蓹 tutulur
艧eyi qablar ke莽irm蓹k v蓹 ya 莽蓹r莽iv蓹sind蓹 -
biz onlara z蓹ng ed蓹c蓹yik kimi - bir komp眉ter il蓹 yadda艧 saxlamaq 眉莽眉n istifad蓹 olunur
d蓹yi艧蓹nl蓹rin v蓹 d蓹y蓹rl蓹r.
>> Bel蓹likl蓹, n蓹 h蓹qiq蓹t蓹n davam edir ba艧l谋q alt谋nda?
B蓹li, m蓹n蓹 art谋q 莽evirmek imkan burada ekran.
V蓹 g蓹l蓹k yaln谋z diqq蓹t bir an 眉莽眉n a艧a臒谋 hiss蓹sind蓹.
Bu m蓹nim alt hiss蓹si deyil komp眉ter yadda艧 莽谋x谋r m蓹n
funksiyas谋 蓹sas z蓹ng - ki, s蓹mimi, ba艧
avtomatik m蓹nim 眉莽眉n -
M蓹n d蓹 yadda艧 y谋臒谋n almaq m蓹nim RAM alt bel蓹 dan谋艧maq.
茝sas oldu臒u v蓹 bu yerli d蓹yi艧蓹nl蓹r gedin.
脺 argc v蓹 argv b蓹lk蓹 bu getm蓹k v蓹 h蓹r hans谋 bir d蓹yi艧蓹nl蓹r I
蓹sas daxilind蓹 b蓹yan edir.
Onlar alt谋ndak谋 son m蓹nim komp眉ter RAM.
>> 陌ndi 蓹sas z蓹ngl蓹r funksiyas谋 G眉man svop kimi, bu kimi ke莽蓹n h蓹ft蓹 idi?
Yax艧谋, biz 蓹h蓹miyy蓹tli bir yeni bir tray qoymaq yadda艧 m蓹nim y谋臒谋n 眉z蓹rind蓹 yeni 莽蓹r莽iv蓹.
V蓹 bu kimi t蓹svir etm蓹k gidiyorum svop funksiyas谋 aid.
>> 陌ndi svop daxilind蓹 n蓹 var?
Yax艧谋, ke莽蓹n h蓹ft蓹ki proqram谋 蓹sas谋nda v蓹 Biz yaln谋z bir al谋nt谋 g枚rd眉m bir,
svop-nin 莽蓹r莽iv蓹 daxilind蓹 v蓹 ya svop 眉zr蓹 tray, n蓹 d蓹yi艧蓹nl蓹r var?
B蓹li, bir v蓹 b.
O, onun yerli d蓹lill蓹ri idi 眉st蓹g蓹l 眉莽眉nc眉, tmp.
Bel蓹 ki, h蓹qiq蓹t蓹n, bu he莽-he莽蓹 ed蓹 bil蓹r bir az daha temiz.
M蓹n蓹 davam v蓹 etiket 蓹vv蓹lki hal谋na qaytar ed蓹k.
V蓹 n蓹 ki, m蓹n蓹 iddia ed蓹k?
>> bir y蓹qin ki, burada son gedir.
B bura q蓹d蓹r gedir.
V蓹 tmp burada bitirm蓹k 眉莽眉n gedir.
陌ndi sifari艧 bil蓹r bir az f蓹rqli ola bil蓹r.
Amma konseptual bu fikirdir.
>> V蓹 yaln谋z kollektiv, bu n蓹 biz m眉badil蓹 nin 莽蓹r莽iv蓹sind蓹 z蓹ng v蓹 ya olacaq
yem蓹kxana tray.
茝sas v蓹 eyni m蓹艧臒ul olur.
Amma yenid蓹n deyil.
Amma ki, oldu臒u argc v蓹 argv v蓹 h蓹r hans谋 bir x v蓹 y kimi onun yerli d蓹yi艧蓹nl蓹rin
el蓹c蓹 d蓹 ola bil蓹r.
>> Bel蓹 ki, indi h蓹qiq蓹t蓹n neler hesab 茝g蓹r m眉badil蓹 z蓹ng zaman.
Kimi svop z蓹ng zaman, icra kodu Bu, siz d蓹, ke莽蓹n edirik
buggy versiyas谋 v蓹 b kimi x v蓹 y sur蓹tl蓹ri.
M蓹n indi bu 莽蓹km蓹k yoxdur Bel蓹 ki, 蓹g蓹r ekranda -
bu daha yax艧谋 almaq var -
M蓹n 枚z眉m眉 s枚yl蓹yirdim hekay蓹 bel蓹 bu buggy versiyas谋 olark蓹n biz
sanki v蓹 b ke莽蓹n m眉badil蓹 z蓹ng integers kimi, n蓹 h蓹qiq蓹t蓹n ba艧 verir?
>> Yax艧谋, n蓹 h蓹qiq蓹t蓹n ba艧 bu.
M蓹n蓹 davam v蓹 yaln谋z 蓹vv蓹lki hal谋na qaytar ed蓹k burada yer t蓹mizl蓹m蓹k 眉莽眉n.
Bel蓹 ki, bu, m蓹nim komp眉ter yadda艧.
>> M蓹n 蓹g蓹r, misal 眉莽眉n -
h蓹qiq蓹t蓹n ed蓹k ki, bu yolla n蓹 -
M蓹n bu saxlan谋lmas谋, x oldu臒unu iddia 蓹g蓹r El蓹 枚t蓹n h蓹ft蓹 kimi d蓹y蓹ri 1.
Bu d蓹y蓹ri saxlan谋lmas谋, y 2 yaln谋z 枚t蓹n h蓹ft蓹 ist蓹yir蓹m.
V蓹 bu, m蓹n svop z蓹ng zaman 蓹sas deyil bununla v蓹 枚z眉m眉 莽谋x谋艧 verilm蓹si
b v蓹 tmp, m蓹n iddia etm蓹k gidiyorum Bu v蓹 bu 1-dir.
>> Bu b edir.
Bu 2-dir.
Bu tmp adlan谋r.
>> V蓹 ilkin, b蓹zi zibil d蓹y蓹ri M蓹n, h蓹qiq蓹t蓹n, bu, bir ma臒aza q蓹d蓹r
olan 1-dir.
Sonra davam v蓹 d蓹yi艧dirm蓹k ne olacaq?
B d蓹y蓹ri.
>> V蓹 indi m蓹n burada iki.
V蓹 sonra biz b tmp al谋r bildirib.
Yen蓹 a臒l谋 ba艧谋nda olma kontrol kimi, 眉莽眉nc眉 burada kodu x蓹tt sad蓹c蓹 bu
bir, b tmp olur.
>> V蓹 bel蓹c蓹 n蓹hay蓹t, m蓹n n蓹 etm蓹liy蓹m?
M蓹n ir蓹li getm蓹k v蓹 b olmaq d蓹yi艧m蓹k n蓹 tmp d蓹y蓹ri 1 olan edir.
M蓹n yen蓹 tmp toxunmay谋n.
>> Amma indi problem tezlikl蓹 svop kimi yekunlar谋, bu verilm蓹si deyil, 莽眉nki
b蓹zi d蓹y蓹ri geri geri d枚n眉艧 yoxdur, var b蓹yanatda bu, a莽谋q-ayd谋n.
H蓹qiq蓹t蓹n n蓹 olub?
B蓹li, mahiyy蓹tc蓹 b眉t眉n bu yadda艧 -
OK, y蓹qin pozan b蓹y蓹nir bir zamanda yaln谋z bir barmaq -
yaln谋z yox.
>> 陌ndi 蓹slind蓹 bu deyil yerd蓹 gedir.
Amma o hesab ed蓹 bil蓹r 陌ndi sual i艧ar蓹l蓹ri kimi.
Art谋q, 莽眉nki h蓹qiq蓹t蓹n istifad蓹.
V蓹 he莽 bir 艧ey o d蓹y蓹rl蓹ri il蓹 apar谋l谋r.
>> Bel蓹 ki, v蓹 ya艧谋l versiyas谋 halda Bu kodu, 蓹v蓹zin蓹 n蓹 olunur
svop ke莽di?
Bel蓹 ki, m眉raci蓹t edir.
Bel蓹 ki, x 眉nvan谋 v蓹 y 眉nvan谋.
Biz el蓹 bu hekay蓹 son bir yenid蓹n dem蓹k vaxt谋 v蓹 m蓹n, h蓹qiq蓹t蓹n, yenid蓹n swap 莽蓹km蓹k
lakin g枚st蓹ricil蓹r il蓹 bu, bir olan b olan v蓹 bu olan tmp, n蓹
蓹slind蓹 bu ya艧谋l bir saxlan谋l谋r M蓹n ke莽蓹n al谋ram m蓹nim kodu versiyas谋
眉nvanlar?
>> Bu x bir g枚st蓹rici olacaq.
Bel蓹likl蓹, m蓹n bir arrow c蓹lb ed蓹 bil蓹r.
Ancaq nin eyni 枚zba艧谋na istifad蓹 ed蓹k 蓹vv蓹lki kimi n眉mun蓹sidir.
G蓹lin bu ki, Ox123 kimi bir 艧ey.
Bu Ox127 olacaq, 莽眉nki bu, 莽眉nki d枚rd bayt 眉z var bir
int, bel蓹 Ox127.
>> V蓹 yen蓹, m蓹n bir azadl谋qlar谋n谋n alaraq al谋ram n枚mr蓹l蓹ri il蓹.
Onlar ki, 莽ox ki莽ik ist蓹yirik h蓹qiq蓹t蓹n f蓹rqli qaydada v蓹.
Amma bu nec蓹 艧蓹kil indi f蓹rqlidir.
>> Amma bu ya艧谋l kodu istifad蓹 ed蓹rk蓹n v蓹 m蓹n int tmp * almaq yoxdur.
, A艧a臒谋dak谋 n蓹 etm蓹k * vasit蓹l蓹ri bir var ki, m眉raci蓹t v蓹 ona getm蓹k
olan 1-dir.
V蓹 m蓹n tmp qoymaq budur.
Bu vaxt, kod n枚vb蓹ti x蓹tti burada * a b olur ki, n蓹 dem蓹kdir?
>> Yax艧谋, * a, bel蓹 ki, burada getm蓹k olur * b, orada getm蓹k dem蓹kdir.
V蓹 oraya d蓹y蓹ri qoymaq dem蓹kdir.
N蓹hay蓹t, kod son x蓹tt sad蓹c蓹 * b tmp al谋r bildirib.
>> Bel蓹 ki, b deyir getm蓹k v蓹 onu yazmaq Bu halda, davam ed蓹n tmp
yen蓹, 1 olmal谋d谋r.
V蓹 bu niy蓹 ya艧谋l versiyas谋 Kod i艧l蓹ri, q谋rm谋z谋 is蓹
versiyas谋 etm蓹di.
Nec蓹 a艧a臒谋 ki, b眉t眉n yaln谋z boils yadda艧 idar蓹 v蓹 harada edir
h蓹qiq蓹t蓹n, sizin yerl蓹艧dirilib komp眉ter RAM.
V蓹 indi 眉莽眉n, ki, h蓹r biri y谋臒谋n谋 眉莽眉n istifad蓹 olunur ki,.
>> Susmaya haqq谋nda suallar?
G枚st蓹ricil蓹rin蓹 haqq谋nda?
V蓹 ya svop haqq谋nda?
>> B眉t眉n sa臒, bel蓹 malloc, geri, bu kimi bir 艧ey idi.
Bu super sad蓹 n眉mun蓹si idi.
V蓹 bu biri oldu臒unu Binky 莽ox olsa, biz蓹 t蓹qdim
tez sinif sonunda.
Dammit, orada biz yen蓹 getm蓹k.
>> Bel蓹likl蓹, bu n眉mun蓹 olurdu ki, Binky olsa biz蓹 t蓹qdim
q蓹d蓹r tez sinif sonunda.
V蓹 burada biz h蓹qiq蓹t蓹n malloc istifad蓹 ikinci d蓹f蓹.
陌lk d蓹f蓹 脟眉nki biz 眉莽眉n istifad蓹 kifay蓹t q蓹d蓹r RAM yaratmaq, kifay蓹t q蓹d蓹r RAM ayr谋lmas谋
bir simli saxlamaq 眉莽眉n.
>> Bu d蓹f蓹 Binky sad蓹 saxlan谋l谋r.
Bel蓹 ki, yaln谋z saxlamaq 眉莽眉n var bir int, y蓹qin.
V蓹 tamamil蓹 g枚z蓹l deyil.
Bu, s蓹mimi, bir az q蓹rib蓹 bir int ayr谋lmas谋 malloc istifad蓹 edin.
Amma Nick claymation n枚qt蓹sind蓹 idi h蓹qiq蓹t蓹n yaln谋z n蓹 hekay蓹sini izah
olur v蓹 ya ba艧 vermir siz yadda艧 pis davranmak.
>> Bel蓹 ki, bu halda, bu proqram bir ne莽蓹 艧ey idi.
Burada Birinci halda, o, b蓹yan bir g枚st蓹rici bir int x 莽a臒谋r谋b.
Daha sonra bir g枚st蓹rici elan bir int Y 莽a臒谋r谋b.
O, x n蓹 ma臒azalar谋nda?
Indi ba艧qas谋.
G枚r蓹 x saxlan谋l谋r olur n蓹 Bu proqram谋n 眉莽眉nc眉 x蓹tt?
>> Auditoriya: [i艧itilemez].
>> HOPARL脰R 1: B蓹li, tamamil蓹 bytes, h蓹r deyirl蓹r.
陌ndi daha d蓹qiq olun.
X n蓹 geliyor?
Bir 眉nvan, m蓹n bunu e艧id蓹nd蓹 d眉艧眉n眉r蓹m.
>> Bel蓹 malloc n蓹 qay谋tmaq edir?
malloc behaviorally ay谋r谋r yadda艧 y谋臒谋n.
Amma nec蓹 ki, siz onu eri艧im verir?
Bu n蓹 qaytar谋r?
Ilk byte yerl蓹艧diyi 眉nvan yadda艧 y谋臒谋n edir.
>> 陌ndi bu super sad蓹dir.
Bu, sad蓹c蓹 bir byte var, hans谋 dem蓹kdir biz geri 蓹ld蓹 etdiyiniz m眉raci蓹t edir
b眉t眉n 艧ey 眉nvan.
Bel蓹likl蓹 x saxlan谋l谋r ki, 眉nvan谋 yadda艧 ki, y谋臒谋n edir.
Bu vaxt, sonra n蓹 olacaq?
Y蓹ni 蓹slind蓹, bu davam imkan v蓹 bunu real s眉r蓹tli c蓹lb edir.
>> Burada ekran 眉z蓹rind蓹 getm蓹k v蓹 蓹g蓹r biz bu h蓹yata oynamaq int * x v蓹 int * y
m蓹nim 眉莽眉n n蓹 ed蓹c蓹k?
M蓹n yaln谋z n蓹 olacaq ki, iddia bu kimi bir 艧ey v蓹 bu x z蓹ng v蓹
Bu v蓹 bu y 莽a臒谋r谋r谋q.
Bu vaxt, kod 眉莽眉nc眉 x蓹tt bir int 枚l莽眉s眉 ay谋rma臒a gedir,
ola olur - dedim 眉zr 蓹g蓹r - M蓹n bir int n蓹z蓹rd蓹 bir 蓹vv蓹l
Tipik bir komp眉ter d枚rd bayt.
Ki, CS50 cihaz 蓹n az谋.
>> Bel蓹likl蓹, bu ayr谋lmas谋 gedir ki, kim bilir?
Somewhere buradan.
V蓹 bu, b蓹zi saxlan谋l谋r 眉nvan 枚k眉z, kim bilir?
Amma n蓹 geri almaq olacaq ki 眉nvan.
Amma biz pictorially bu 莽蓹km蓹k laz谋md谋r ki kimi yaln谋z bir arrow.
>> 陌ndi n枚vb蓹ti line * x 42 olur.
* X layman nin bax谋m谋ndan n蓹 dem蓹kdir?
Sad蓹c蓹 getm蓹k.
Ki, 眉nvana gedin.
V蓹 ya ba艧qa s枚zl蓹, a艧a臒谋da arrow v蓹 orada 42 qoydu.
Ancaq daha sonra pis bir 艧ey ba艧 Binky 眉莽眉n, sa臒?
>> Ki, x蓹tt, burada be艧 Xat谋rladaq * y olur 13, h蓹qiq蓹t蓹n bir 艧anss谋z say谋,
bizim 眉莽眉n n蓹 etdi?
Yax艧谋, * y vasit蓹l蓹ri var gedin.
B蓹li, bu verilm蓹yib , d蓹y蓹ri h蓹l蓹, sa臒?
Kod y olan yoxdur 艧ey ba艧lat谋lm谋艧.
Biz x ba艧lat谋lm谋艧 olunur ki, bir 眉nvan谋.
Lakin y top elan edilib.
Lakin sonra verg眉l, he莽 bir d蓹y蓹r h蓹qiq蓹t蓹n qoyulub.
Bel蓹 ki, bu z蓹ng etm蓹k 眉莽眉n 蓹dal蓹tli nin bir zibil d蓹y蓹r.
Kim n蓹 bilir?
Bu istifad蓹 olunmu艧dur ki, bit qal谋qlar谋 var kod b蓹zi 蓹vv蓹lki x蓹tti il蓹
m蓹nim proqram谋.
>> M蓹n getm蓹k dem蓹k 蓹g蓹r, bu kimi M蓹n bu arrow oldu臒u he莽 bir fikrim yoxdur
sonuna q蓹d蓹r gedir.
Zaman ad蓹t蓹n ki, var bir seqmentasiya g眉nah almaq.
Yanl谋艧l谋kla dereference varsa, 眉莽眉n dan谋艧maq, v蓹 ya deyil ki, bir 眉nvana getm蓹k
蓹slind蓹 bir qanuni 眉nvan谋, pis 艧eyl蓹r ba艧 verir.
>> V蓹 n蓹 oldu d蓹qiq Binky d眉艧眉n眉r眉k.
Bel蓹 ki, Xat谋rladaq ki, Nick idi ki, hekay蓹 burada izah eyni ideyas谋 idi n蓹 kimi
M蓹n ill眉ziya il蓹 t蓹rtib etdik orada 艧uras谋 t蓹ba艧ir.
X v蓹 Y elan olunur.
>> Sonra h蓹cmi ayr谋lan bir int v蓹 x onu saxlan谋l谋r.
Sonra Biz n枚vb蓹ti line * x.
Bu Nick sehrli 莽ubuq olmu艧dur dereferencing edir.
Bu yadda艧 42 qoymaq x il蓹 i艧ar蓹 etdi.
>> Amma bu oldu臒u 艧eyl蓹r horribly yanl谋艧 getdi.
Sa臒?
Biz dereference y 莽al谋艧d谋.
Lakin y sa臒, b蓹zi saxta d蓹y蓹r idi?
>> Alt sol ki, arrow k眉nc deyil
h蓹qiq蓹t蓹n bir 艧ey i艧ar蓹.
Bu n蓹 m蓹n bunu n枚v眉 var 艧uras谋 burada idi.
Bel蓹 ki, pis 艧eyl蓹r ba艧 verir, seqmentasiya Bu halda g眉nah, v蓹 ya Binky g眉nah.
>> Amma biz sonra x etm蓹kl蓹 d眉zeltmek 蓹g蓹r y al谋r nec蓹 hekay蓹 d蓹yi艧iklik edir?
Yax艧谋, m蓹n x 蓹g蓹r ki, y, olur dey蓹n kimi s蓹m蓹r蓹li eyni
Bu n蓹 olursa olsun, 枚k眉z-bir 艧ey , burada eyni olacaq
脰k眉z-bir 艧ey.
V蓹 ya pictorially biz arrow 莽蓹km蓹k laz谋md谋r.
>> Bel蓹 ki, burada Binky il蓹 board 眉zr蓹 nin n枚vb蓹ti x蓹tti il蓹
kodu, * y getm蓹k dem蓹kdir.
Var haradad谋r?
Burada art谋q dem蓹kdir.
>> V蓹 biz 13 olmas谋 yenil蓹m蓹 zaman yaln谋z gedir v蓹 蓹hat蓹
indi burada 13 yaz谋.
Bel蓹 ki, b蓹lk蓹 tamamil蓹 陌lk bax谋艧dan sad蓹.
Amma Recap v蓹 eyni jargon istifad蓹 ki Binky bel蓹 ki, burada istifad蓹 edirdi
陌lk iki, g枚st蓹ricil蓹rin蓹 ayr谋lmas谋 x v蓹 y deyil, pointees.
V蓹 pointees bir deyil 眉mumiyy蓹tl蓹 t蓹biri istifad蓹.
Amma g枚st蓹rici tamamil蓹.
Amma bu, qeyd edib ki, n蓹 var Binky nin nomenklaturas谋nda edir.
>> 茝lb蓹tt蓹 bu n枚vb蓹ti x蓹tti, bir int pointee ay谋r谋r.
Bel蓹 ki, yadda艧 y谋臒谋n - I 眉z蓹rind蓹 莽蓹kdi sa臒 orada yan - v蓹 d蓹sti
x b蓹rab蓹r onu qeyd etm蓹k.
Bu dereferences x 42 saxlamaq 眉莽眉n ona i艧ar蓹 olan yadda艧.
V蓹 bu, 蓹lb蓹tt蓹 ki, pis bir 艧ey idi.
Y i艧ar蓹 deyil, 莽眉nki h蓹l蓹 bir 艧ey.
Bu giderir.
Bel蓹 ki, bu h蓹l蓹 arabas谋 proqramd谋r.
Biz vasit蓹sil蓹 蓹s蓹n edirik M蓹hz x蓹tti v蓹 dey蓹r蓹k code line, yax艧谋 oh,
orada q蓹za bildirin.
Bu pis bir 艧ey var.
Oran proqram yaln谋z olacaq var ki, x蓹tti c蓹mi Abort.
Siz aradan qald谋r谋lmas谋 眉莽眉n, 蓹g蓹r Amma q蓹zaya u臒ray谋b son iki il蓹 girdi v蓹 蓹v蓹z
siz t蓹yin orada x蓹tl蓹ri -
pointer t蓹yin istifad蓹 - y n枚qt蓹si t kimi x qeyd etm蓹k.
V蓹 sonra dereference 莽ox etibarl谋 bir 艧蓹kild蓹 y.
>> Bel蓹 ki, bu bizi t蓹rk edir?
Yax艧谋, ba艧l谋q alt谋nda 莽谋x谋r ki, ki, CS50 kitabxana, g枚st蓹ricil蓹r var
蓹rzind蓹 istifad蓹 olunur.
V蓹 biz h蓹qiq蓹t蓹n soymaq ba艧lars谋n谋z uzun 蓹vv蓹l geri ki, qat谋.
Lakin bu, 莽ox oldu臒unu ifad蓹 ed蓹n 莽evrilir 茝g蓹r b蓹zil蓹ri il蓹 tan谋艧 ola bil蓹r
x眉susil蓹 daha rahat bir 莽ox m蓹艧hur ki, 蓹slind蓹
veb v蓹 ya y谋臒谋n谋 da艧q谋n, bu g眉n.
>> Lakin bu h蓹qiq蓹t蓹n 莽ox var texniki m蓹nas谋.
Biz indi bir y谋臒谋n oldu臒unu bilirik.
Bu qablar bir y谋臒谋n kimi yemekhane daxilind蓹.
>> V蓹 ya daxili komp眉ter v蓹 yadda艧 o 莽蓹r莽iv蓹sind蓹 枚z
funksiyalar谋 istifad蓹 edir.
B蓹li, bu 莽谋x谋r ki, 莽眉nki 莽ox sad蓹 h蓹yata ke莽irilm蓹si
yadda艧 v蓹 qondarma 莽蓹r莽iv蓹sind蓹 y谋臒谋n, h蓹qiq蓹t蓹n, n蓹zar蓹t ed蓹 bil蓹r
olduqca asan bir komp眉ter sistemi.
Siz sistem蓹 hack ed蓹 bil蓹r, 蓹g蓹r insanlar bizim kodu yaz谋l谋 deyil kimi
x眉susil蓹 yax艧谋.
>> Bizim kimi insanlar chunks istifad蓹 edin yadda艧谋nda v蓹 ya istifad蓹 seriallar谋 -
daha 莽ox -
amma b蓹z蓹n kontrol unutmay谋n bizim serial谋n s蓹rh蓹dl蓹ri siz g眉c kimi
枚z眉n眉z眉 b蓹z蓹n var v蓹 iterated 莽ox uzaq sonunda bir s谋ra ke莽mi艧 yol.
茝n yax艧谋 halda, sizin proqram yaln谋z q蓹za bil蓹r.
Seqmentasiya g眉nah, mehriban utanc verici idi.
B枚y眉k, lakin m眉tl蓹q deyil bir natarazcas谋na pis bir 艧ey.
>> Lakin proqram real 眉zr蓹 faktiki 蓹g蓹r istifad蓹莽il蓹rin komp眉ter, o 莽al谋艧an 蓹g蓹r
bir web ki, faktiki t蓹sad眉fi insanlar internet bildirerek, vuru艧 olunur
insanlar谋n kodunu pis 艧eyl蓹r vadar edir 脟眉nki 眉mumiyy蓹tl蓹 yax艧谋 bir 艧ey
etm蓹k 眉莽眉n imkan谋 dem蓹kdir komp眉ter n蓹zar蓹t.
Bu baxmaq gedir sirli bir az.
Amma m蓹n sizinl蓹 qorxutmaq ist蓹diyiniz fikir burada bu son n眉mun蓹sidir.
>> Burada kodu n眉mun蓹 var.
V蓹 yax艧谋 Wikipedia var dola艧谋r ki, m蓹qal蓹
daha 蓹trafl谋.
M蓹n a艧a臒谋 莽a臒谋r谋艧 眉zr蓹 蓹sas var 1 argv ke莽蓹n foo.
V蓹 yaln谋z bel蓹 siz var proqram run v蓹 ke莽m蓹k
bir ixtiyari girdi.
>> V蓹 sonra foo top elan bir simli q蓹bul v蓹 ya daha 莽ox kimi
d蓹qiq bir char *.
O chars bir s谋ra b蓹yan edir.
Bir bufer, 眉mumiyy蓹tl蓹, Z蓹ng 枚l莽眉s眉 12.
Bel蓹 ki, 12 chars i莽蓹risind蓹 yararl谋 ola bil蓹r c adl谋 serial谋n.
>> V蓹 o, bu yeni funksiya istifad蓹 yeni, lakin 莽蓹tin deyil
, yadda艧 sur蓹ti ba艧a d眉艧眉r眉k.
Bu idi, bar yadda艧 n眉sx蓹 d蓹yi艧蓹n ke莽mi艧 n, n蓹
istifad蓹莽i c daxil argv 1 yazd谋臒谋n谋z.
Ne莽蓹 bayt?
Bar simli uzunlu臒u.
>> Bel蓹 ki, ba艧qa s枚zl蓹, istifad蓹莽i n枚v 蓹g蓹r h-e-l-l-o daxil simli uzunlu臒u
salam be艧 edir.
Bel蓹 ki, h蓹min bayt be艧 almaq 眉莽眉n gedir c adl谋 dizi, kopyalanacak olan
size 12 edir.
脟ox uzun Amma n蓹 istifad蓹莽i 13 simvol v蓹 ya 14 ki, s枚z
simvol v蓹 ya 100 simvol v蓹 ya daha 莽ox?
>> Onlar harada getm蓹k gedir?
Yax艧谋 ki, 莽蓹r莽iv蓹 ki, tray yem蓹k zal谋 y谋臒谋n谋,
orada getm蓹k olacaq.
V蓹 yaln谋z yadda ba艧lamaq olacaq art谋q ki, dig蓹r m蓹hsullar谋
ki y谋臒谋n谋 haqq谋nda, co艧臒un y谋臒谋n谋, bel蓹 dan谋艧maq.
>> Bel蓹 pictorially ki, bu c眉r d眉艧眉n眉r蓹m.
Bu yaln谋z bir r蓹ngli versiyas谋 艧蓹kil biz r蓹sm etdik.
Alt谋nda, 蓹sas deyil, dey蓹k.
V蓹 眉st, indi n蓹 g枚rd眉kd蓹 莽蓹r莽iv蓹sind蓹 r蓹ng 眉莽眉n indi kodlan谋r
foo adl谋 f蓹aliyy蓹t g枚st蓹rir.
Amma burada maraql谋 n蓹 var foo burada onun 莽蓹r莽iv蓹sind蓹 olmas谋d谋r.
Bel蓹 ki, yaln谋z m蓹n kimi t蓹rtib edir lakin mavi etdi.
V蓹 indi bu oldu臒u c bracket 0 gedir.
Bu c bracket burada 11 q蓹d蓹r gedir.
>> Ba艧qa s枚zl蓹, bu, olur bir kvadrat kimi t蓹msil edil蓹c蓹k.
Amma yaln谋z bytes plopping saxlamaq 蓹g蓹r a艧a臒谋 - v蓹 ya chars - onlar son olacaq
up yerd蓹 0 b眉t眉n yol 11 脟眉nki dizine 0 oldu.
>> Lakin 13-c眉 karakter burada sonuna q蓹d蓹r gedir?
14-c眉 harada?
50 xarakter harada sonuna q蓹d蓹r gedir?
>> Bu a艧a臒谋 davam ed蓹c蓹k.
Biz t蓹rtib etdik, h蓹tta 脟眉nki y谋臒谋n谋 il蓹 艧蓹kil q蓹d蓹r artan
眉nvanlar谋, o 莽谋x谋r, getm蓹k ki莽ik 眉nvanlar谋n谋, ki莽ik
b枚y眉k URL g枚st蓹ricil蓹rin蓹.
Bel蓹 ki, yaln谋z q蓹d蓹r davam v蓹 saxlay谋r.
>> Bel蓹 ki, 蓹g蓹r istifad蓹莽i n枚vl蓹ri salam ki, b枚y眉k deyil.
No bug problem yoxdur, h蓹r k蓹sin t蓹hl眉k蓹siz.
Amma biz bil蓹c蓹kl蓹riniz istifad蓹莽i n枚v 蓹g蓹r 莽蓹ki艧m蓹 kodu z蓹ng, t蓹msil
眉mumi olaraq bir h眉cum, h眉cum, h眉cum, h眉cum, n蓹 ola bil蓹r?
>> Yax艧谋, 蓹g蓹r girdi b眉t眉n istifad蓹莽i Y谋臒d谋臒谋n谋z yaln谋z bir dost deyil
simvol v蓹 ya t蓹hqiredici simli.
Bu, h蓹qiq蓹t蓹n, simvol bir ard谋c谋ll谋qla var ki, siz onu t蓹rtib varsa,
faktiki kodudur.
B蓹lk蓹 kodu ki siler b眉t眉n sabit s眉r眉c眉 fayllar谋 v蓹 ya spam g枚nd蓹rir
kimi v蓹 ya bir 艧ey.
茝sas burada n蓹 var Qeyd ed蓹k ki, ki, pis adam 眉莽眉n kifay蓹t q蓹d蓹r u臒urlu var 蓹g蓹r
yadda艧 q谋rm谋z谋 y谋臒谋n 眉zerine -
M蓹n yaln谋z m蓹nim 艧蓹kil c蓹lb etm蓹y蓹n burada Wikipedia 艧蓹kil var -
onun qondarma qaytar谋lmas谋 眉nvan谋.
>> Zaman 蓹rzaq yekunlar谋, svop qay谋td谋qda nec蓹 komp眉ter getm蓹k bilmir
up burada a艧a臒谋?
V蓹 ya yuxar谋da tech seqmentind蓹, nec蓹 bu m眉badil蓹 getm蓹k bilmir
kodu - 0 v蓹 1-in ki, svop b蓹st蓹l蓹m蓹k -
geri 蓹sas 眉莽眉n?
Bir qondarma return address var Eyni y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 saxlan谋l谋r
Eyni yemekhane tray.
>> Pis adam 眉莽眉n kifay蓹t q蓹d蓹r a臒谋ll谋 deyil Bel蓹 ki, 蓹g蓹r h眉cum kodu qoymaq h眉cum kodu h眉cum
kodunu, v蓹 kifay蓹t q蓹d蓹r u臒urlu almaq -
眉莽眉n - tez-tez yan谋lma yolu il蓹 ki, q谋rm谋z谋 return address yazmaq
眉nvan v蓹 bildiri艧 莽ox 眉st.
0835C080 bil蓹rsiniz.
Bu, geri q蓹d蓹r 眉st yaz谋l谋 s蓹b蓹bl蓹ri b蓹lk蓹 yenid蓹n olacaq.
Bu say谋 dir.
>> Pis adam kifay蓹t q蓹d蓹r u臒urlu, yaxud olur Bel蓹 ki, 蓹g蓹r q谋rm谋z谋 眉zerine kifay蓹t q蓹d蓹r a臒谋ll谋 deyil
v蓹 眉nvan谋 yadda艧 soyunmaq o el蓹-bel蓹 ki, kodu
Sizin komp眉ter enjekte olan tahmin kod geri olacaq
kimi tezlikl蓹 foo kimi icra edilir?
>> Pis o臒lan kodu.
Bu h眉cumu kodu Bel蓹 ki, AAA, yen蓹 g眉c spam g枚nd蓹rm蓹k, b眉t眉n fayllar谋 silm蓹k bil蓹r
sabit.
Amma bu n蓹 h蓹qiq蓹t蓹n bir y谋臒谋n da艧q谋n edir v蓹 ya tampon da臒谋tmaq v蓹 ya
da艧q谋n h眉cum bufer.
>> V蓹 o inan谋lmaz, inan谋lmaz yayg谋n yaz谋l谋 proqramlar谋 il蓹 bu g眉n
C, C + +, v蓹 h蓹tta b蓹zi dig蓹r dill蓹rd蓹.
Ki, scary qeyd On, biz ed蓹c蓹yik bir l蓹tif蓹 il蓹 ba艧a.
>> [G眉l眉艧]
>> 脟蓹r艧蓹nb蓹 g眉n眉 g枚r眉rs眉n眉z.
N枚vb蓹ti CS50 haz谋rda -
Bel蓹likl蓹, m蓹n bu g眉n disk 蓹leyhin蓹 i艧谋qlar b眉t眉n Ben, lakin G枚zl蓹yin, ya臒-pulsuz s眉d, yar谋m telefon
kitab, porta臒al 艧ir蓹si M蓹n bu g眉n i莽di ki,.
USB kabel, bir a莽ar谋.
>> [Musiqi ifa]