>> [MUSIC ifa]
DAVID J. MALAN: B眉t眉n h眉ququ.
Bu CS50 v蓹 bu H蓹ft蓹 d枚rd sonu.
V蓹 m枚vzulardan biri bu g眉n digital Suclari ki,
m蓹lumat b蓹rpa s蓹n蓹ti.
V蓹 h蓹qiq蓹t蓹n, baxmayaraq Siz ortas谋nda ist蓹yirik
陌ndi S眉lh 脺莽 da v蓹 Breakout, g蓹l蓹n h蓹ft蓹,
diqq蓹t olacaq m蓹hz bu domain.
>> Keyfiyy蓹tli i艧 bel蓹 bir m蓹n he莽 idi, geri m蓹kt蓹bin m蓹zunu idi
M蓹n yerli i艧 zaman Middlesex County District Attorney Agentliyi
ofis, bunu Suclari i艧.
Bel蓹 ki, mahiyy蓹tc蓹, Massachusetts D枚vl蓹t Polis, m眉nasib蓹til蓹,
hallarda i艧l蓹y蓹n zaman ki sabit diskler kimi 艧eyl蓹r g蓹tirm蓹k
v蓹 disketleri v蓹 yadda艧 kartlar谋 v蓹 s.
V蓹 onlar 蓹l ats谋nlar m蓹nim v蓹 mentoru,
v蓹 bizim m蓹qs蓹dimiz d蓹lil tapmaq idi, Bu media h蓹r hans谋 bir var idi, 蓹g蓹r.
陌ndi, siz g枚rd眉k bil蓹r qoyark蓹n Suclari bu d眉nya
media, televiziya v蓹 film.
Amma i艧 m蓹n v蓹 daresay ki, d眉nya,
Siz onu g枚rm蓹k olard谋 kimi 莽ox deyil.
Nin bir n蓹z蓹r salaq n蓹 Siz y蓹qin ki, g枚rd眉m.
[Video playback]
-Ok.
陌ndi siz蓹 yax艧谋 bir n蓹z蓹r almaq ed蓹k.
>> [MUSIC ifa]
>> Onu tutun.
Geri Run.
>> Bir d蓹qiq蓹 g枚zl蓹yin.
Do臒ru getm蓹k.
-Var.
Ki dondurmaq.
Tam ekran.
>> -Ok.
Ki dondurmaq.
Siz ki, up -Tighten?
>> Ki, da -Vector geri t蓹k蓹r il蓹 o臒lan.
>> Burada bu yerind蓹 -Zoom.
>> Do臒ru avadanl谋q ile, image geni艧l蓹ndirilmi艧 v蓹 itil蓹nmi艧 bil蓹r.
>> Ki, hans谋 var?
>> -Bu Bir geni艧l蓹ndirilm蓹si proqram谋 var.
>> Ki, h蓹r hans谋 ayd谋n bil蓹rsinizmi?
>> M蓹n bilmir蓹m.
Onu art谋rmaq ed蓹k.
>> G眉cl蓹ndirilm蓹si B枚lm蓹 A6.
M蓹n 蓹trafl谋 etmi艧, and--
M蓹n art谋rmaq 眉莽眉n kifay蓹t q蓹d蓹r var edir蓹m.
M蓹nim ekran 眉莽眉n burax谋n.
>> M蓹n onun g枚z眉 蓹ks etmi艧.
Let bu 莽al谋艧t谋rmak video geni艧l蓹ndirilm蓹si.
>> -Edgar, Bu g眉cl蓹ndir蓹 bil蓹r?
>> On Hang.
>> Bu 蓹ks 眉z蓹rind蓹 i艧l蓹yir -I've.
>> -Var Kimins蓹 蓹ks.
>> -Reflection.
Insan谋n 眉z眉n眉 蓹ks -Var var.
>> The 蓹ks!
茝ks -Var var.
G眉zg眉 眉zr蓹 Zoom.
Siz 蓹ksini g枚r眉r眉k.
>> Burada image art谋rmaq olarm谋?
Siz art谋rmaq olarm谋?
Biz bu art谋rmaq olarm谋?
Siz art谋rmaq olarm谋?
Bir ikinci tutun.
M蓹n art谋rmaq laz谋md谋r.
Qap谋 眉zr蓹 Zoom.
10 Times.
Zoom.
Da Move.
Daha 莽ox.
G枚zl蓹yin dayand谋rmaq.
Stop.
Onu -Pause.
Biz蓹 75 d蓹r蓹c蓹 qay谋t 艧aquli 蓹traf谋nda edin.
>> Stop.
Hiss蓹si geri d枚n qap谋 yenid蓹n.
>> Bitmap bil蓹r ki, bir image G眉cl蓹ndirici Got?
>> Biz Pradeep Singh istifad蓹 ed蓹 bil蓹rsiniz -B蓹lk蓹 眉sul Windows daxil g枚rm蓹k 眉莽眉n.
>> Bu proqram s蓹n蓹tinin d枚vl蓹tdir.
>> The eigenvalue off edir.
>> Sa臒 -Il蓹 alqoritml蓹rin birl蓹艧m蓹si
>> O g枚t眉r眉lm眉艧 i艧谋qland谋rma N枚vb蓹ti s蓹viyy蓹si alqoritml蓹r,
v蓹 m蓹n onlar谋 istifad蓹 ed蓹 bil蓹rsiniz Bu foto艧蓹kil art谋rmaq.
>> On Lock v蓹 z-ox geni艧l蓹ndirm蓹k.
>> G眉cl蓹ndirilm蓹si.
G眉cl蓹ndirilm蓹si.
-Freeze V蓹 art谋rmaq.
[END Video playback]
DAVID J. MALAN: Y蓹ni h蓹min b眉t眉n s枚zl蓹r, lakin onlar deyil
d眉zg眉n c眉ml蓹l蓹r istifad蓹.
V蓹 h蓹qiq蓹t蓹n g蓹l蓹c蓹kd蓹, ist蓹nil蓹n vaxt, , kims蓹 s枚z dem蓹k e艧itm蓹k edin,
Yaln谋z bir az k谋k谋rdama "art谋rmaq".
Siz art谋rmaq 眉莽眉n c蓹hd zaman, M蓹s蓹l蓹n, bu n蓹 edir.
>> Bel蓹 ki, burada bir parlaq 艧蓹kil var.
Bu CS50 枚z Daven edir.
V蓹 biz etm蓹k ist蓹yirdi ki, g眉man onun g枚z par谋ldamaq 眉zr蓹 diqq蓹t,
v蓹 ya 蓹ks ayd谋n idi ki, pis o臒lan
t蓹hl眉k蓹sizlik kamera t蓹r蓹find蓹n 蓹sir.
Bu zaman n蓹 olar Bir image zoom
yaln谋z m蓹hdud sayda var Bug眉n bit.
>> Y蓹ni siz almaq n蓹 edir.
V蓹 h蓹qiq蓹t蓹n, Daven g枚z , b蓹lk蓹 alt谋 piksel lakin d枚rd
ki, m蓹hz n蓹 b蓹st蓹l蓹m蓹k orada glimmering edilib.
Bel蓹 ki, Problem Set d枚rd n蓹tic蓹d蓹 olacaq x眉susil蓹, bu d眉nya ara艧d谋rmaq
bir 艧ey t蓹bi蓹ti biz fayl i / o, harada z蓹ng
i / o yaln谋z bir x眉lya yoludur giri艧 v蓹 莽谋x谋艧 etdi.
>> Bel蓹 ki, indiy蓹d蓹k, qar艧谋l谋ql谋 b眉t眉n Biz bir komp眉ter ya艧ad谋臒谋n谋z
il蓹 蓹sas蓹n olmu艧dur sizin klaviatura v蓹 ekran,
lakin sabit disk il蓹 q蓹d蓹r deyil, v蓹 ya olanlar谋 k蓹narda fayllar谋 q蓹na蓹t
枚z眉n眉z yaz谋n.
Proqramlar谋 bu g眉n蓹 q蓹d蓹r deyil, yarad谋lmas谋 v蓹 q蓹na蓹t edilmi艧dir
v蓹 枚z fayllar谋 yenil蓹nm蓹si.
>> Yax艧谋, bir fayl var?
Yax艧谋, bir JPEG kimi bir 艧ey.
Bu g眉c bir resim deyil v蓹 ya Facebook y眉klemek,
v蓹 ya h蓹r hans谋 web bax谋n.
H蓹qiq蓹t蓹n, 艧蓹kil biz yaln谋z Daven v蓹 mi艧ar bir JPEG idi.
V蓹 n蓹 maraql谋 JPEGs kimi fayllar谋 haqq谋nda
Onlar m眉蓹yy蓹n edil蓹 bil蓹r ki, ad蓹t蓹n, bit m眉蓹yy蓹n n眉mun蓹l蓹ri il蓹.
>> Ba艧qa s枚zl蓹, bu n蓹 bir GIF JPEG f蓹rql蓹ndirir
Word bir PING'i olan bir Excel fayl s蓹n蓹d?
B蓹li, yaln谋z m眉xt蓹lif var bit n眉mun蓹l蓹ri.
V蓹 bu m眉xt蓹lif n眉mun蓹l蓹ri ad蓹t蓹n bu fayllar谋n 蓹vv蓹lind蓹.
>> Sizin komp眉ter Word a莽谋r zaman, bel蓹 ki, doc, v蓹 ya komp眉ter JPEG a莽谋l谋r zaman,
Bu ad蓹t蓹n g枚r眉n眉r fayl ilk bir ne莽蓹 bit.
V蓹 bir model tan谋sa, Bu oh, bu, bir 艧蓹kil, deyir.
M蓹n蓹 ke莽irm蓹k ed蓹k bir qrafik kimi istifad蓹莽i.
V蓹 ya, oh, bu Word doc kimi g枚r眉n眉r.
M蓹n蓹 bir esse kimi istifad蓹莽i onu g枚st蓹rm蓹k bildirin.
>> Bel蓹 ki, m蓹s蓹l蓹n, JPEGs, Bu, 莽谋x谋r
kifay蓹t q蓹d蓹r m眉r蓹kk蓹b ba艧l谋q alt谋nda.
Amma 蓹n h蓹r ilk 眉莽 bytes JPEG bu 眉莽 蓹d蓹d il蓹 ba艧lay谋n.
Bel蓹 ki, byte s谋f谋r, bir, iki, var 蓹n h蓹r JPEG, 255, sonra say谋
216, sonra say谋 255.
>> V蓹 siz ed蓹 bil蓹rsiniz n蓹 g蓹l蓹n h蓹ft蓹 bunu ba艧lamaq 眉莽眉n
h蓹qiq蓹t蓹n alt谋nda poking olunur JPEGs kimi fayllar谋 ba艧l谋q
v蓹 bitmap fayllar谋 kimi, v蓹 g枚r蓹n h蓹mi艧蓹 kimi uzun olub
Bir komp眉ter istifad蓹 etdiyiniz kimi.
>> Amma ad蓹t蓹n var deyil n蓹 ox艧ar decimal n枚mr蓹l蓹ri kimi yaz谋lm谋艧d谋r.
Komp眉ter elm deyil ondal谋k dan谋艧maq edirl蓹r.
Onlar, h蓹qiq蓹t蓹n, ikili dan谋艧maq deyil.
Ad蓹t蓹n, biz ist蓹yirik n枚mr蓹l蓹ri ifad蓹 etm蓹k,
Biz, h蓹qiq蓹t蓹n, hexadecimal istifad蓹, siz geri bil蓹r
Problem Set, dem蓹k ki, Etiraz ed蓹n biri,
Siz m眉xt蓹lif sistem haqq谋nda d眉艧眉nm蓹k.
>> Biz, 蓹lb蓹tt蓹, tan谋艧 doqquz vasit蓹sil蓹 decimal s谋f谋r il蓹.
Biz ikili dan谋艧d谋q.
V蓹 biz, h蓹qiq蓹t蓹n, yoxdur 莽ox burada istifad蓹 etm蓹k
out, komp眉ter istifad蓹 ed蓹c蓹k.
Amma proqram莽谋lar 莽ox olacaq tez-tez, lakin h蓹mi艧蓹,
yaln谋z dem蓹kdir, hexadecimal istifad蓹 Sizin 蓹lifbas谋 16 m蓹ktublar
kimi iki v蓹 ya 10 f蓹rqli.
>> Bel蓹 ki, nec蓹 y眉ks蓹k saymaq yoxdur hexadecimal doqquz daha 莽ox?
Siz getm蓹k 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, yaln谋z konvensiya c, d, e, f, b.
Amma n蓹 蓹sas var ki, h蓹r n蓹 bu bir r蓹mzidir.
He莽 10 var.
H蓹r 莽眉nki, he莽 bir 11, ba艧谋na se var Sizin r蓹q蓹m yaln谋z ondal谋k kimi
yaln谋z ikili kimi, yaln谋z olmal谋d谋r Konvensiya il蓹 bir xarakter olmas谋.
>> Sonra biz 蓹lifbas谋 Bel蓹 ki, Hexadecimal 眉莽眉n bizim s蓹r蓹ncam谋nda.
Bel蓹 ki, bir JPEG, 蓹g蓹r kimi g枚r眉n眉r o ilk 眉莽 yazmaq idi
, ondal谋k kimi bayt lakin M蓹s蓹l蓹n, hexadecimal kimi?
V蓹 n蓹 hex ki, faydal谋 h蓹tta b眉t眉n var?
>> Yax艧谋, M蓹s蓹l蓹n bir g枚z at谋n谋z.
M蓹n bit yazmaq 蓹g蓹r Bel蓹 ki, bu k蓹sir numbers-- etdirir
bu bir az pasl谋 ola bil蓹r 陌ndi bir ne莽蓹 h蓹ft蓹,
sol bir v蓹 ancaq sa臒 olduqca asand谋r.
255 蓹n b枚y眉k say谋 biz idi s蓹kkiz bit il蓹 t蓹msil ed蓹 bil蓹r.
Bu, b眉t眉n olanlar oldu.
Bel蓹 ki, yum艧aq var ki, yaln谋z bir maraql谋 orta biridir.
V蓹 c眉r h蓹yata 蓹g蓹r riyaziyyat, siz, h蓹qiq蓹t蓹n, anlamak ed蓹c蓹k
bir o model v蓹 adet s谋f谋r 216 t蓹msil edir.
Bel蓹 ki, yaln谋z m眉蓹yy蓹n ed蓹k 陌ndi bu do臒ru oldu臒unu.
Amma niy蓹 bu maraql谋d谋r?
>> Yax艧谋, bir byte, 蓹lb蓹tt蓹, s蓹kkiz bit edir.
V蓹 hesab edir蓹m ki, 蓹g蓹r 莽谋x谋r ki, d枚rd bit iki chunks olaraq bir byte,
bu kimi.
M蓹n蓹 yaln谋z bir yer 蓹lav蓹 ed蓹k.
Bel蓹 ki, 蓹vv蓹l, sonra.
M蓹n yaln谋z b蓹zi a臒 kosmik 蓹lav蓹 etdik Burada vizual xatirin蓹.
Biz nec蓹 t蓹msil ed蓹 bil蓹r, dem蓹k, hexadecimal bit h蓹r d枚rd,
d枚rd bit h蓹r set?
>> M蓹s蓹l蓹n, sol bel蓹 indi biz ikili 1111 var.
Ondal谋k ki say谋 n蓹dir, Siz riyaziyyat h蓹yata 蓹g蓹r?
Siz is蓹 yer var, ikil蓹r yer, d枚rd ayaq yer, v蓹 s蓹kkizinci yer.
>> Auditoriya: 15.
DAVID J. MALAN: Bu 15 var.
Bel蓹 ki, biz s蓹kkiz plus d枚rd 蓹g蓹r 眉st蓹g蓹l iki plus bir, biz 15 almaq.
M蓹n a艧a臒谋da 15 yazmaq 1111, lakin burada b眉t眉n point
hexadecimal decimal deyil.
Bel蓹 ki, 蓹v蓹zin蓹 a艧a臒谋 yaz谋l谋 15, 1-5, M蓹n hex ki, yazmaq 眉莽眉n gedir蓹m
Siz 蓹g蓹r, geri hesab 蓹g蓹r f vasit蓹sil蓹 s谋f谋r, n蓹 15 olacaq?
Auditoriya: f.
DAVID J. MALAN: Bel蓹 ki, onun f 莽谋x谋r.
V蓹 s枚yl蓹y蓹r蓹k i艧l蓹y蓹 bil蓹r, 10 茝g蓹r yax艧谋, sonra OK, f 15.
Bel蓹 ki, h蓹qiq蓹t蓹n, biz yenid蓹n yazmaq bil蓹r f f kimi n枚mr蓹l蓹ri bu eyni.
V蓹 sonra biz riyaziyyat bir az 蓹g蓹r, biz d ki, anlamak laz谋md谋r.
S蓹kkiz olduqca asand谋r, 莽眉nki biz s蓹kkizinci yerd蓹 bir var.
V蓹 sonra, biz f f-nin bir ne莽蓹 daha 莽ox var.
>> Bel蓹 ki, n蓹 insanlar Konvensiya il蓹 n蓹 edirl蓹r Onlar istifad蓹 ed蓹rk蓹n hexadecimal onlar yaln谋z
daha m眉f蓹ss蓹l 艧蓹kild蓹 bu bir az yazmaq, a臒 kosmik 蓹n qurtarmaq.
V蓹 yaln谋z super ayd谋n olmal谋d谋r Bu hexadecimal ki, oxucu,
aras谋nda sad蓹 konqres insanlar s谋f谋r yazmaq
ba艧qa bir m蓹nas谋 olan x, vizual identifikatoru 莽ox,
Burada hex say谋 g蓹lir.
>> V蓹 sonra, siz f iki r蓹q蓹m qoymaq bu halda f, sonra d a, sonra f f.
Bel蓹 ki, uzun hekay蓹 q谋sa, hexadecimal yaln谋z 莽al谋艧谋r
faydal谋 ola h蓹r 莽眉nki onun r蓹q蓹m, f vasit蓹sil蓹 s谋f谋r, m眉k蓹mm蓹l x蓹tl蓹ri
d枚rd bit model il蓹.
>> Iki hexadecimal r蓹q蓹m var Bel蓹 ki, s谋f谋r t蓹krar F vasit蓹sil蓹,
ki, m眉k蓹mm蓹l verir s蓹kkiz bit v蓹 ya bir byte.
Bu 莽al谋艧谋r n蓹 ki, var 艧蓹rti faydal谋 ola bil蓹r.
He莽 bir intellektual var h蓹qiq蓹t蓹n k蓹narda content,
onun faktiki kommunal ba艧qa.
>> 陌ndi JPEGs yaln谋z deyil qrafik 眉莽眉n format fayl.
Siz var ki, xat谋rlay谋ram bil蓹r D眉nyada bu kimi fayllar谋,
蓹n az谋 bir ne莽蓹 il.
>> Bel蓹 ki, bu h蓹qiq蓹t蓹n Windows XP y眉kl眉
D眉nyada komp眉ter milyonlarla.
V蓹 bu bitmap fayl, BMP idi.
V蓹 bitmap fayl kimi n枚vb蓹ti g枚r蓹c蓹ksiniz h蓹ft蓹, yaln谋z n枚qt蓹l蓹r bir model dem蓹kdir,
onlar deyilir kimi piksel, h蓹qiq蓹t蓹n, bit x蓹rit蓹si.
>> Bel蓹 ki, n蓹 olsa da, maraql谋, bu fayl format谋, BMP haqq谋nda deyil,
ki, ba艧l谋q alt谋nda, onu Yaln谋z 眉莽 bayt daha var
ki, onun m枚vzu b蓹st蓹l蓹m蓹k , ilk bir ne莽蓹 sokmas谋 dan谋艧maq.
Bu, h蓹qiq蓹t蓹n bir az g枚r眉n眉r ilk bax谋艧da 莽蓹tin.
V蓹 siz P set bu g枚r蓹c蓹ksiniz.
V蓹 bir 艧ey 蓹ld蓹 Bu x眉susil蓹 indi
yaln谋z fakt kimi, bel蓹 ki, vacib deyil h蓹r bitmap ba艧谋nda
fayl, bir qrafik format, 蓹d蓹d b眉t枚v bir d蓹st蓹 var.
>> 陌ndi Microsoft, bu formatda m眉蓹llifi,
o z蓹ng etm蓹k 眉莽眉n 莽al谋艧谋r 艧eyi ints v蓹 chars
v蓹 眉z眉b gedirdi amma s枚z v蓹 d s枚z v蓹 longs v蓹 bytes.
Bel蓹 ki, onlar yaln谋z m眉xt蓹lif data n枚vl蓹ri ist蓹yirik.
Onlar m眉xt蓹lif adlar edirik eyni 艧ey.
Amma P Set D枚rdl眉 ki, g枚r眉rs眉n眉z.
>> Amma bu dem蓹k deyil ki, bir insan 蓹g蓹r b蓹zi BMP fayl谋 c眉t klik onun
v蓹 ya onun sabit, v蓹 bir p蓹nc蓹r蓹 a莽谋l谋r ona ki, image g枚st蓹r蓹n up,
ki, 蓹m蓹liyyat, 莽眉nki ba艧 Sistem ehtimalla yaln谋z f蓹rq
Bu BMP fayl uzant谋s谋 fayl ad谋,
h蓹m d蓹 fakt var ki, b蓹zi bit model konvensiya
莽ox ba艧谋nda ki, bitmap fayl.
>> Amma indi diqq蓹t ed蓹k Bel蓹 bir m眉r蓹kk蓹b fayl,
lakin 蓹v蓹zin蓹 bu kimi bir 艧ey.
M蓹n gedit burada d眉艧眉n蓹k yaln谋z 蓹vv蓹lin蓹 var
olduqca sad蓹 bir proqram.
M蓹n b蓹zi 眉st daxildir var.
陌ndi m蓹n var #include "structs.h", lakin M蓹n bir anda geri g蓹lm蓹k laz谋md谋r.
Amma indi bu faydal谋d谋r.
Bel蓹 ki, bu proqram ki, h蓹yata olacaq
, qeydiyyat莽谋n谋n bazas谋 kimi.
Bel蓹 ki, t蓹l蓹b蓹 bir veril蓹nl蓹r bazas谋, v蓹 d眉nyan谋n h蓹r t蓹l蓹b蓹
y蓹qin ki, bir ad v蓹 bir ev var v蓹 dig蓹r m蓹hsullar谋, lakin biz sad蓹 saxlamaq laz谋md谋r.
H蓹r t蓹l蓹b蓹 bir ad v蓹 bir ev var.
>> M蓹n yazmaq ist蓹yirdi 蓹g蓹r Bel蓹 ki, kimin m蓹qs蓹di h蓹yat proqram谋
yaln谋z t蓹krarlamaq oldu 眉莽 q蓹d蓹r s谋f谋r,
眉莽 t蓹l蓹b蓹 蓹g蓹r Harvard Universiteti.
M蓹n yaln谋z GetString istifad蓹 ed蓹r蓹k, almaq ist蓹yir蓹m, h蓹r bir t蓹l蓹b蓹 ad谋 v蓹 ev,
v蓹 sonra yaln谋z 莽ap.
>> Bu sort h蓹ft蓹si kimi One, h蓹ft蓹 iki stuff indi,
M蓹n yaln谋z bir ist蓹diyiniz loop v蓹 ya kimi bir 艧ey.
M蓹n GetString bir ne莽蓹 z蓹ng etm蓹k ist蓹yir蓹m d蓹f蓹, v蓹 sonra bir ne莽蓹 d蓹f蓹 f 莽ap.
M蓹n baxmayaraq ki, bunu nec蓹, bir ad谋 v蓹 bir ev h蓹m
H蓹r bir t蓹l蓹b蓹 眉莽眉n c蓹lb olunur?
>> Bel蓹 ki, m蓹nim ilk instinkt bil蓹r bu kimi bir 艧ey ola bil蓹r.
M蓹n ilk d蓹 m蓹n蓹 ver, dem蓹k olar ki, , adlar谋 strings bir s谋ra deyirl蓹r.
M蓹n bir Hardcode 眉莽 burada ist蓹mir蓹m.
M蓹n orada qoymaq ist蓹yirsiniz?
Yaln谋z 莽眉nki, STUDENTS bel蓹 眉st elan daimi,
M蓹n hardcode yoxdur, yaln谋z bel蓹 莽ox yerl蓹rd蓹 眉莽.
Bu yolla, I, bir yerini d蓹yi艧蓹 bil蓹rsiniz v蓹 h蓹r yerd蓹 bir d蓹yi艧iklik t蓹sir g枚st蓹rir.
V蓹 sonra, m蓹n n蓹 ed蓹 bil蓹r string T茝L茝B茝L茝R陌 yerl蓹艧ir.
>> V蓹 indi m蓹n kimi bir 艧ey ola bil蓹r i 艦AG陌RDL茝R陌N茝 <; (i = 0 int i ++.
M蓹n s眉r蓹tli yazaraq al谋ram, lakin bu 陌ndi y蓹qin ki, tan谋艧 syntax.
>> V蓹 indi, bu daha son idi.
M蓹n i-ci qoymaq ist蓹yirsinizs蓹 t蓹l蓹b蓹 ad谋, m蓹n bunu edir蓹m.
V蓹 sonra, adlar谋 amma evl蓹r i bracket.
M蓹n bu GetString v蓹 imkan m蓹ni geri getm蓹k v蓹 bu x蓹tti d眉zeltmek.
Raz谋yam?
Raz谋 deyil蓹m?
Bu, 莽ox istifad蓹莽i dostu deyil.
M蓹n n蓹 istifad蓹莽i s枚yl蓹di.
>> Amma indi, m蓹n 蓹g蓹r d蓹 sonra, ed蓹k ist蓹di
dem蓹k, bu 艧eyi 莽ap yazaraq bel蓹 TODO sonra.
M蓹n daha gedir蓹m m眉zakir蓹siz bu H蓹l蓹
do臒ru bir t蓹tbiq adlar谋 v蓹 ev, 眉莽 almaq
bir istifad蓹莽i h蓹r onlar谋n 眉mumi.
>> Amma bu 莽ox yax艧谋 dizayn do臒ru deyil?
N蓹 t蓹l蓹b蓹 yaln谋z bir ad谋 var 蓹g蓹r v蓹 ev, h蓹m d蓹 艧蓹xsiyy蓹t n枚mr蓹si,
v蓹 bir telefon n枚mr蓹si, v蓹 bir e-po莽t 眉nvan谋,
v蓹 b蓹lk蓹 bir ev s蓹hif蓹 v蓹 b蓹lk蓹 bir Twitter sap谋,
v蓹 dig蓹r m蓹lumat h蓹r hans谋 bir say谋 Bir t蓹l蓹b蓹 v蓹 ya bir 艧蓹xs il蓹 ba臒l谋,
眉mumiyy蓹tl蓹.
Biz 蓹lav蓹 ba艧lamaq olard谋 nec蓹 Bu proqram funksionall谋臒谋?
>> B蓹li, m蓹n bil蓹r sad蓹 yolu kimi hiss , kimi bir 艧ey dem蓹k imkan ola,
kimlikleri T茝L茝B茝L茝R陌 int.
M蓹n orada b眉t眉n kimlikleri bil蓹r.
V蓹 sonra, bir 艧ey 眉莽眉n telefon n枚mr蓹l蓹ri kimi,
M蓹n nec蓹 蓹min deyil蓹m yaln谋z h蓹l蓹 ki, t蓹msil edir.
Bel蓹 nin ir蓹li v蓹 yaln谋z z蓹ng gidelim Bu 艦AG陌RDL茝R陌N茝, Twitters olan
bir az q蓹rib蓹, ancaq edir v蓹 sah蓹l蓹ri bir d蓹st蓹 daha 莽ox.
>> M蓹n s蓹m蓹r蓹li ba艧lam谋艧d谋r etdik sur蓹ti v蓹 burada yap谋艧d谋r谋b.
V蓹 bu olduqca artmaqda davam edir olduqca tez y枚nd蓹msiz, sa臒?
Var idi, 蓹g蓹r g枚z蓹l olmazd谋 d眉nyada data strukturu m蓹lum
bir int v蓹 ya bir string, lakin bir 艧ey kimi y眉ks蓹k s蓹viyy蓹li abstraksiya, bel蓹 ki,
Bir t蓹l蓹b蓹 kimi tan谋nan, dan谋艧maq?
C in艧a il蓹 g蓹lm蓹di t蓹l蓹b蓹l蓹r 眉莽眉n funksionall谋臒谋,
amma bu c眉r verm蓹k ist蓹yirdi n蓹?
>> B蓹li, m蓹n gedir蓹m 莽谋x谋r , structs.h burada adl谋 bir fayl a莽maq
v蓹 m蓹hz bunu ed蓹 bil蓹rsiniz.
V蓹 biz indi bunu ba艧lamaq 眉莽眉n olacaq.
V蓹 P Set 眉莽 ba艧l谋q alt谋nda, 茝g蓹r siz art谋q indi bunu etdik.
Bir g rect kimi bir 艧ey yoxdur v蓹 ya proqramla艧d谋rma dili C. bir g oval
>> Stanford Folks o h蓹yata Burada bu yana艧ma istifad蓹 ed蓹r蓹k, data n枚vl蓹ri,
枚z yeni m蓹lumatlar elan yeni bir s枚z istifad蓹 ed蓹r蓹k n枚vl蓹ri
adl谋 struct v蓹 dig蓹r bir adl谋 typedef.
V蓹 h蓹qiq蓹t蓹n, baxmayaraq syntax m蓹hsullar谋 bir az f蓹rqli g枚r眉n眉r
biz 蓹vv蓹l g枚rd眉m prinsipi, bu super sad蓹.
>> Bu yaln谋z "bir n枚v眉 m眉蓹yy蓹n" dem蓹kdir.
Ki, bir olacaq strukturu v蓹 qurulu艧u
yaln谋z bir konteyner kimi 脟ox 艧eyl蓹r 眉莽眉n.
V蓹 strukturu gedir ad谋n谋 bir simli var,
v蓹 simli ev 莽a臒谋r谋b.
V蓹 yaln谋z rahatl谋臒谋 眉莽眉n, z蓹ng ed蓹k, B眉t眉n bu data structure t蓹l蓹b蓹.
>> Bel蓹 ki, an almaq n枚qt蓹li verg眉l, indi var
脰z yarad谋lan m蓹lumatlar adlan谋r t蓹l蓹b蓹
ki, indi, int yana艧谋 durur v蓹 float v蓹 char, v蓹 simli,
v蓹 g rect v蓹 g oval, v蓹 h蓹r hans谋 bir say谋 dig蓹r 艧eyl蓹r insanlar icad.
>> Bel蓹 ki, bu bar蓹d蓹 faydal谋 n蓹 indi geri getm蓹k 蓹g蓹r ki,
0 struct v蓹 bu ba艧a M蓹n yazd谋臒谋 h蓹yata ke莽irilm蓹si,
Burada 蓹vv蓹lc蓹d蓹n, b眉t眉n fark qa莽谋n谋lmaz messiness ki
M蓹n 蓹lav蓹 kimi ba艧 ba艧lamaq haqq谋nda idi telefon n枚mr蓹l蓹ri v蓹 Twitters v蓹 b眉t眉n
bu ba艧qa 艧eyl蓹r Bir 艧agirdin m眉蓹yy蓹n,
indi m眉f蓹ss蓹l 艧蓹kild蓹 b眉k眉lm眉艧 t蓹l蓹b蓹 yaln谋z bir s谋ra kimi.
>> V蓹 bu t蓹l蓹b蓹l蓹rin h蓹r indi Bunun i莽蓹risind蓹 莽ox 艧eyl蓹r var.
Bel蓹 ki, yaln谋z bir sual yarad谋r.
Nec蓹 ad谋 almaq, v蓹 ev v蓹 ID,
v蓹 ba艧qa h蓹r hans谋 t蓹l蓹b蓹 i莽蓹rid蓹?
Super sad蓹, h蓹m莽inin.
Yeni sintaksis, lakin sad蓹 fikir.
>> Bu array daxil Sadece index, Ke莽蓹n h蓹ft蓹 bu kimi.
V蓹 n蓹 ayd谋n deyil sintaksis yeni bir par莽a?
Just., Dem蓹kdir "daxili getm蓹k strukturu v蓹 sah蓹sind蓹 莽a臒谋rd谋
ad谋, ev adl谋 sah蓹sind蓹 almaq t蓹l蓹b蓹 adl谋 sah蓹sind蓹 almaq. "
>> Bel蓹 ki, P Set 脺莽, siz 蓹g蓹r h蓹l蓹 ki, i艧,
h蓹l蓹 蓹n insanlar , sizin kimi ki, h蓹yata olunur
kimi 艧eyl蓹r istifad蓹 ed蓹r蓹k ba艧lamaq g rects v蓹 g ovals
v蓹 ba艧qa 艧eyl蓹r 眉莽眉n g枚r眉nm眉yor ki, H蓹ft蓹 Zero, One, v蓹 ya iki g蓹l蓹n,
ki, Stanford, 莽眉nki ki, h蓹yata b蓹zi yeni m蓹lumat n枚vl蓹ri elan etdi.
>> And olsun ki, m蓹hz n蓹 biz will P Set d枚rd, el蓹c蓹 d蓹, n蓹 zaman
biz h蓹r 艧eyi il蓹 m蓹艧臒ul ba艧lamaq 艧蓹kill蓹r, bitmaps, v蓹 daha 莽ox kimi.
Bel蓹 ki, yaln谋z bir iltifat v蓹 var g蓹lm蓹k n蓹 眉莽眉n 蓹qli model.
陌ndi m蓹n procrastinated bir az bu s蓹h蓹r.
M蓹n n蓹 g枚rm蓹k c眉r maraql谋 idi Microsoft divar ka臒谋z谋 h蓹qiq蓹t蓹n
g眉n kimi g枚r眉n眉r.
V蓹 2006-c谋 ild蓹 kims蓹 莽谋x谋r h蓹qiq蓹t蓹n dem蓹k olar ki, d蓹qiq getdi
eyni spot 蓹slind蓹 foto艧蓹kil n蓹 bu g眉n kimi g枚r眉n眉r.
Bu sah蓹d蓹 indi bir az basmaq deyil.
>> Bel蓹 ki, images indi dan谋艧an, Burada Daven geri g蓹tirm蓹k imkan
ekran v蓹 Nicholas, v蓹 yaln谋z siz蓹 xat谋rlatmaq
ki, nahar 眉莽眉n biz蓹 qo艧ulmaq ist蓹yirsinizs蓹 adi URL bu c眉m蓹, ba艧
burada.
>> Bel蓹likl蓹, biz bazar ert蓹si off t蓹rk etdiniz?
Biz, bu problemin t蓹qdim?
Bu zahir蓹n do臒ru idi svop h蓹yata ke莽irilm蓹si,
vasit蓹si, iki ints alaraq bir, b adl谋 bir, deyil蓹n
Laura burada etdiyiniz kimi, onlar谋 d蓹yi艧dirm蓹k s眉d v蓹 su il蓹 s蓹hn蓹d蓹,
m眉v蓹qq蓹ti istifad蓹 ed蓹r蓹k d蓹yi艧蓹n v蓹 ya bo艧 fincan,
bir v蓹 in-ci ild蓹 b qoymaq bil蓹r ki, h蓹r 艧eyi bir mess etm蓹d蓹n b.
Biz d蓹yi艧蓹n istifad蓹.
Bu temp deyirl蓹r.
>> Amma fundamental n蓹 idi bazar ert蓹si g眉n眉 bu kodu il蓹 problem?
Burada problem n蓹 idi?
B蓹li.
>> Auditoriya: Bu daha 莽ox yer tutur.
>> DAVID J. MALAN: daha Takes space, m蓹n bir d蓹yi艧蓹n kullan谋yorum 莽眉nki,
ki, OK.
Ki, do臒rudur, lakin m蓹n deyil蓹m ki, OK dem蓹k olacaq.
Bu m枚ht蓹艧蓹m yaln谋z 32 bit 艧eyi sxemi, bel蓹 bir b枚y眉k.
Dig蓹r fikir?
Auditoriya: Bu, yaln谋z svoplar谋 yerli d蓹yi艧蓹nl蓹r.
DAVID J. MALAN: Exactly.
Bu, yaln谋z yerli d蓹yi艧蓹nl蓹rin svoplar谋.
He莽 bir zaman bir funksiyas谋 z蓹ng 脟眉nki M蓹n Annenberg olan qablar idi
son d蓹f蓹, siz alt谋ndak谋 蓹sas var.
Kimi tezlikl蓹 adl谋 bir funksiyas谋 z蓹ng kimi svop, svop x v蓹 y almaq deyil,
orijinal d蓹y蓹rl蓹r.
Biz n蓹 iddia etdi, swap almaq edir?
Auditoriya: N眉sx蓹l蓹r.
DAVID J. MALAN: onlar谋n sur蓹tl蓹rini Bel蓹.
Bel蓹 ki, 蓹g蓹r, bir v蓹 iki olur son d蓹f蓹 n眉mun蓹 geri,
lakin bir v蓹 iki sur蓹ti u臒urla d蓹yi艧dirildikd蓹.
Amma t蓹蓹ss眉f ki, sonunda, h蓹min d蓹y蓹rl蓹ri h蓹l蓹 d蓹 eynidir.
Bel蓹likl蓹, biz bu ed蓹 bil蓹rsiniz bizim yeni dost, in艧allah gdb,
Siz v蓹 ya TFS v蓹 Ca nin var a艧a臒谋dak谋 kimi do臒ru r蓹hb蓹r edilmi艧dir.
>> Bel蓹 ki, he莽 swap geri ed蓹k q蓹d蓹rdir g枚r眉n眉r ox艧ar H蓹l蓹 g枚r眉n眉r a莽maq.
Biz iki, bir y x ba艧lat谋lm谋艧.
脟ap f-nin bir d蓹st蓹 idi.
Amma sonra, 蓹sas z蓹ng edin burada d蓹yi艧dirm蓹k 眉莽眉n olan
tam code biz yaln谋z bir an 蓹vv蓹l g枚rd眉m.
Hans谋 ilk do臒ru n蓹z蓹r, lakin funksional,
Bu proqram, 莽眉nki i艧 deyil daimi x v蓹 y d蓹yi艧dirm蓹k deyil.
>> Bel蓹 ki, tez isti bu g枚r蓹k Burada gdb, bir ./noswap il蓹.
B枚y眉k informasiya bir d蓹st蓹 ki, M蓹n indi Control L qurtarmaq laz谋md谋r.
V蓹 indi m蓹n gedir蓹m ir蓹li getm蓹k v蓹 bu run.
V蓹 t蓹蓹ss眉f ki, ki, faydal谋 deyil.
Bu daxili proqram qa莽d谋 proqram, gdb, ay谋klama adl谋
lakin m蓹n蓹 蓹traf谋nda soxmaq imkan verm蓹di.
>> M蓹n, h蓹qiq蓹t蓹n, fasil蓹 bil蓹r nec蓹 Bu proqram daxilind蓹 icra?
Bel蓹 ki, q谋rmaq.
M蓹n h蓹r hans谋 q谋ra bil蓹r line say谋 bir, 10, 15.
Amma m蓹n d蓹 simvolik q谋ra bil蓹r break 蓹sl dey蓹r蓹k.
Ki, bir fasil蓹 m眉蓹yy蓹n olacaq point, y蓹qin 蓹sas x蓹tt 16.
V蓹 line 16?
Nin kodu ged蓹k v蓹 noswap q蓹d蓹r getm蓹k.
V蓹 h蓹qiq蓹t蓹n, line 16 edir 莽ox ilk proqram.
>> Bel蓹 ki, indi, M蓹n ir蓹li getm蓹k v蓹 n枚v眉 bu d蓹f蓹 run daxil edin, bu durduruldu.
Bel蓹 ki, 蓹traf谋nda soxmaq ed蓹k.
Niy蓹 x s谋f谋r x-- 莽ap?
V蓹 dollar i艧ar蓹si ignore.
Ki merakl谋s谋 眉莽眉n yaln谋z var Proqram谋n istifad蓹.
Niy蓹 bu anda x s谋f谋r?
B蓹li.
>> Auditoriya: Bu 蓹vv蓹l sa臒 durdurulmu艧 line 16, h蓹qiq蓹t蓹n line 16.
DAVID J. MALAN: Exactly.
Gdb, ismar谋clar谋, durdurulmu艧 etmi艧dir yaln谋z line 16 蓹vv蓹l icra.
Bel蓹 ki, icra ed蓹n B蓹zi unknown d蓹y蓹r x dem蓹kdir.
V蓹 biz bu u臒urlu var s谋f谋r kimi t蓹miz bir 艧ey.
Bel蓹 ki, indi m蓹n n枚vb蓹ti yaz谋n 蓹g蓹r, indi 16 icra.
M蓹n蓹 17 icra etm蓹k 眉莽眉n g枚zl蓹yir.
M蓹n蓹 davam v蓹 莽ap x ged蓹k.
Bu biri.
M蓹n蓹 davam v蓹 莽ap y ged蓹k.
陌ndi m蓹n n蓹 g枚r眉rs眉n眉z?
>> Auditoriya: [i艧itilemez]
>> DAVID J. MALAN: Bir az louder.
>> Auditoriya: [i艧itilemez]
DAVID J. MALAN: Not olduqca konsensus.
Bel蓹 ki, b蓹li, biz b蓹zi zibil d蓹y蓹r bax.
陌ndi y yoxdur 134514064 edir.
B蓹li, yaln谋z b蓹zi zibil d蓹y蓹ri.
M蓹nim proqram RAM istifad蓹 edir m眉xt蓹lif m蓹qs蓹dl蓹r 眉莽眉n.
Dig蓹r funksiyalar谋 var.
Dig蓹r insanlar m蓹nim komp眉ter daxilind蓹 yazd谋.
Bel蓹 ki, h蓹min bit 眉莽眉n istifad蓹 edilmi艧dir dig蓹r d蓹y蓹rl蓹ri, v蓹 m蓹n n蓹 g枚r眉yorum
b蓹zi qal谋qlar谋 edir ki, yadda艧 蓹vv蓹l istifad蓹.
>> Bel蓹 ki, he莽 bir b枚y眉k, 莽眉nki tezlikl蓹 M蓹n n枚vb蓹ti yaz谋n v蓹 sonra y 莽ap kimi,
Bu ba艧lat谋lm谋艧 M蓹n ist蓹yir蓹m ki, d蓹y蓹ri.
Bel蓹 ki, indi bir az daha s眉r蓹tli davam ed蓹k.
N枚vb蓹ti N.
Yen蓹 bunu ed蓹k.
Amma hit ist蓹mir蓹m burada, 莽眉nki m蓹n 蓹g蓹r
daxili neler g枚rm蓹k ist蓹yir蓹m svop, komanda n蓹 var?
>> Auditoriya: add谋mlar.
>> DAVID J. MALAN: add谋mlar.
Bel蓹 ki, bu m蓹ni add谋mlar deyil, art谋q 莽ox funksiyas谋.
陌ndi, bir az sirli vicdanla, lakin bu yaln谋z
M蓹n indi line 33 oldum m蓹n蓹.
V蓹 yen蓹 bunu bildirin.
Print temp.
Zibil d蓹y蓹ri, m蓹nfi bu d蓹f蓹, lakin yaln谋z h蓹l蓹 bir zibil d蓹y蓹ri.
Bel蓹 ki, n枚vb蓹ti, 莽ap temp ed蓹k.
Bu, 1 ba艧lat谋lm谋艧 olan bir aka x d蓹y蓹ri idi.
>> 陌ndi bizim bir v蓹 g蓹l蓹n x?
Yax艧谋, biz 蓹sas bildiri艧 bu d蓹y蓹rl蓹r x v蓹 y 莽a臒谋r谋b.
Biz a艧a臒谋dak谋 kimi onlara d蓹yi艧dirm蓹k ke莽di.
X verg眉l y, ilk g蓹ldi.
V蓹 sonra, svop onlara x v蓹 y z蓹ng ed蓹 bil蓹r.
Lakin ayd谋nl谋q 眉莽眉n, bu bir v蓹 b onlara z蓹ng.
Amma v蓹 b indi olacaq m眉vafiq olaraq x v蓹 y, sur蓹ti.
>> M蓹n temp geri gdb getm蓹k 蓹g蓹r Bel蓹 ki, indi bir v蓹 indi biridir.
M蓹n indi n枚vb蓹ti n蓹 v蓹 蓹g蓹r 莽ap etm蓹k a, bir art谋q k枚莽眉r眉l眉b.
S眉d ke莽mi艧 t枚k眉l眉r edilmi艧dir porta臒al 艧ir蓹si 艧眉艧蓹, v蓹 ya 蓹ksin蓹.
>> V蓹 m蓹n indi daha sonrak谋, v蓹 蓹g蓹r M蓹n bir a臒l谋 ba艧谋nda olma 莽ek kimi 莽ap 蓹g蓹r,
h蓹l蓹 iki, lakin b indi biridir.
A莽谋臒谋, h蓹l蓹 var.
M蓹n n蓹 temp qay臒谋 yoxdur.
Amma tezlikl蓹 m蓹n indi yaz谋n kimi, dey蓹k indi sonunda edir蓹m, geri getm蓹k davam
proqram.
V蓹 t蓹蓹ss眉f ki, x h蓹l蓹 bir v蓹 y h蓹l蓹 iki.
>> Bel蓹 ki, orada gdb kommunal n蓹 idi?
Bu, m蓹nim d眉zeltmek k枚m蓹k etm蓹di Bu problem 枚zl眉y眉nd蓹,
lakin o, 眉mid m蓹n蓹 k枚m蓹k h蓹yata t蓹r蓹find蓹n ba艧a
ki, b蓹li, m蓹nim m蓹ntiq do臒ru, lakin M蓹nim kodu n蓹tic蓹d蓹 olan deyil
daimi t蓹sir.
Bel蓹 ki, biz ist蓹yirik problem var 陌ndi bu g眉n h蓹ll etm蓹k niyy蓹tind蓹dir.
>> Amma bu yolu il蓹 almaq imkan verir.
String yaland谋r.
Bu, 莽ox deyil, bir veri n枚v眉 ki, Bu C. var
b蓹zi sinonimi olmu艧dur ba艧qa bir 艧ey 眉莽眉n vaxt,
v蓹 biz a艧a臒谋dak谋 a艧kar ed蓹 bil蓹rsiniz.
>> M蓹n蓹 ir蓹li getm蓹k v蓹 a莽maq ed蓹k bir proqram m眉qayis蓹 0 莽a臒谋r谋b.
V蓹 bu bir n枚v眉 deyil, biz kod vasit蓹sil蓹 g蓹zm蓹k ba艧lamaq laz谋md谋r
M蓹n art谋q yazm谋艧d谋r, lakin Bu yaln谋z bir ne莽蓹 x蓹tl蓹ri var.
Bel蓹 ki, bu m眉qayis蓹 0 olunur.
V蓹 ilk 艧ey edir蓹m m蓹tn x蓹tti olur.
>> Amma m蓹n n蓹 g枚r眉rs眉n眉z ilk d蓹f蓹 edirik.
N蓹 ayd谋n line 21 haqq谋nda m眉xt蓹lif n蓹dir?
茝slind蓹, bir d蓹qiq蓹 g枚zl蓹yin.
Bu sur蓹ti iki.
H蓹tta do臒ru proqram deyil.
B眉t眉n sa臒, spoyler alert.
B眉t眉n h眉quqlar, bel蓹 ki, a臒la he莽.
Ki, g蓹l蓹c蓹k suala cavab var.
>> Burada-0 m眉qayis蓹, v蓹 m蓹n olunur m蓹tn x蓹tti almaq 眉莽眉n.
Proqram 莽ox sad蓹.
Bel蓹 ki, bu sad蓹 deyil.
Bu h蓹ft蓹 biri h蓹ft蓹 iki m蓹hsullar谋 kimi haz谋rda. string s = GetString.
陌ndi m蓹n a艧a臒谋 burada yen蓹 deyir蓹m.
string t = GetString.
Bu, sonra, son 艧ey proqram, onun ad谋 t蓹klif kimi,
M蓹n onlar谋 m眉qayis蓹 etm蓹k 眉莽眉n c蓹hd gedir蓹m olunur.
>> Bel蓹 ki, s varsa, ilk simli, = t, onda m蓹n b蓹rab蓹rdir
Siz eyni 艧ey yaz谋n dem蓹y蓹c蓹k.
Ba艧qa, m蓹n dem蓹k gedir蓹m m眉xt蓹lif 艧eyl蓹r yaz谋n.
Bel蓹 ki, bu proqram谋 t蓹rtib v蓹 run bildirin.
Bel蓹 ki, s谋f谋r m眉qayis蓹 ed蓹.
Yax艧谋 g枚r眉n眉r.
No t蓹rtib s蓹hvl蓹r.
>> M蓹n蓹 indi davam ed蓹k v蓹 ./compare-0 yaz谋n.
M蓹n蓹 ir蓹li getm蓹k v蓹 bir 艧ey dem蓹k qoy : Daven bir 艧ey: Rob.
M蓹n f蓹rqli 艧eyl蓹r yaz谋n.
陌ndiy蓹 q蓹d蓹r bel蓹 yax艧谋.
Proqram d眉zg眉n g枚r眉n眉r.
>> Amma yenid蓹n run bildirin.
Bir 艧ey dem蓹k: Gabe.
B眉t眉n h眉quqlar.
B蓹lk蓹 space bar hit v蓹 ya funky bir 艧ey.
Yen蓹 bunu ed蓹k.
Zamyla bel蓹.
Zamyla.
F蓹rqli 艧eyl蓹r.
Bel蓹 ki, n蓹 gedir?
>> Bel蓹likl蓹, biz bu iki x蓹tl蓹ri var kodu, GetString iki d蓹f蓹 莽a臒谋r谋lan.
V蓹 sonra, m蓹n sad蓹c蓹 deyil蓹m s v蓹 t m眉qayis蓹 眉莽眉n 莽al谋艧谋r谋q.
Lakin gedir sonra, h蓹qiq蓹t蓹n, n蓹?
Yax艧谋, m蓹nim yaz谋 bar蓹d蓹 q蓹d蓹r bu n眉mun蓹 q蓹ssab.
V蓹 h蓹qiq蓹t蓹n atmaq imkan Bu q蓹d蓹r burada, h蓹m莽inin.
>> Bel蓹likl蓹, biz bir x蓹tt kimi var string s = GetString.
Bel蓹 ki, sad蓹c蓹 ilk var proqram maraql谋 line.
Lakin b眉t眉n bu zaman olmu艧dur n蓹 ba艧l谋q alt谋nda gedir?
Yax艧谋, sol t蓹r蓹fd蓹n yan simli, olan d蓹yi艧蓹n bir n枚v眉,
v蓹 s deyirl蓹r.
M蓹n bu yadda艧 istifad蓹 bilirik ki, v蓹 ya RAM, el蓹 m蓹nim komp眉ter.
M蓹n m眉c蓹rr蓹d gedir蓹m bir kvadrat kimi 莽蓹km蓹k.
32 bit, bu 莽谋x谋r, lakin g蓹l蓹c蓹kd蓹 daha 莽ox.
V蓹 sonra, n蓹 burada olub?
>> B蓹li, a莽谋q-ayd谋n GetString istifad蓹莽i bir string al谋r.
V蓹 GetString var Zamyla ya Gabe v蓹 ya Daven.
Bel蓹 ki, ilk se莽in bildirin o, Daven idi.
Bel蓹 ki, s蓹m蓹r蓹li, n蓹 GetString var M蓹n蓹 birinci halda D-a-v-e-n idi.
V蓹 sonra, ba艧qa n蓹 etdi m蓹n蓹 gizli verir?
Auditoriya: [i艧itilemez]
DAVID J. MALAN: B蓹li, Bu / 0 v蓹 ya null xarakter.
Bel蓹 ki, s蓹m蓹r蓹li M蓹n蓹 bir string verdi.
Amma biz art谋q 蓹vv蓹lki bilirik bir string yaln谋z bir s谋ra oldu臒unu g枚r眉n眉r
simvol, v蓹 onu l蓹臒v edir Bu x眉susi sentinel xarakter / 0.
>> Amma bu do臒ru 蓹g蓹r bu bir kvadrat,
Bu ayd谋n daha b枚y眉k d眉zbucaql谋 edir.
V蓹 h蓹qiq蓹t蓹n, bu, M蓹n yaln谋z 32 bit t蓹sdiq.
V蓹 bu ayd谋n daha 32 bit, bu y蓹qin ki, 莽眉nki
s蓹kkiz plus s蓹kkiz plus s蓹kkiz plus s蓹kkiz plus s蓹kkiz,
yaln谋z ASCII bayt 莽眉nki.
Nec蓹 heck biz uy臒un gedir Burada bu ki莽ik qutusuna Daven?
>> Yax艧谋, n蓹 h蓹qiq蓹t蓹n GetString edir?
B蓹li, bu grid burada t蓹msil m蓹nim komp眉ter yadda艧 v蓹 ya RAM.
Bel蓹 ki, 枚zba艧谋na ki, 蓹g蓹r dey蓹k Bu h蓹r bir byte t蓹msil
sonra biz h蓹r hesab ed蓹 bil蓹r byte bir 眉nvan olan kimi,
33 Oxford Street, v蓹 ya 34 kimi Oxford Street, v蓹 ya 35 Oxford Street.
>> Bel蓹 ki, evl蓹ri 眉nvanlar谋 kimi v蓹 binalar 眉nvanlar谋 var,
bel蓹 f蓹rdi bayt ed蓹 yadda艧 眉nvanlar谋 v蓹 ya n枚mr蓹l蓹ri var
ki, benzersiz onlara m眉蓹yy蓹n.
陌ndi, bu 蓹sass谋z deyil.
Amma m蓹n gedir蓹m, sad蓹 saxlamaq 眉莽眉n yaln谋z konvensiya hexadecimal istifad蓹,
lakin 0x ba艧qa bir 艧ey dem蓹kdir daha "Bu hexadecimal edir."
v蓹 m蓹n iddia gedir蓹m "D" yadda艧 Byte One q蓹d蓹r 莽at谋r.
>> M蓹n he莽 bir 艧ey ba艧qa ged蓹n var yadda艧, bel蓹 Daven ilk spot var
Byte One at.
Bu, sonra, 0x2 olacaq.
Bu 0x3 gedir.
Bu 0x4 olacaq.
Bu 0x5 gedir.
Bu 0x6 olacaq.
>> Amma bir d蓹f蓹 d眉艧眉n眉r ba艧lamaq n蓹 komp眉ter etdikl蓹rini haqq谋nda
ba艧l谋q alt谋nda, Siz 莽谋xarmaq 眉莽眉n ba艧laya bil蓹rsiniz
nec蓹, bir ne莽蓹 il 蓹vv蓹l, ki 枚z眉 C h蓹yata ke莽irdik.
Y蓹qin ki, GetString n蓹dir returning-- 莽眉nki
deyil kimi hiss qaytar谋lmas谋 Daven, 枚zl眉y眉nd蓹,
o, 艧眉bh蓹siz niyy蓹tind蓹 deyil, 莽眉nki Bu ki莽ik box-- uy臒un
bel蓹 ki, n蓹 GetString y蓹qin qaytar谋lmas谋?
>> Auditoriya: [i艧itilemez]
>> DAVID J. MALAN: Daven yeri.
V蓹 bunu edilmi艧dir He莽 H蓹ft蓹 One ild蓹n.
N蓹 GetString h蓹qiq蓹t蓹n qaytar谋lmas谋 simli ba艧谋na se deyil.
Ki, az a臒 yalan biri.
Bu 眉nvan谋 qaytar谋lmas谋 yadda艧 string, unikal 眉nvan谋.
Daven 33 Oxford k眉莽蓹sind蓹 ya艧ay谋r.
Amma daha m眉f蓹ss蓹l, Gavin ya艧ay谋r 0x1 da, Number One 脺nvan.
>> Bel蓹 ki, n蓹 bu qoymaq olur az box sonra, ayd谋n olmaq
ki, simli yaln谋z 眉nvan谋.
Bel蓹 ki, b眉t眉n bu vaxt, bu var davam.
Amma bu g枚st蓹ri艧l蓹r n蓹 陌ndi b眉t眉n 蓹g蓹r var ki
Bunun i莽蓹risind蓹 bir s谋ra kim edir siz dayand谋rmaq 眉莽眉n, proqram莽谋,
h蓹r hans谋 bir say谋 qoyaraq h蓹r hans谋 bir d蓹yi艧蓹n v蓹 yaln谋z jumping
yadda艧 ki, y谋臒谋n?
V蓹 h蓹qiq蓹t蓹n, biz g枚r蓹c蓹ksiniz ki, bir t蓹hl眉k蓹 n枚vb蓹ti d蓹f蓹 var.
>> Amma indi, bu, kifay蓹t hiss edir.
M蓹n dem蓹k, m蓹n蓹 almaq string, siz m蓹ni Daven verir.
Amma h蓹qiq蓹t蓹n m蓹n蓹 Daven vermir.
M蓹n蓹 ver蓹 B眉t眉n Daven 眉nvan.
M蓹n sonra 蓹min bilirik harada Daven ba艧lay谋r v蓹 ends--
Bu hekay蓹 to 蓹ld蓹 Daven ba艧lay谋r v蓹 bitir oldu臒u,
v蓹, n枚vb蓹ti sonra yadda艧 string ba艧lay谋r?
>> Yax艧谋, siz t蓹hvil edirsinizs蓹 M蓹n蓹 Daven ba艧lan臒谋c谋,
mahiyy蓹tc蓹, nec蓹 M蓹n bilmir蓹m onun ad谋 sonu harada?
X眉susi null xarakteri, hans谋 b眉t眉n daha 蓹h蓹miyy蓹tli indi
The alt谋nda strings 蓹g蓹r ba艧l谋q sad蓹c蓹 m眉蓹yy蓹n edilir
benzersiz xatir蓹sin蓹 枚z yeri.
Bel蓹 ki, b眉t眉n bu d蓹f蓹 ki n蓹 gedir.
>> Bel蓹likl蓹, biz indi baxd谋臒谋m谋z zaman Burada code izah
Siz line 26 s蓹hv ki, 蓹g蓹r.
Niy蓹 Zamyla v蓹 Zamyla f蓹rqlidir?
Niy蓹 Gabe v蓹 Gabe f蓹rqlidir?
B蓹li, geri.
>> Auditoriya: Onlar m眉xt蓹lif 眉nvanlar谋 var.
>> DAVID J. MALAN: Sad蓹c蓹 onlar m眉xt蓹lif 眉nvanlar谋 var.
Siz GetString z蓹ng 脟眉nki yen蓹 m蓹n tez ed蓹c蓹yik ki,
Bu ikinci x蓹tt string 蓹g蓹r t, m蓹n proqram kimi,
GetString ba艧qa bir z蓹ng b蓹rab蓹rdir.
M蓹n z蓹ng n枚vb蓹ti d蓹f蓹 GetString, gedir蓹m
yadda艧 m眉xt蓹lif y谋臒谋n almaq 眉莽眉n.
>> GetString icaz蓹 Bu 蓹m蓹liyyat xahi艧
daha yadda艧 sistemi.
Bu eyni t蓹krar etm蓹k niyy蓹tind蓹 deyil alt谋 bytes h蓹r bir zaman.
Bu yeni olacaq yadda艧 y谋臒谋n, olan
t almaq 眉莽眉n gedir dem蓹kdir burada b蓹zi dig蓹r d蓹y蓹r.
>> M蓹n bunu bel蓹 s = b蓹rab蓹rdir t, siz m眉qayis蓹 deyilik
Bu v蓹 A qar艧谋 qar艧谋 D bu v蓹 bu qar艧谋 V.
Bu m眉qayis蓹 edirik , bu qar艧谋
s蓹mimi olduqca useful-- useless-- edir olduqca 蓹h蓹miyy蓹tsizdir h蓹qiq蓹t蓹n kim 莽眉nki
strings yadda艧谋nda oldu臒u umurunda?
>> Biz, h蓹qiq蓹t蓹n, yoxdur.
V蓹 biz fikrind蓹 deyilik x眉susil蓹 qay臒谋ke艧 ba艧lay谋n.
Yaln谋z bugs yarana bil蓹r d蓹r蓹c蓹d蓹 v蓹 t蓹hl眉k蓹sizlik irad蓹sini yarana bil蓹r
biz, h蓹qiq蓹t蓹n, bu bar蓹d蓹 qay臒谋 ba艧lay谋n.
Bel蓹 ki, bu problemi h蓹ll ed蓹k.
Siz super sad蓹c蓹 bunu d眉zeltmek 莽谋x谋r.
>> V蓹 I 蓹vv蓹l, 蓹slind蓹 ed蓹k daha a艧kar, n蓹 ed蓹c蓹kl蓹rini
bir CS50 sinif 蓹g蓹r, bunu v蓹 h蓹yata idi
iki strings qar艧谋 m眉qayis蓹.
Siz ayd谋n yaln谋z s = t b蓹rab蓹rdir istifad蓹 ed蓹 bilm蓹z.
Amma yaln谋z m蓹ntiqi nec蓹 Bu simli m眉qayis蓹 ed蓹rdiniz
C kodu istifad蓹 ed蓹r蓹k, bu simli qar艧谋?
B蓹li.
>> Auditoriya: Just n蓹 loop 眉莽眉n [I艧itilemez]
DAVID J. MALAN: Perfect.
Auditoriya: [i艧itilemez]
DAVID J. MALAN: B蓹li.
Just loop v蓹 ya a 眉莽眉n istifad蓹 loop v蓹 ya h蓹r hans谋 is蓹.
Ancaq 蓹sas fikir m眉raci蓹t ki, 蓹g蓹r Bu yadda艧 v蓹 ya bir s谋ra y谋臒谋n
v蓹 bu, 眉z蓹rind蓹 t蓹krarlamaq eyni zamanda.
V蓹 yaln谋z m蓹ktublar谋 m眉qayis蓹.
>> V蓹 siz bir olmaq var az ehtiyatl谋, 莽眉nki
Bir barmaq ist蓹mir蓹m Dig蓹r ke莽mi艧 getm蓹k 眉莽眉n
bir string 莽眉nki dig蓹r art谋q.
Bel蓹 ki, check ist蓹diyiniz olacaq sonunda bu x眉susi d蓹y蓹ri, null.
Amma h蓹qiq蓹t蓹n d蓹, edir end ki, kimi sad蓹.
V蓹 s蓹mimi, biz laz谋m deyil ki, tam yenid蓹n k蓹艧f.
Burada Version iki edir.
V蓹 n蓹 m蓹n burada dem蓹k gedir蓹m ki, 蓹v蓹zin蓹 s m眉qayis蓹 = t b蓹rab蓹rdir
String 蓹g蓹r m蓹n 蓹v蓹zin蓹, dem蓹k gedir蓹m s verg眉l t m眉qayis蓹 = 0 b蓹rab蓹rdir.
陌ndi string n蓹 m眉qayis蓹 olunur?
>> Bu bir funksiyas谋 var, 莽谋x谋r ki, kimin m蓹qs蓹di h蓹yat C il蓹 g蓹lir
iki strings m眉qayis蓹 edir.
Biz oxumaq v蓹 m眉qayis蓹 bulamaq onun man s蓹hif蓹 v蓹 ya s蓹n蓹dl蓹r v蓹 ya CS50
aray谋艧, o, sad蓹c蓹 ki, h蓹y蓹can dem蓹k
m蓹nfi v蓹 ya qaytar谋r m眉qayis蓹 say谋 v蓹 ya m眉sb蓹t say谋 v蓹 ya s谋f谋r,
s谋f谋r dem蓹kdir onlar b蓹rab蓹r ist蓹yirik.
>> Bel蓹 ki, yaln谋z z蓹nn蓹 qap谋l谋rlar.
N蓹 蓹g蓹r dem蓹k bil蓹r m眉qayis蓹 yekunlar谋 t蓹rp蓹nm蓹k
m蓹nfi d蓹y蓹r v蓹 ya m眉sb蓹t d蓹y蓹r?
Auditoriya: B枚y眉kd眉r v蓹 ya daha az.
DAVID J. MALAN: B蓹li, v蓹 ya daha 莽ox azd谋r.
Bel蓹 ki, bir b眉t眉n d眉zm蓹k 眉莽眉n ist蓹yirdi bir dictionary-- strings d蓹st蓹
biz n蓹hay蓹t road-- a艧a臒谋 olacaq kimi m眉k蓹mm蓹l funksiyas谋 potensial istifad蓹 etm蓹k,
bunu olacaq, 莽眉nki sizin 眉莽眉n strings m眉qayis蓹, v蓹 dem蓹k
Bir b 蓹vv蓹l g蓹lir yoxdur, ya yoxdur b a 蓹lifba s谋ras谋 蓹vv蓹l g蓹lib.
Biz m蓹hz bunu ed蓹 bil蓹rsiniz.
>> M蓹n dig蓹r biri idi x蓹b蓹r Bu misalda 艧ey.
N蓹 ali d蓹yi艧ib Bu 蓹sas funksiyas谋 q蓹d蓹r?
Char *.
V蓹 bu ki, dig蓹r a臒 yaland谋r.
B眉t眉n bu vaxt, zaman var simli yaz谋l谋 edilmi艧dir,
biz gizli yeniden edilmi艧dir char kimi string * bel蓹 ki, h蓹qiq蓹t蓹n cingilti
ba艧a d眉艧眉r.
>> Ba艧qa s枚zl蓹, cs50.h v蓹 biz n蓹hay蓹t g枚r蓹c蓹ksiniz kimi,
biz bir sinonimi adl谋 simli ki, char * kimi eyni 艧ey.
V蓹 indi 眉莽眉n, yaln谋z bilm蓹k * Bu 莽蓹r莽iv蓹d蓹, 蓹n az谋,
眉nvan谋 dem蓹kdir.
>> N蓹 眉nvan谋?
Yax艧谋, bu fakt dedim ki, char * v蓹 * int v蓹 ya * sal
char * o dem蓹kdir ki, bir char 眉nvan谋.
Bel蓹 ki, burada bu ki莽ik box, aka string h蓹qiq蓹t蓹n n枚v眉 char * edir,
olan dey蓹r蓹k sad蓹c蓹 bir x眉lya yoludur, Bu qutusuna 眉nvan ged蓹c蓹k.
V蓹 n蓹 bir 眉nvan aid deyil?
G枚r眉n眉r, bir char.
>> Amma biz tamamil蓹 ola bil蓹r int * v蓹 ba艧qa 艧eyl蓹r var.
Amma indi, char * h蓹qiq蓹t蓹n 蓹n 莽ox sad蓹 v蓹 faiz biridir.
Bel蓹 ki, bu problem davam edir yen蓹 d蓹 y眉ks蓹l蓹c蓹k.
>> Bu proqram a莽maq d眉艧眉n蓹k.
Indi biz proqnozla艧d谋rmaq bil蓹rsiniz 蓹g蓹r in g枚r蓹k n蓹 bu kodu il蓹 yanl谋艧.
Bu proqram bel蓹, sur蓹ti-0, m蓹n ir蓹li getm蓹k v蓹 daha z蓹ng gedir
GetString v蓹 s d蓹y蓹rini saxlamaq.
>> V蓹 sonra, niy蓹, bunu edir蓹m yaln谋z h蓹ft蓹 son bir 枚y眉d-n蓹sih蓹t kimi?
Biz GetString dem蓹k idi b蓹z蓹n null qaytar谋r.
N蓹 蓹g蓹r dem蓹kdir GetString null qaytar谋r?
Bir 艧ey yanl谋艧 getdi.
Bu y蓹qin ki, simli 莽ox dem蓹kdir b枚y眉k, yadda艧 komp眉ter h蓹yata.
Bu super, super, super olur nadir hallarda, lakin ola bil蓹r.
Biz onu yoxlamaq ist蓹yirsinizs蓹, v蓹 biz bunu edirik b眉t眉n var.
>> 茝g蓹r deyils蓹, biz indi g枚rm蓹k laz谋md谋r, 莽眉nki 艧eyl蓹r 眉莽眉n ad蓹t蓹n yoxlan谋lmas谋 ba艧lamaq
null kimi, g眉c h蓹qiq蓹t蓹n getm蓹k ba艧lamaq
yadda艧 眉nvanlar谋 etibars谋z ki.
V蓹 fahi艧蓹liy蓹 c蓹lb edilm蓹si madd蓹l蓹ri ba艧lamaq olacaq daha seqmentasiya 莽at谋艧mazl谋qlar.
V蓹 ya Mac v蓹 ya PC, yaln谋z komp眉ter s蓹b蓹b asmaq 眉莽眉n
v蓹 ya proqram potensial dondurmaq.
>> Bel蓹 ki, indi m蓹n, sur蓹ti-0.c iddia I ki, 艧蓹kild蓹 bu strings sur蓹ti gedir蓹m
28 girdi.
V蓹 sonra, m蓹n gedir蓹m alt谋ndak谋 t蓹sdiq etm蓹k
burada m蓹n gedir蓹m ki, onlardan biri d蓹yi艧dirm蓹k 眉莽眉n.
>> Bel蓹 ki, bu bildiri艧.
M蓹n bizim k枚hn蓹 dost strlen z蓹ng edir蓹m.
V蓹 yaln谋z 陌ngilis izah Bu x蓹tt 34 n蓹 edir?
N蓹 t bracket 0 yoxdur sol 蓹ks etdirir.
B蓹li.
>> Auditoriya: t birinci xarakter?
DAVID J. MALAN: t birinci xarakter.
V蓹ssalam.
T ilk xarakteri, M蓹n ist蓹yir蓹m Bu b枚y眉k versiyas谋 t蓹yin etm蓹k
t ilk xarakteri.
Bel蓹 ki, bu h蓹rfl蓹 ilk m蓹ktubu.
V蓹 sonra, son 艧ey yoxdur Bu proqram m蓹n burada t蓹sdiq
orijinal, var, v蓹 burada sur蓹ti, t var.
>> Amma hekay蓹 蓹sas谋nda biz yaln谋z , strings h蓹qiq蓹t蓹n n蓹 bar蓹d蓹
h蓹qiq蓹t蓹n line 28 n蓹 bunu, v蓹 n蓹
ged蓹n n蓹tic蓹sind蓹 s蓹hv ekranda olacaq?
>> Bel蓹 ki, ilk, ilk sual, 28.
String t = h蓹qiq蓹t蓹n n蓹 edir?
Biz sol t蓹r蓹fd蓹n varsa burada yan string t = s;
ki, m蓹n蓹 bir qutu verir burada v蓹 bir qutu burada.
V蓹 bu 眉nvan谋 0x g眉man G蓹lin 枚zba艧谋na, bu d蓹f蓹 dem蓹k 50 bildirin.
N蓹 string t = s yoxdur ba艧l谋q alt谋nda n蓹?
>> Auditoriya: [i艧itilemez]
>> DAVID J. MALAN: Bu yadda艧 saklar orada h蓹ll, bel蓹 ki, 0x50 orada gedir.
陌ndi 蓹g蓹r, m蓹n ilk getm蓹k t xarakteri v蓹 onu b枚y眉k,
M蓹n s蓹m蓹r蓹li s n蓹 edir蓹m?
M蓹n, h蓹qiq蓹t蓹n, do臒ru, eyni 艧eyi edir蓹m?
脟眉nki 蓹g蓹r 脺nvan 0x50-- v蓹 yaln谋z m蓹n Burada board 莽ox otaq yoxdur,
lakin, burada a艧a臒谋 0x50 g眉man m蓹nim komp眉ter yadda艧 haradasa.
>> M蓹n, m蓹s蓹l蓹n, Gabe var bu kimi, burada ki莽ik edir.
M蓹n demi艧蓹m t bracket 0 kapitalla艧d谋r谋l谋r olur.
Yax艧谋, t bracket 0 t ilk m蓹ktubu.
Bel蓹 ki, az g gedir olmaq b枚y眉k G. Lakin problem
, n蓹 d蓹 i艧ar蓹 edir edir?
>> Auditoriya: eyni.
>> DAVID J. MALAN: The eyni d蓹qiq 艧ey.
Bel蓹 ki, b蓹lk蓹 bir sad蓹 izah谋, sintaksis bir az q蓹rib蓹 olsa da.
Bel蓹 ki, bunu ed蓹k.
./copy-0 onda sur蓹ti-0 olun.
Bir 艧ey dem蓹k: Gabe.
V蓹 t蓹蓹ss眉f ki, h蓹m Onlara art谋q kapitalla艧d谋r谋lm谋艧 edilmi艧dir,
amma ki, 蓹sas biz sad蓹c蓹 ist蓹yirik ki, s蓹b蓹b
陌ndi 眉nvanlar谋 il蓹 m蓹艧臒ul.
>> Bel蓹 ki, nec蓹 biz ba艧lamaq yoxdur address-- he莽 bir cinas intended--
biz h蓹ll etm蓹k 眉莽眉n ba艧lamaq nec蓹 bu problem?
Yax艧谋, copy1.c, h蓹r 艧eyi gedir bir az daha m眉r蓹kk蓹b almaq 眉莽眉n.
Amma bir iddia konseptual sad蓹 h蓹ll.
>> Ilk bax谋艧da almaq 眉莽眉n bel蓹 莽蓹tindir.
Ilk asan olacaq deyil vaxt, b蓹lk蓹 d蓹, onu yaz谋n
lakin problem ki, 蓹g蓹r sad蓹c蓹 t = s yaln谋z bunu
n眉sx蓹 眉nvan谋, n蓹, yen蓹 siz蓹 se莽蓹 bil蓹rsiniz, 蓹g蓹r,
h蓹ll olacaq h蓹qiq蓹t蓹n bir string 莽谋xarmaq 眉莽眉n?
>> Auditoriya: Biz y蓹qin ki, laz谋md谋r yen蓹 bir loop istifad蓹 edin.
>> DAVID J. MALAN: B蓹li.
Y蓹ni biz yenid蓹n bir loop ehtiyac olacaq.
V蓹 biz sur蓹ti ist蓹yirsinizs蓹, 莽眉nki ba艧qa simli bir string s,
biz y蓹qin ki, bunu ist蓹yir蓹m xarakteri il蓹 xarakter.
Amma problem halda, Bu, ilk s
indi biz ayd谋n 艧蓹kild蓹 ba艧lamaq laz谋md谋r t 眉莽眉n yadda艧 ayr谋lmas谋.
>> Ba艧qa s枚zl蓹, ed蓹k Bu son bir d蓹f蓹 yenid蓹n.
Bu string s = GetString edir.
V蓹 h蓹m莽inin, burada bu q蓹d蓹r qoymaq bildirin.
Bu GetString edir.
Bir 艧ey v蓹 sonra 艧蓹kil kimi 蓹vv蓹lki kimi olacaq,
g-a-b-e- / 0.
Ki, bu kimi bir az bir 艧ey g枚r眉n眉r.
V蓹 s buna g枚r蓹 d蓹, biz bu 0x50 z蓹ng v蓹 51, 52 olacaq.
>> Bel蓹 ki, bu 0x50 edir.
V蓹 sonra, m蓹n string t yoxdur.
Yadda艧, yaln谋z olacaq Bu kimi bir ki莽ik kvadrat verir.
Bel蓹 ki, 蓹sas add谋m indi n蓹 var?
M蓹n t daxil s kopyalamak etm蓹k ist蓹yirsinizs蓹, n蓹 bo艧 biz burada doldurmaq laz谋md谋r?
Yoxsa biz 眉莽眉n n蓹 laz谋md谋r y眉ks蓹k s蓹viyy蓹d蓹 edirsiniz?
B蓹li?
Biri?
B蓹li.
>> Auditoriya: Biz [I艧itilemez] laz谋md谋r.
DAVID J. MALAN: B蓹li, biz bu bo艧 doldurmaq laz谋md谋r.
M蓹n sonra sur蓹ti bilm蓹z Gabe ad谋 kapitalla艧d谋rmaq
M蓹n 蓹m蓹liyyat sistemi xahi艧 q蓹d蓹r yadda艧 bir y谋臒谋n
ki, orijinal kimi 蓹n az谋 b枚y眉k deyil.
Bel蓹 ki, bir m蓹s蓹l蓹 il蓹 biz蓹 yarad谋r.
>> M蓹n 蓹m蓹liyyat sistemi xahi艧 n蓹 yaln谋z bir sad蓹 az pointer 眉莽眉n
bu adlan谋r kimi, 眉nvan谋, bir pointer deyil
sad蓹 bir az qutusu bu kimi bir string adlan谋r?
Nec蓹 蓹m蓹liyyat ist蓹mir蓹m yadda艧 b枚y眉k bir y谋臒谋n sistemi?
Bu g眉n蓹 q蓹d蓹r, M蓹n yaln谋z geri kazan谋lm谋艧 dolay谋 GetString z蓹ng.
Bel蓹 ki, nec蓹 GetString edir onun yadda艧 蓹ld蓹 h蓹tta?
>> B蓹li, bu var 莽谋x谋r ki, Burada bu dig蓹r funksiyas谋
ki, biz indi istifad蓹 etm蓹k ba艧lamaq laz谋md谋r.
陌ndi, bu yol daha sirli than-- g枚r眉n眉r v蓹 m蓹n it-- bil蓹rsiniz olan yaln谋z bir am
Bu x蓹tt yol daha sirli g枚r眉n眉r o, ilk bax谋艧dan olmal谋d谋r.
Amma onu ayr谋 tease bildirin.
>> Sol t蓹r蓹fd蓹, m蓹n char * t var.
陌ngilis Bel蓹 ki, formala艧d谋rmaq ba艧lamaq ed蓹k texniki jargon m眉vafiq c眉ml蓹l蓹r.
Bel蓹 ki, bu ayr谋lmas谋 bir tipli char d蓹yi艧蓹n t adl谋 *.
陌ndi h蓹qiq蓹t蓹n n蓹 dem蓹kdir?
>> Yax艧谋, o dem蓹kdir ki, m蓹n n蓹 gedir蓹m t adlanan bu d蓹yi艧蓹n qoymaq?
Bir char bir 眉nvan.
Bel蓹 ki, yaln谋z sad蓹 var daha a臒labatan 艧蓹kild蓹
sol 蓹l 眉z眉n眉 izah.
Bel蓹 ki, burada yaln谋z bu box yarad谋r.
Bel蓹 ki, sa臒 t蓹r蓹find蓹, ehtimalla gedir
ki, daha b枚y眉k ayr谋lmas谋 yadda艧 nec蓹 y谋臒谋n?
Bel蓹 ki, bu ayr谋 tease bildirin.
>> Bu, ilk bax谋艧da b枚y眉k oldu lakin daxili burada n蓹 olub?
Birincisi, malloc var olan yeni dost, y蓹qin
"Yadda艧 ayr谋lmas谋."
Bel蓹 ki, bu q蓹bul olunan d蓹lil onu, bel蓹 ki, olduqca b枚y眉k d蓹lil var.
Bel蓹 ki, bu ayr谋 tease bildirin.
>> s strlen, 蓹lb蓹tt蓹, t蓹msil the--
Auditoriya: simvollar谋n say谋.
DAVID J. MALAN: Yaln谋z s simvol say谋.
Bel蓹 ki, s uzunlu臒u, orijinal string.
Bel蓹 ki, G-a-b-e.
Bel蓹 ki, y蓹qin ki, bu d枚rd halda var.
Niy蓹 sonra +1 edir蓹m s strlen z蓹ng?
Auditoriya: [i艧itilemez]
DAVID J. MALAN: Bunun 眉莽眉n x眉susi null xarakteri.
M蓹n蓹 qalsa uzunlu臒u n蓹 Gabe ad谋, m蓹n d枚rd dem蓹k gedir蓹m.
Ba艧l谋q alt谋nda, baxmayaraq ki, m蓹n laz谋m null xarakteri 眉莽眉n be艧inci byte.
M蓹n +1 edir蓹m n蓹 ki, var.
>> 陌ndi yaln谋z halda bu 莽al谋艧an ba艧qa bir komp眉ter proqram谋, dem蓹k
CS50 cihaz, bir char h蓹cmi
m眉xt蓹lif ola bil蓹r 枚z komp眉ter 眉莽眉n olan
M蓹n bu z蓹ng ed蓹 bil蓹rsiniz 莽谋x谋r ki, operator sizeof, yaln谋z komp眉ter xahi艧
bir 枚l莽眉s眉 n蓹dir bu komp眉terd蓹 char?
>> V蓹 bu be艧 莽arparaq bir char 枚l莽眉s眉 il蓹 n眉mun蓹
蓹n komp眉ter olacaq yaln谋z bir, malloc ola
M蓹n蓹 bu b枚y眉k v蓹sait ay谋rmaq niyy蓹tind蓹dir Burada sa臒 眉z蓹rind蓹 yadda艧 y谋臒谋n.
V蓹 d枚nm蓹k olacaq Bu, bel蓹 ki, bir funksiyas谋 edir
n蓹 m蓹n蓹 qay谋tmaq 眉莽眉n gedir?
Auditoriya: The 眉nvan谋?
DAVID J. MALAN: n蓹 眉nvan谋?
Auditoriya: xatir蓹sin蓹 Of ayr谋lan?
DAVID J. MALAN: 蓹n yadda艧 ay谋r谋b.
M蓹n s蓹mimi, he莽 bir fikrim yoxdur bu ba艧a gedir.
M蓹n t蓹klif etm蓹k niyy蓹tind蓹 deyil蓹m Bu 0x88 sonuna q蓹d蓹r olacaq.
Tamamil蓹 蓹sass谋z, lakin 0x50 ba艧qa yerd蓹,
蓹m蓹liyyat sistemi, 莽眉nki n蓹 Windows v蓹 Mac OS m蓹nim 眉莽眉n n蓹 edir
verilm蓹si ki, 蓹min olun M蓹n蓹 RAM m眉xt蓹lif chunks.
>> Bel蓹 ki, bu d蓹y蓹ri bu deyil yadda艧 y谋臒谋n up son bil蓹r.
Bel蓹 ki, bu 0x88, burada bitir edir.
Bel蓹 ki, indi ayd谋n, ba艧a d眉艧m蓹k olar bu kimi eyni deyil ki,
onlar i艧ar蓹 edirik, 莽眉nki yadda艧 m眉xt蓹lif chunks.
M蓹n indi h蓹qiq蓹t蓹n, bu sur蓹ti ist蓹yirsinizs蓹 Bel蓹 ki, da, sizin t蓹klif h蓹ll ed蓹k.
>> , Yaln谋z getm蓹k loop 眉莽眉n yaratmaq imkan v蓹 t bracket i s bracket i al谋r.
Indi istifad蓹 ed蓹 bil蓹rsiniz, 莽眉nki Bu array kimi notation,
莽眉nki baxmayaraq malloc 莽ox generically m蓹n蓹 yadda艧 ay谋r谋r,
yadda艧 biti艧ik bayt edir.
Byte, byte, byte, geri geri geri.
>> M蓹n bir proqram莽谋 kimi, 艧眉bh蓹siz ki, ed蓹 bil蓹rsiniz bir s谋ra kimi m眉alic蓹 ed蓹n
M蓹n bu n蓹hay蓹t tan谋艧 istifad蓹 ed蓹 bil蓹rsiniz dem蓹kdir yaln谋z bir kvadrat m枚t蓹riz蓹 notation.
>> Bel蓹 ki, m蓹n蓹, 莽眉nki orada fasil蓹 imkan Bu h蓹tta b眉t眉n bir d蓹f蓹 莽ox
蓹sas ideyas谋 recap olsa simli edir, b眉t眉n bu vaxt,
yeni data type 枚zl眉y眉nd蓹 deyil.
Bu, sad蓹c蓹 bir s枚zd蓹 g枚st蓹rici var bir xarakter 眉nvan谋,
yaln谋z dem蓹kdir bir s谋ra ki insan konvensiyas谋 il蓹
biz 0x bir 艧ey kimi yazmaq meyli.
>> Amma bu, yaln谋z bir s谋ra 33 Oxford Street kimi,
olan olur CS binan谋n 眉nvan谋.
Bu m蓹lumat h蓹r hans谋 suallar?
B蓹li?
>> Auditoriya: Niy蓹 biz yoxlamaq yoxdur b蓹rab蓹r t null?
>> DAVID J. MALAN: Niy蓹 biz bunu null b蓹rab蓹r t yoxlamaq?
Biz documentation-- oxumaq 蓹g蓹r malloc 眉莽眉n b枚y眉k question--,
Bu, g枚z蓹l 莽ap dem蓹k olacaq b蓹z蓹n malloc, null qay谋tmaq bil蓹r
yaln谋z GetString kimi.
V蓹 h蓹qiq蓹t蓹n, GetString null qaytar谋r 脰z n枚vb蓹sind蓹, malloc null qaytar谋r 蓹g蓹r,
GetString malloc istifad蓹 edir, 莽眉nki.
>> OS 蓹g蓹r ki, ba艧 ver蓹 bil蓹r Mac OS, Windows, n蓹 olursa olsun, sad蓹c蓹
sizin 眉莽眉n yadda艧.
Bel蓹 ki, orada n蓹 var.
>> V蓹 m蓹n蓹 ba艧qa bir 艧ey a艧kar imkan yaln谋z fikrinizi 蓹s蓹c蓹k bil蓹r
v蓹 ya tamamil蓹 莽ox x蓹tti 眉z蓹rind蓹 olacaq.
Amma m蓹n蓹 qoparmaq imkan 莽谋xarmaq 眉莽眉n loop 眉莽眉n eyni,
bir an 蓹vv蓹l geri idi bu. t bracket i s bracket i al谋r.
>> Nice v蓹 istifad蓹莽i dostu.
Daha H蓹ft蓹 陌ki kimi hiss edir.
Amma bu versiyas谋 h蓹qiq蓹t蓹n ola bil蓹r sirli g枚r眉n眉r bu kimi yenid蓹n.
Bu texnika adl谋 g枚st蓹rici var hesab, 眉nvan谋 hesab.
Amma niy蓹 bu i艧?
>> 陌ndi annoyingly, bu C m眉蓹llifl蓹ri istifad蓹 etm蓹k q蓹rar谋na
m眉xt蓹lif m蓹qs蓹dl蓹r 眉莽眉n * r蓹mzidir.
Biz art谋q bir d蓹f蓹 istifad蓹 g枚rd眉m dem蓹kdir char *, "M蓹n蓹 d蓹yi艧蓹n verir
ki, ehtiva olacaq bir char 眉nvan谋. "
Bu kontekstd蓹 bel蓹 char * "M蓹n蓹 d蓹yi艧蓹n verir" dem蓹kdir.
>> T蓹蓹ss眉f ki, siz * olmadan istifad蓹 蓹g蓹r qar艧谋s谋nda bir s枚z, char kimi,
indi deyirl蓹r dereference operator.
V蓹 biz uzun 蓹vv蓹l bu daha g枚r蓹c蓹ksiniz.
Amma bu, yaln谋z "getm蓹k" dem蓹kdir.
Kims蓹 m蓹n蓹 t蓹hvil 蓹g蓹r, dey蓹n kimi ka臒谋z bir par莽a "33 Oxford Street,"
I "* 33 Oxford Street," 蓹g蓹r o dem蓹kdir ki, "CS binan谋n yol a艧a臒谋 getm蓹k."
>> Bel蓹 * orada 蓹g蓹r getm蓹k dem蓹kdir Bunun qar艧谋s谋nda he莽 bir s枚z var.
Bel蓹 ki, ayd谋n olmaq, t n蓹dir?
t y谋臒谋n 眉nvan谋 M蓹n蓹 geri verildi ki, yadda艧.
s, ayd谋n olmaq n蓹, bu 眉nvan谋 M蓹s蓹l蓹n, biz m眉zakir蓹 etdik,
ki莽ik Gabe v蓹?
nin 眉nvan谋 kontormerinin T蓹f蓹rr眉atlar
Auditoriya: The string.
DAVID J. MALAN: Gabe orijinal ad谋 Of.
Bel蓹 ki, 眉nvan var yadda艧 bu y谋臒谋n.
M蓹n dem蓹k 蓹g蓹r t + i i, bildiri艧, yaln谋z bizim k枚hn蓹 dostumuzdur.
Bu, sad蓹c蓹 bir index d蓹yi艧蓹n ki, q蓹d蓹r s谋f谋r olan iterating
simli s uzunlu臒u.
Bel蓹 ki, sonra s谋f谋r, bir olacaq sonra iki, sonra 眉莽, sonra d枚rd.
Bel蓹 ki, bu yeni topla艧maq bildirin Scratch kimi puzzle 蓹d蓹d, Siz,
baxmayaraq, yen蓹 syntax Not 莽ox daha gizli deyil.
Bel蓹 ki, t 眉nvan谋 + edir i m蓹n蓹 verm蓹k gedir
bir s谋ra, bu, 莽眉nki b眉t眉n biz hex kimi r蓹sm etdik ki, n枚mr蓹l蓹ri.
Lakin onlar yaln谋z 蓹d蓹d ist蓹yirik.
>> T 眉nvan谋 dedik 蓹g蓹r Bel蓹 ki, idi 0x88, 0x88 plus s谋f谋r budur.
Siz rahat deyilik, h蓹tta h蓹l蓹 hex, bir tahmin edir.
>> Auditoriya: Bu orijinal.
>> DAVID J. MALAN: 0x88 Still.
Bel蓹 * n蓹 dem蓹kdir 0x88 edir?
Bu dem蓹kdir "getm蓹k" dem蓹kdir s蓹m蓹r蓹li, "Burada sizin barmaq qoymaq."
陌ndi sa臒 t蓹r蓹fd蓹n Bu ifad蓹, * v蓹 sonra parens,
s i olan s dem蓹kdir + Burada ki莽ik g q蓹d蓹r m眉raci蓹t.
s + 0, 蓹lb蓹tt蓹, n蓹 s, s.
>> Bel蓹 ki, indi it * s, var olan yaln谋z * 33 kimi Oxford Street 眉nvan getm蓹k dem蓹kdir
s.
Bel蓹 ki, burada bu barmaq, sa臒 var.
Bel蓹 ki, n蓹 n蓹 kopyalay谋n 眉莽眉n gedir蓹m?
Olan sa臒 艧ey, gabe, burada, burada ki莽ik g.
>> Ki, v蓹 bel蓹 t蓹siri loop ilk iteration,
Siz g枚r眉n眉r baxmayaraq, t蓹klif bir 艧ey daha crazy daha m眉r蓹kk蓹b
biz 蓹vv蓹l g枚rd眉m sad蓹c蓹 deyib burada getm蓹k v蓹 burada xarakter sur蓹ti.
Bu, h蓹m d蓹 yerl蓹rd蓹 bir x蓹rit蓹 verilm蓹si oldu.
>> V蓹 biz bu g眉n蓹 q蓹d蓹r daha 莽ox laz谋md谋r.
Amma indi 眉莽眉n, 眉mid yaln谋z edir bu 蓹sas fikir b蓹zi t蓹qdim edir.
V蓹 h蓹qiq蓹t蓹n, baxaq burada bir final proqram谋
v蓹 sonra v蓹d claymation, olan h蓹r 艧ey do臒ru olacaq.
B眉t眉n h眉quqlar.
M蓹n蓹 orada getm蓹k g眉nd蓹m蓹 a莽maq bildirin.
Biz geri g蓹lm蓹k laz谋md谋r me-- bel蓹 ed蓹k uzun 蓹vv蓹l bu 艧蓹kil.
Burada bu final misal a莽maq ed蓹k.
>> Bel蓹 ki, burada super, super h蓹yata proqram谋
a艧a臒谋dak谋 ki, h蓹yatda he莽 bir 艧ey.
Bu ilk iki d蓹yi艧蓹nl蓹rin, x b蓹yan v蓹 bu zaman 蓹d蓹d deyil ki, y,
枚zl眉y眉nd蓹.
Onlar 枚zl眉y眉nd蓹, integers deyilik.
Onlar * y蓹qin var int.
Bel蓹 ki, yaln谋z h蓹r k蓹s, bu n蓹 dem蓹kdir Sizin data n枚v眉, sizin d蓹yi艧蓹n,
n枚v眉 int * ulduz var?
Ki, bir int 眉nvan谋 var.
>> M蓹n h蓹l蓹 burada he莽 bir fikrim var.
Bu yaln谋z ", n蓹hay蓹t qoymaq dem蓹kdir burada int 眉nvan谋. "
Bu yerd蓹 0x50, 0x88, yadda艧, bir 眉nvan oldu臒unu gedir.
V蓹 y n蓹 var h蓹m莽inin, olacaq.
>> M蓹n indi dem蓹k 蓹g蓹r x = malloc (sizeof (int)), Bu dey蓹r蓹k bir x眉lya yoludur,
hey 蓹m蓹liyyat sistemi, malloc vasit蓹sil蓹, 枚l莽眉s眉 眉莽眉n m蓹n蓹 kifay蓹t q蓹d蓹r yadda艧 verm蓹k
y蓹qin ki, bir int v蓹 32 bit v蓹 ya d枚rd bayt olacaq.
>> Bel蓹 ki, malloc n蓹 qay谋tmaq edir?
Malloc bir 眉nvan qaytar谋r.
Bel蓹 ki, n蓹 x saxlan谋l谋r almaq olacaq?
Y谋臒谋n 眉nvan谋 yadda艧, d枚rd bytes ki, malloc
yaln谋z xahi艧 m蓹nim 眉莽眉n a艧kar 蓹m蓹liyyat sistemi.
>> 陌ndi is蓹, line Burada d枚rd, bu * x = 42.
Sad蓹c蓹, ayd谋n olmaq orada n蓹 olacaq?
Sol t蓹r蓹find蓹, * x.
ki, * 33 Oxford Street kimi.
Bel蓹 ki, * x n蓹 dem蓹kdir?
>> Auditoriya: gedin.
>> DAVID J. MALAN: 眉nvan gedin.
Harada ki, y谋臒谋n yadda艧 ona getm蓹k edir.
V蓹 t蓹bii ki, n蓹 var qoymaq?
Auditoriya: 42.
DAVID J. MALAN: 42.
B眉t眉n sa臒, * y, eyni fikir.
Y 眉nvan gedin.
Orada say谋 13 qoyun, lakin haz谋rda y n蓹dir?
Auditoriya: yadda艧 y yoxdur.
DAVID J. MALAN: var y 眉莽眉n yadda艧.
Bel蓹 ki, n蓹 y蓹qin y yoxdur Deyirdik oldu臒unuz kimi, ola?
>> Auditoriya: Garbage.
>> DAVID J. MALAN: B蓹zi zibil d蓹y蓹ri.
陌ndi, zibil d蓹y蓹ri h蓹l蓹 bir say谋.
Bu h蓹l蓹 bir 眉nvan s蓹hv ola bil蓹r.
Bu kims蓹 sanki var , bir 艧ey yaz谋
v蓹 m蓹n m蓹nas谋 kimi t蓹hrif k眉莽蓹 a艧a臒谋 bir ev.
V蓹 yaln谋z getm蓹k 眉莽眉n c蓹hd edin 枚z olmayan bir bina,
v蓹 ya yadda艧 bir y谋臒谋n siz yoxdur verilmi艧 olub, pis 艧eyl蓹r ba艧 ver蓹 bil蓹r.
Komp眉ter b蓹zi dig蓹r q蓹za, v蓹 ya ola bil蓹r t蓹yin davran谋艧 ba艧 ver蓹 bil蓹r.
>> Bel蓹 ki, o, Binky bu intro edir.
M蓹n h蓹l蓹 20, xat谋rlay谋ram b蓹zi q蓹rib蓹 il sonra,
M蓹n m蓹n n蓹hay蓹t oldu臒u g枚st蓹ricil蓹rin蓹 ayd谋n.
>> 茝g蓹r, dem蓹k olan 眉莽 d蓹qiq蓹 buradan ayr谋lmaq
v蓹 m蓹n n蓹 edir蓹m g枚st蓹ricil蓹rin蓹 anlamaq, d蓹rk
M蓹n 20 yad edibl蓹r B蓹zi crazy s蓹b蓹bd蓹n il
zaman v蓹 n蓹 n蓹hay蓹t batm谋艧 m蓹nim t蓹dris oturan
fellow, Nishat Mehta ild蓹 Eliot ia艧蓹 xidm蓹tl蓹ri Hall geri.
陌ndi m蓹n yad etdik bu idi, 莽眉nki
m枚vzular M蓹n d蓹 bir x眉susi il蓹 m眉bariz蓹 etdi.
V蓹 sonra, n蓹hay蓹t t谋klayan, kimi m蓹n bir 莽ox m枚vzu dem蓹k c蓹sar蓹t
n蓹hay蓹t olacaq.
陌ndi ki, b眉t眉n hiss etm蓹k xo艧b蓹xt v蓹 b眉t眉n daha inand谋r谋c谋,
nin final n蓹z蓹r imkan bizim Burada Binky son 眉莽 d蓹qiq蓹,
bizim dostumuz, Nick g蓹l蓹n Stanford Parlante.
>> [Video playback]
>> -Hey, Binky.
Uyan!
Bu g枚st蓹rici 蓹yl蓹nc蓹 眉莽眉n vaxt var.
>> Ki, hans谋 var?
G枚st蓹ricil蓹r haqq谋nda m蓹lumat 蓹ld蓹 edin?
Oh, goody!
>> B蓹li, ba艧lamaq 眉莽眉n, biz edirik dan谋艧arlar bir ne莽蓹 g枚st蓹ricil蓹rin蓹 laz谋md谋r gedir.
>> -Ok.
Bu kodu, iki g枚st蓹ricil蓹rin蓹 ay谋r谋r olan integers qeyd ed蓹 bil蓹rsiniz.
-Ok.
Yax艧谋, m蓹n iki g枚st蓹ricil蓹rin蓹 g枚rm蓹k, lakin onlar bir i艧ar蓹 ola g枚r眉nm眉r.
>> Y蓹ni do臒ru.
茝vv蓹lc蓹 g枚st蓹ricil蓹rin蓹 bir 艧ey qeyd etmir.
Onlar deyilir qeyd 艧eyl蓹ri pointees v蓹 onlar谋 yarad谋lmas谋
bir ayr谋 add谋m.
>> Sa臒, -Oh.
M蓹n ki, bilirdi.
The pointees ayr谋d谋r.
Er, bel蓹 ki, nec蓹 bir pointee ayr谋lmas谋 edirsiniz?
>> -Ok.
B蓹li, bu kodu ay谋r谋b yeni tam pointee,
v蓹 bu hiss蓹si x onu qeyd etm蓹k.
>> -Hey, Daha yax艧谋 g枚r眉n眉r.
Bel蓹 ki, bir 艧ey etm蓹k.
>> -Ok.
M蓹n dereference g枚st蓹ricisidir x laz谋md谋r onun pointee daxil say谋 42-saxlamaq.
Bu oyun 眉莽眉n, laz谋md谋r m蓹nim Dereferencing Magic Wand.
>> Dereferencing -Sizin Magic Wand?
That-- ki, b枚y眉k.
>> -Bu Kodu kimi g枚r眉n眉r.
M蓹n yaln谋z say谋, v蓹 [POP] qurmaq laz谋md谋r
>> -Hey Baxmaq.
Orada gedir.
>> X a艧a臒谋dak谋 bir dereference edir -Yax艧谋 arrow onun pointee daxil olmaq 眉莽眉n.
Bu halda, ma臒aza 42.
Hey say谋 saxlamaq 眉莽眉n istifad蓹 edin Dig蓹r g枚st蓹rici 13, y.
>> -Ok.
M蓹n yaln谋z y burada art谋q getm蓹k laz谋md谋r, v蓹 say谋 13 set up almaq.
V蓹 sonra, bu 脟ubuq almaq Dereferencing v蓹 yaln谋z [BUZZ]
>> Olduqca!
>> Hey, -Oh!
Ki, i艧l蓹m蓹di.
Binky, m蓹n dereferencing d眉艧眉nm眉r蓹m, dem蓹k Bilirsiniz, 莽眉nki y, yax艧谋 bir fikirdir
pointee yarad谋lmas谋 ayr谋 bir add谋md谋r.
V蓹 biz he莽 bunu d眉艧眉nm眉r蓹m.
>> Yax艧谋 point.
B蓹li.
Biz g枚st蓹rici y ayr谋lan, lakin biz he莽 bir pointee qeyd etm蓹k se莽in.
>> -脟ox M眉艧ahid蓹莽i.
-Hey, Orada Binky yax艧谋 axtar谋r edirik.
Siz ki, bunu d眉zeltmek y xal x eyni pointee?
>> -茝lb蓹tt蓹.
M蓹n Magic 脟ubuq istifad蓹 ed蓹c蓹yik Pointer Tap艧谋r谋臒谋n.
>> Olacaq ki, i艧 apar谋l谋rm谋 蓹vv蓹l kimi bir problem?
No.
Bu pointees toxunmaq deyil.
Bu, sad蓹c蓹 bir g枚st蓹rici d蓹yi艧iklikl蓹r ba艧qa eyni 艧ey qeyd.
>> Olduqca g枚r眉r蓹m.
X eyni yer蓹 陌ndi y xal.
Bel蓹likl蓹, g枚zl蓹yin.
陌ndi, y m眉蓹yy蓹n edilir.
Bu pointee var.
Bel蓹 ki, siz 脟ubuq c蓹hd ed蓹 bil蓹rsiniz 13 眉z蓹rind蓹 g枚nd蓹rm蓹k 眉莽眉n yenid蓹n dereferencing.
>> OK, -Uh.
Burada gedir. [POP]
>> -Hey Ki, baxmaq.
陌ndi y i艧l蓹ri dereferencing.
V蓹 g枚st蓹ricil蓹rin蓹 m眉badil蓹si, 莽眉nki bir pointee ki, onlar h蓹m 13 g枚r眉r眉k.
B蓹li.
Payla艧ma, n蓹.
Bel蓹likl蓹, biz indi yerl蓹rd蓹 ke莽id gedir?
>> Oh, baxmaq.
Biz vaxt h蓹yata edirik.
>> -But--
>> 脺莽 g枚st蓹rici qaydalar谋 xat谋rlamaq -Sad蓹c蓹.
Number One, 蓹sas struktur bir g枚st蓹rici var ki,
v蓹 bu pointee 眉z蓹rind蓹 g枚st蓹rir.
Lakin g枚st蓹rici v蓹 pointee, ayr谋
v蓹 眉mumi s蓹hv bir pointer qurmaq 眉莽眉n,
lakin pointee verm蓹k unutmaq.
>> Say谋 iki, pointer dereferencing g枚st蓹rici ba艧lay谋r
v蓹 眉z蓹rind蓹 arrow a艧a臒谋dak谋 onun pointee daxil olmaq 眉莽眉n.
Biz b眉t眉n Bildiyiniz kimi, bu olarsa yaln谋z 莽al谋艧谋r
bir pointee, hans谋 c眉r Number One Qaydas谋n谋n geri al谋r.
>> Say谋 眉莽, pointer tap艧谋r谋q bir pointer edir
v蓹 qeyd etm蓹k d蓹yi艧ir ba艧qa g枚st蓹rici eyni pointee.
Tap艧谋r谋臒谋n sonra bel蓹, iki g枚st蓹ricil蓹rin蓹
eyni pointee qeyd ed蓹c蓹k.
B蓹z蓹n payla艧谋m deyirl蓹r.
V蓹 h蓹qiq蓹t蓹n, orada b眉t眉n var.
Bye-bye indi.
[END Video playback]
DAVID J. MALAN: Bu CS50 眉莽眉n var.
G蓹l蓹n h蓹ft蓹 g枚r蓹c蓹ksiniz.