[Powered by Google Translate] [Ġimgħa 2, Ikompli]
[David J. Malan, Università ta 'Harvard]
[Dan huwa CS50. - CS50.TV]
Kull dritt. Dan huwa CS50, u dan huwa l-aħħar ta 'ġimgħa 2.
Jekk inti tistenna li tkun bil-ġuħ madwar dan iż-żmien ta 'għada,
jafu li aħna qed tmur biex ilaqqa bħala għada grupp żgħir, il-Ħamis, 13:15.
Hemm dan il-URL hawn jekk inti tixtieq li RSVP.
L-ispazju huwa limitat, għalhekk jekk jogħġbok nahfru jekk il-formola tkun mimlija mill-ħin li inti timla dan.
Ieħor URL, madankollu, li jista 'jkun ta' interess hija din.
Fil biss dwar żmien xahar, il-kors se jkun disponibbli
l-aktar wiesa 'permezz EDX, li permezz tagħhom folks fuq l-Internet se tkun tista' ssegwi tul,
jidħlu fil-kors pjuttost attiv, fil-fatt.
Huma ser tkun qed tuża l-Appliance CS50 u CS50 Iddiskuti
u ħafna mill-għodod ta 'softwer varji li aħna diġà kienu jużaw dan is-semestru.
U waħda mill-inizjattivi aħna tixtieq tieħu fuq bħala esperiment din is-sena
huwa li tara biss kemm kontenut nistgħu tittraduċi
f'lingwi oħra mitkellma u miktuba.
Mela jekk inti jista 'jkollhom interess li jieħdu sehem f'dan il-proġett
fejn aħna se jipprovdu transcripts Ingliż u sottotitoli għall lekċers tal-kors tal-
u xorts u seminars u sezzjonijiet u simili,
jekk inti titkellem b'mod mexxej jew ikteb b'mod mexxej xi lingwa oħra,
aħna imħabba li jidħlu lilek f'dan il-proġett fejn inti tieħu fuq waħda jew aktar mill-videos,
traduzzjoni tagħhom f'lingwa li taf pjuttost tajjeb.
>> Biex jagħtuk sens ta 'l-interface, hemm dan user interface web-based
li aħna ser tkun qed tuża li se joħolqu essenzjalment UI bħal dan.
Dan kien me tagħlim xi Halloween ilu,
u fuq in-naħa tal-lemin hemm bl-iswed li jmiss ma 'dawn it-timbri żmien,
int ser tara l-affarijiet varji li ħareġ mill-ħalq tiegħi dik il-ġurnata,
u allura taħtu inti ser tkun tista 'tittraduċi fis xi lingwa oħra
eżattament dak li l-immappjar huwa bejn, f'dan il-każ, l-Ingliż u, ngħidu aħna, l-Ispanjol.
Allura huwa attwalment ħafna faċli għall-utent għodda.
Tista 'Rewind u malajr jibgħat ħafna faċilment mal keyboard shortcuts.
Mela jekk inti tixtieq li tieħu sehem f'din l-esperiment u jkollhom kliem tiegħek jidher u jinqara
billi potenzjalment eluf ta 'folks hemmhekk, jekk jogħġbok tħossok liberu li jipparteċipaw.
Kelma waħda dwar il-kitten mit-Tnejn.
Lest għandna bagħtet messaġġ wisq scary, do jirrealizzaw li, bħala ħinijiet tal-uffiċċju jissuġġerixxu
u bħala taqsimiet li jmiss jissuġġerixxu, id-disinn tal-kors huwa ferm
li l-istudenti jikkollaboraw u tkellem biex jaħdmu permezz settijiet problema
u problemi flimkien, u verament il-linja biss niġu isfel sa,
għal darb'oħra, ix-xogħol inti finalment iressqu għandu jkun tiegħek.
U għalhekk pjuttost onestament, b'mod ħinijiet tal-uffiċċju huwa totalment normali,
huwa totalment mistennija saħansitra, li chat ma 'xi ħabib li jmiss lilek.
>> Jekk hu jew hi qed tissara ma 'xi tema u int simili,
"Oh, ukoll, let me jagħtuk idea ta 'xi linja tal-kodiċi li I kiteb," li l-multa,
li jiġri, u li ħafna jwasslu, naħseb, mal-proċess ta 'tagħlim.
Fejn il-linja gets qasmu huwa meta l-kap huwa tip ta 'mmejjel hawn fuq għal ftit sekondi bogħod wisq
jew minuti għal dak li verament għadhom kif ġew opportunità żblokk għall-ħabib tiegħek,
u ċertament meta l-affarijiet nikseb skambjata permezz ta 'email u Dropbox u simili,
hemm wisq huwa l-linja.
Allura bil-mezzi kollha jħossuhom komdi u jħossu mħeġġa biex chat mal-ħbieb
u klassi dwar psets u aktar u biss tirrealizza li dak li inti finalment iressqu
għandhom verament tkun il-prodott tal-ħolqien tiegħek u mhux xi ħadd ieħor.
U għalhekk waħda mill-problemi dominju speċifiċi għall pset2,
li se toħroġ għada bil-lejl tard, huwa li adsa fis-dinja ta 'kriptografija,
li hija l-arti ta 'encrypting jew scrambling informazzjoni,
u dan finalment tirrigwarda l-dinja ta 'sigurtà.
Issa, is-sigurtà għal ħafna minna jidħol fil-forma ta 'mekkaniżmi pjuttost mundane.
Lkoll usernames u passwords,
u lkoll usernames u passwords ħżiena ħafna, l-aktar probabbli.
>> Jekk il-password tiegħek hi l-istess fuq il-websajts multipli, li probabbilment ma jkunx l-idea aħjar,
kif aħna ser jiddiskutu lejn tmiem semestru tal.
Jekk il-password tiegħek huwa miktub fuq nota twaħħal - mhix ċajta - fuq il-monitor tiegħek,
li wisq mhuwiex neċessarjament l-aħjar disinn, iżda pjuttost fenomenu komuni.
U jekk ma tkunx qed tużah kriptografija għall-kriptaġġ passwords tiegħek,
dawn huma partikolarment vulnerabbli.
Mela jekk inti taħseb li int qed super għaqlija billi jkun hemm dokument Word moħbija
x'imkien fuq hard drive tiegħek li tkun kollha ta 'passwords tiegħek
iżda huwa fil-folder li ħadd għaddej biex tħares, li wisq mhix mekkaniżmu sikura ħafna.
U iva, liema pset2 se jintroduċi hija din l-arti tal-kriptografija
u scrambling informazzjoni hekk li l-affarijiet bħall-passwords huma l-aktar sikuri.
Il-kuntest hawnhekk hija li ma 'data mhux sikuri
taqa opportunità li kriptaġġ u biex ġirja dan.
U hekk dan, per eżempju, huwa eżempju ta 'messaġġ encrypted.
Dan fil-fatt jgħid xi ħaġa bl-Ingliż, iżda b'mod ċar mhux kompletament evidenti.
U aħna ser jiġu ċirku sħiħ llum biex tease apparti dak li dan il-messaġġ sigriet hawnhekk huwa.
Imma fid-dinja reali ta 'kompjuters, l-affarijiet ma anki look like dawn jistgħu jkunu frażijiet Ingliż.
Per eżempju, dan huwa dak li inti tista 'ssib fuq Linux jew Mac standard jew UNIX kompjuter
fil-fajl li kienet darba fuq żmien imsejjaħ il-fajl password.
>> Illum huwa kien imċaqlaq għall-postijiet l-oħra.
Imma jekk inti tfittex fil-post it-tajjeb fuq sistema, tkun taf tara mhux biss username tiegħek
jew dik ta 'persuni oħra fuq is-sistema, iżda inti ser tara verżjoni encrypted password ta' tagħhom.
Tabilħaqq, il-kripta kelma hemmhekk jissuġġerixxi li l-għalf li ġej huwa encrypted,
u din is-serje ta 'ittri apparentement każwali u karattri u numri u oħrajn
jistgħu jiġu decrypted biss bil ġeneralment jaf xi sigriet -
kelma sigrieta, numru sigriet -
u għalhekk fil-fatt, l-arti tal-kriptografija finalment jeħodna għall-fiduċja ta 'xi tip
u jafu xi ħaġa li xi ħadd ieħor ma.
Allura aħna ser tesplora dan fid-dettall daqsxejn aktar llum u fil-pset li ġejjin.
U issa l-kelma fuq għadda / jonqsu.
Speċjalment peress li wħud mill inti dived fis pset1, il Appliance,
u dinja ferm ġdida għalik innifsek, tirrealizza li frustrazzjonijiet u konfużjoni
u biss diffikultajiet tekniċi huma pjuttost mistennija,
speċjalment ma 'l-pset 1, fejn hemm biss tant ġodda,
biss jkollna familjari ma 'ls u cd u kollha dawn il-kmandijiet arcane
u ambjent ġdid, u li separata mill-materjal attwali u l-ipprogrammar innifsu.
Hekk tirrealizza wkoll li hemm ċerti ħinijiet tal-uffiċċju li jeżistu bħala struttura ta 'appoġġ.
>> Taqsimiet jibda dan il-Ħadd li ġej.
Iżda aktar importanti, jekk int tħossok ftit li dan mhuwiex il-dinja għalik,
jirrealizzaw li huwa verament ma biss jieħu ż-żmien.
U kieku ma kienx għal din l-opportunità snin ilu għalija li jieħu pass klassi / jonqsu,
onestament, jien qatt ma saħansitra sett marda fil-klassi.
U inti tista 'tbiddel dan sa, ngħidu aħna, it-Tnejn 5 tal-kors,
hekk jekk int fuq it-tarf issa, jirrealizzaw li aktar milli ras fis xi f'ibħra oħrajn għal kollox,
do ċertament jikkunsidraw ftit tibdil biex suċċess / falliment.
Għal darb'oħra, hemm mhux verament din il-kultura hawn fil-Harvard tat-teħid affarijiet suċċess / falliment
peress li kulħadd verament jixtieq li jilħqu jew taqbeż il-
iżda franchement, dan huwa wunderbare mod ta 'tipprova xi ħaġa barra
li jistgħu ma jkunux familjari għalik, u tkun taf jispiċċaw jagħmlu, f'ħafna każijiet, pjuttost multa,
forsi ħafna biex sorpriża tiegħek.
U f'termini iktar konkreti, dak li naħseb suċċess / falliment ġeneralment ma,
speċjalment peress li inti jista 'jkollok esperjenza bil pset0,
jekk inti tpoġġi fil 10 siegħa, 15 siegħa, 25 siegħa fis xi pset
u int biss banging ras tiegħek kontra l-ħajt u huwa jkollna super tard bil-lejl
imma inti ħadt il-pset 90% tal-mod u inti biss ma tistax figura ħaġa waħda,
suċċess / falliment verament jieħu l-tarf off ta 'klassi bħal dan,
fejn inti tista sort ta heureusement jgħidu, "Okay, I know mhuwiex perfett,
imma I maħduma ħmar tiegħi off fuq dan, jien pjuttost kuntenti bil fejn spiċċaw, "
u li se jilħqu l-aspettattivi għal suċċess / falliment.
Allura iżommu dan f'moħħhom. Kull dritt.
>> Allura dawk fostkom li għadhom tħabtu biex jużaw l-Università ta 'Harvard Wi-Fi,
jafu li hemm SSID CS50, konnessjoni Wi-Fi, floating madwar
li jista 'jkollok Xorti aħjar għall.
Huwa ironiku ftit li l-password għal dan, jekk inti tixtieq li tipprova konnessjoni għal dan
għal veloċitajiet aħjar - u jgħidilna jekk l-ebda aħjar - huwa 12,345, it-triq kollha sa 8
għaliex 8 hija aktar sikura minn 5.
Mela jekk għandek bżonn l-password Wi-Fi, jgħaqqdu wirelessly CS50 hawn, 12345678,
u post fuq CS50 Iddiskuti jekk inti għad għandek kwistjonijiet konnettività intermittenti,
u aħna ser let-setgħat li jiġu jafu għal dan l-ispazju. Kull dritt.
Allura teaser malajr, speċjalment għal dawk minnkom li huma subien fann jew bniet ta 'kull Apple affarijiet.
What I dug up minn ftit snin lura kien dan il-fajl hawn, iUnlock.c,
biss biex tip ta 'juri b'mod aktar konkret u aktar kumplessi
xi wħud mill-programmi C aktar bażiċi aħna kont qed miktub.
So I fetaħ dan il-fajl, iUnlock.c. Huwa disponibbli fuq il-paġna Lectures għal-lum.
Fuq in-naħa tax-xellug inti tara lista twila ta 'funzjonijiet.
Allura l-kollegi li kiteb dan kiteb ħafna ta 'funzjonijiet, aktar milli sempliċiment prinċipali.
Huwa użat mazz sħiħ ta 'libreriji hawn, u jekk nibdew scrolling permezz,
dak li dan fil-fatt huwa huwa l-ewwel, nemmen, xquq għall-iPhone oriġinali.
>> Meta inti riedu jailbreak l-iPhone oriġinali, li jfisser untether minn AT & T
u fil-fatt jinstallaw softwer speċjali fuqha u jagħmlu affarijiet li Apple ma riedx nies biex jagħmlu,
xi ħadd ħa l-ħin biex insemmu eżattament kif jistgħu jisfruttaw difetti tas-softwer,
żbalji, bugs, fis-software Apple, u għalhekk twieled iUnlock.c--
li jekk inti miġbura fuq il-kompjuter tiegħek u stallat fuq iPhone
li kienu konnessi mat-kompjuter tiegħek permezz, ngħidu aħna, USB cable,
dan se jagħtuk privileġġi amministrattivi jew għerq fuq iPhone tiegħek
u ħalli inti tagħmel pretty ħafna dak kollu li tixtieq.
U hekk hemm kien dan il-qtates affaxxinanti u kaċċa ġurdien
bejn Apple u l-bqija tad-dinja, b'mod partikolari peress li, bħal ħafna kumpaniji,
jippruvaw biex jissakkar Jittieħed tagħhom stabbiliti sabiex inti tista 'biss tagħmel magħha dak li bi ħsiebhom.
Iżda grazzi għall-persuni bħal dan u l-fehim ta 'livell baxx dettalji -
u f'dan il-każ C programmazzjoni - u ħafna ta 'l constructs familjari
li konna bdew jilagħbu ma ', inti tista' verament jwieżen l-hardware
b'mod tara xieraq u mhux neċessarjament xi entità korporattiva.
Għalhekk per eżempju, għandi l-ebda idea dak li dan kollu qed tagħmel,
iżda GetVersion ħsejjes pjuttost sempliċi,
u jidher qisu dan huwa funzjoni li din il-persuna kiteb.
Huwa jieħu xi tip ta 'numru sħiħ bħala argument, ma ritorn xejn,
iżda jidher li loop bi għar loop hawn u jekk il-kundizzjoni, jekk il-waqfa kundizzjoni,
u b'xi mod tirrigwarda numri verżjoni jekk aħna iscroll,
anke jekk ħafna ta 'dawn keywords ser ikunu ġodda.
U hemm lott kollu ta 'funzjonijiet fl here we ve qatt u ma tista qatt tara
matul il-kors tas-semestru.
>> Fl-aħħar tal-ġurnata, isegwi l-istess regoli u l-loġika li aħna ħadthom ġiet playing ma 's'issa.
Allura dan huwa wisq antik biex jitwaqqaf 3s iPhone tiegħek jew 4s jew ftit 5s dawn il-ġranet,
imma jafu li dan kollu ħafna derivat minn din id-dinja li konna dived fis.
Ejja tagħti ħarsa lejn eżempju ftit aktar sempliċi:
dan wieħed, biss li tikseb msaħħna ma 'xi sintassi u wkoll xi tip ieħor tad-data
li konna tkellimna dwar iżda ma verament jidhru fil C.
Dan il-fajl huwa msejjaħ positive1.c, u kull l-kummenti fil-quċċata,
dan biss jitlob li l-utent jipprovdi numru pożittiv.
Allura huwa eżempju ta 'loop do-waqt, li huwa sabiħ għal programmi ta' utenti interattivi
fejn għandek bżonn li tgħid l-utent li jagħmel xi ħaġa,
u jekk ma jikkoperaw inti Yell fil minnhom jew tirrifjuta l-kontribut tagħhom.
Kawża fil-punt: I am ser tagħmel linji 19 permezz 24
sakemm l-utent ma jkunx tani numru pożittiv.
Dan dettall hawn fuq il-linja 18, għaliex ma niddikjara n ogħla minn dan looping kollu jinbena
għall-kuntrarju dritt li jmiss għal-linja 22 fejn I attwalment kura biex tikseb n? Yeah.
[Student] Kamp ta 'applikazzjoni. >> Yeah, hekk din il-kwistjoni tal-ambitu.
U f'termini laymans, dak ma iskop jirreferu għall?
Yeah. >> [Rispons istudent inaudible] >> Tista titkellem ftit louder?
[Student] Fejn inti tista 'aċċess dak il-varjabbli. >> Perfect.
Fejn inti tista 'aċċess varjabbli partikolari.
U ġeneralment, ir-regola ta 'thumb s'issa kienet li l-ambitu ta' xi varjabbli
hija definita mill-ċineg kaboċċi aktar riċenti li inti stajt tidher.
>> U hekk f'dan il-każ, jekk I għamel l-iżball li tiddikjara n fuq il-linja 22, dik il-linja tkun taħdem.
Nixtieq nikseb int, u jien poġġih fil dak n-varjabbli fil-linja 22,
iżda li linja tal-kodiċi issa se jkollhom l-ebda idea dak li nkun qiegħed jitkellem dwar? >> [Student] 25.
[Malan] 25, u jirriżulta 24 kif ukoll minħabba f'dan il-każ jaqa 'barra taċ-ċingi kaboċċi.
Hekk biss ftit ta 'inkonvenjent, iżda faċilment solvuti billi sempliċement iddikjarat li l-varjabbli
barra tal-funzjoni stess.
Ser naraw aktar tard illum tista 'tmur pass ulterjuri
u inti tista 'anki jiksbu ftit għażżien.
U dan m'għandux jiġi rakkomandat b'mod ġenerali, imma int tista 'wkoll tikseb għażżien
u mqiegħda varjabbli globalment, biex ngħidu hekk, ma ġewwa ta 'funzjoni, mhux ġewwa ta' loop,
iżda fil-fajl innifsu, barra ta 'kollha tal-funzjonijiet li inti stajt bil-miktub, kif għamilt hawn fuq il-linja 15.
Dan huwa ġeneralment frowned fuq, iżda realizzata din hija soluzzjoni kultant għal problemi oħra,
kif aħna ser eventwalment tara.
Allura għal issa aħna ser jitilqu minnu bħal dan, imma ejja ara jekk nistgħu jikteb dan
biss biex tibda jesprimu nfusna ftit differenti.
Dan il-programm, biss biex ikunu ċari, huwa positive1.
Let me imorru quddiem u hawn fil-tieqa terminal tiegħi jagħmlu positive1, Ikteb.
Jikkompila okay. Jien ser jimxu positive1, hit Ikteb.
I domanda li inti tagħti me numru sħiħ pożittiv. I ser ngħid -1. Li ma ħadmux.
0, 99. Li jidher li qed jaħdem.
Forsi mhux l-aktar test rigorużi, iżda mill-inqas huwa kontroll sanità sbieħ
li aħna qed dwar il-binarju dritt.
>> Allura issa let me imorru quddiem u tiftaħ verżjoni 2 ta 'dan l-
u dak li huwa differenti diġà?
Hija timplimenta l-istess ħaġa, iżda x'hemm qbiż b'mod ċar differenti dan iż-żmien?
Dan bool fl-aħdar. Huwa enfasizzat fl-aħdar, dan il-keyword magħrufa bħala bool, li huwa tip ta 'data.
Ma jiġu mibnija għall-verżjonijiet kollha ta 'C.
Ikollok bżonn li jinkludu librerija speċifiku.
Fil-każ tagħna, I inklużi l-librerija CS50 sabiex inkunu jkollhom aċċess għall bool.
Iżda fil-linja 18, aħna jidhru li jkollhom valur Boolean hawn imsejjaħ thankful.
I setgħet sejjaħ dan xejn, imma jien imsejħa thankful
biss it-tip ta 'twassal xi tifsira semantika.
Allura inizjalment fuq il-linja 18, jien apparentement mhux thankful
minħabba li l-valur thankful Boolean huwa initialized li foloz fil-linja 18.
U allura jidher dak I ghamilt hawn fil-linji 21 permezz 23
huwa Stajt biss tip ta 'tinkiteb mill-ġdid loġika tiegħi.
Allura l-ebda funzjonalment differenti, iżda linja 22 issa I jivverifika jekk l-int-utent ikun ipprovda
huwa akbar minn 0, allura I sempliċiment ibiddlu l-valur tal-thankful għall veru.
U għaliex nista 'nagħmlu? Minħabba fil-linja 25, apparentement jien ser jiċċekkja kundizzjoni.
Agħmel dan loop filwaqt huwa thankful falza.
So I propost dan bħala alternattiva għall-verżjoni 1
għaliex dan huwa l-inqas ftit aktar intuwittivi forsi, huwa ftit aktar milli jtir bl-Ingliż.
Allura tagħmel dan li ġej waqt li int ma thankful jew waqt li tkun thankful falza.
U din id-darba wisq I apparentement ma 'kura li tiftakar dak li l-utent ttajpjata
għaliex avviż hemm l-ebda n varjabbli, hekk fil-fatt, jimteddu ftit abjad hemmhekk.
>> Funzjonalment, il-programm huwa daqsxejn differenti ladarba irridu jiksbu l-qiegħ ta 'dan
għaliex jien ma ftakar dak n hija.
Imma jien ridt li juru hawnhekk ukoll li anke jekk aħna stajt tidher GetInt
u GetString qed jintużaw fuq in-naħa tal-lemin ta 'daqs sinjal s'issa
sabiex inkunu tiftakar il-valur, teknikament, li mhux strettament neċessarju.
Jekk għal kwalunkwe raġuni inti biss ma 'kura biex isalva l-valur,
inti biss tixtieq li jiċċekkjaw il-valur, avviż li nistgħu sempliċement jiktbu dan bħala GetInt,
miftuħa paren, paren qrib.
Din il-funzjoni se terġa 'lura għal valur, kif aħna kont qed tgħid.
Huwa ser jagħtuk lura int.
U għalhekk jekk inti mentalment taħseb li dan jiġri,
meta I tip 99, GetInt jirritorna l-għadd 99,
u għalhekk kunċettwali, huwa daqs li kieku kodiċi tiegħi kienu attwalment dan.
Mela jekk 99 huwa tabilħaqq ikbar minn 0, imbagħad isir thankful vera,
imbagħad linja 25 jirrealizza ooh, aħna qed isir għaliex jien issa thankful,
u f'konformità 26, aħna sempliċiment tgħid, "Grazzi għall-eqreb numru sħiħ pożittiv!"
x'ikun ġara li jkun.
Issa ejja nagħmlu zokkor sintattika żgħir hawn, biex ngħidu hekk.
Ejja naraw jekk nistgħu tnaddaf din il-linja 25 ma 'dan il-varjant tielet u finali positive3.
>> Avviż l-unika differenza issa huwa dak linja tal-kodiċi? >> [Student] 25. >> [Malan] Yeah, 25.
U aħna stajt ma verament jidhru dan trick għadha biss, imma aħna ma tara l-punt exclamation nhar it-Tnejn,
li tindika liema? >> [Student] Mhux. >> Mhux jew ċaħda.
Allura jieħdu valur Boolean u flip-valur tagħha.
Veru isir foloz, foloz issir veru.
Allura dan, nixtieq nipproponi, huwa saħansitra xi ftit aktar intuwittivi mod ta 'kitba l-kodiċi
minħabba I xorta initialize thankful għall falza, I għadhom jagħmlu dan li ġej,
I sett thankful għall veru meta jasal iż-żmien,
iżda issa inti tista 'verament ftit tittraduċi din il-kodiċi verbalment xellug għal-lemin,
filwaqt li (thankful!); minħabba bang jew exclamation punt tindika l-kunċett ta 'le,
hekk filwaqt li ma thankful.
Għalhekk għal darb'oħra, aħna ma introduċiet l-ebda kunċetti ġodda per se.
Aħna tkellimna dwar Booleans lura meta aħna lagħbu Scratch,
imma tirrealizza issa nistgħu biss tibda tikteb kodiċi tagħna f'ħafna modi differenti.
Allura speċjalment pset1 jekk int-tip ta 'jitħabtu biex insemmu l-mod li tikteb xi programm,
odds huma int fil Xorti għaliex hemm jista 'jkun kull numru ta' soluzzjonijiet
li inti jista 'jiġri fuq.
Per eżempju, dan huwa biss 3 għall anki l-aktar sempliċi ta 'programmi. Kull dritt.
U issa lura nhar it-Tnejn aħna xellug fuq din in-nota ma 'valuri ta' ritorn.
Allura għall-ewwel darba aħna kiteb programm li ma biss ikollhom prinċipali;
għandu wkoll il-funzjoni tad-dwana tagħha stess li I kiteb hawn.
Allura fil-linja 31 permezz 34 stajt implimentati funzjoni kubu.
Mhuwiex kumplessi. Huwa biss * a * a f'dan il-każ.
Imma x'hemm importanti dwar dan hija li jien teħid input fil-forma ta '
u jien lura output fil-forma ta '* a * a.
Allura issa għandi l-abbiltà, simili ħafna I użati biex ma Prinf biss,
għal sejħa din il-funzjoni billi ċċempel l-funzjoni kubu.
>> U l-funzjoni kubu tieħu xi input, u l-funzjoni kubu lura xi output.
B'kuntrast, printf biss għamlet xi ħaġa.
Hija ma reġgħux lura xejn li aħna jieħdu ħsiebhom dwar, anki jekk bħala twarrib ma ritorn ta 'valur;
inti biss ġeneralment jinjoraha.
Printf biss għamlet xi ħaġa. Hija kellha effett sekondarju ta 'l-istampar l-iskrin.
B'kuntrast hawn, aħna għandna l-funzjoni kubu, li attwalment prospetti xi ħaġa.
Għalhekk għal dawk familjari ma 'dan, din hija idea pjuttost sempliċi.
Iżda għal dawk inqas familjari ma din l-idea li tgħaddi fil-inputs u jkollna lura outputs,
ejja ipprova biss xi ħaġa sempliċi super.
Huwa xi ħadd komdu ġejjin fuq il-palk fil-qosor?
Int għandek tkun komda ma 'kamera fuqek ukoll. Yeah? Okay.
X'hemm isem tiegħek? >> [Student] Ken. >> Ken. Kull dritt. Ken, come fuq up.
Ken se tkun funzjoni ta 'tip hawn.
Ejja imorru quddiem u jagħmlu dan. Ejja jiksbu fancy ftit.
Nizza biex jissodisfaw inti. Merħba għall-istadju taċ-ċentru. Kull dritt.
Ejja hit din il-buttuna hawn. Kull dritt.
Allura hawnhekk għandek chalkboard moderna,
u dak I am hija l-funzjoni prinċipali, per eżempju,
u jien ma jkollhom iPad fl-idejn tiegħi.
>> I ma verament tiftakar kif - Well, ma nistax ngħid li.
I ma verament ikollhom kalligrafija tajba,
u hekk għalhekk nixtieq li jistampaw xi ħaġa fuq l-iskrin għalija.
I am huwa l-programm prinċipali, u jien ser ikollhom inti ngħid dan
bil-kitba fil-bidunett tat-tiġieġ tiegħi u mbagħad jgħaddi inti input.
Allura iblah għalkemm dan l-eżerċizzju huwa, il-kunċett tal-funzjonijiet u ssejjaħ funzjoni
u r-ritorn funzjoni verament jeħodna għal dan.
I am prinċipali, għadni miktub printf, kwotazzjoni-unquote xi ħaġa fuq l-iskrin,
I am running dan il-programm, u hekk kif printf gets imsejħa,
hija tieħu 1 argument jew parametru wieħed xi kultant bejn kwotazzjonijiet doppja.
Hawnhekk huwa dan l-argument. Jien tgħaddi lill Ken.
Huwa kaxxa sewda bil-miktub xi numru ta 'snin ilu
li apparentement biss jaf kif jistampaw affarijiet fuq l-iskrin.
Allura tesegwixxi.
Li mhux ħażin. Tajjeb ħafna.
Allura issa Ken isir esekuzzjoni. Ma hu bżonn idejn lili xejn lura?
Mhux li Rajna s'issa.
Għal darb'oħra, printf ma attwalment ritorn numru, imma aħna qed tmur biex jinjoraw li għal issa
għaliex aħna qatt ma stajt użati dan. Allura dak li għal Ken.
U hekk issa ewlenija jieħu f'idejh kontroll tal-programm mill-ġdid
minħabba li l-linja tal-kodiċi, printf, isir esekuzzjoni.
U aħna tmur dwar mod tagħna, eżekuzzjoni tkun xi linji oħra hemm.
Allura issa ejja ipprova eżempju kemmxejn differenti.
Din id-darba hawnhekk ejja 1 ċar l-iskrin, u dan iż-żmien aħna ser nagħmlu l-funzjoni cubing,
iżda din id-darba, I jistennew valur ta 'produzzjoni.
>> Mela ejja imorru quddiem u jagħmlu dan.
Issa I jkollhom linja ta 'kodiċi li tgħid x gets kubu ta' x.
Il-linja tal-kodiċi, irtirar, tidher bħal dan: x = kubu (x);
Allura kif huwa dan se jaħdem? Ejja imorru quddiem u jagħtuk screen abjad mill-ġdid.
I am ser jikteb issa l-valur ta 'x,
li f'dan il-mument fil-ħin jiġri li jkun, ejja ngħidu, 2 li jżommha sempliċi.
Għandi bil-miktub stabbiliti fuq biċċa karta mill-valur 2, li huwa x-valur tiegħi.
I jagħtiha lill Ken. >> U jien biss jiktbu l-risposta? >> Yeah, ejja biss jiktbu l-risposta.
Okay. U issa huwa għandu jirritorna lili xi ħaġa. Perfect. Nizza segue.
Allura issa huwa f'idejn me lura l-valur ta '8 f'dan il-każ, u x'għandi nagħmel miegħu?
Attwalment - ejja ara, tikseb dan id-dritt. What am I se tagħmel magħha?
Issa jien ser jieħdu dan il-valur u fil-fatt jaħżen fil dawk bits istess memorja.
Imma avviż jien tip ta 'tissara hawn.
Jien ftit konfuż għaliex fejn nista attwalment tikteb il-valur ta 'x,
għaliex dak li stajt biss isir huwa Ken fiżikament idejn biċċa karta li kellha l-valur 2,
li kien x, u fil-fatt, dan huwa preċiżament dak li ġara.
Għalhekk jirriżulta li meta inti sejħa-funzjoni u inti tgħaddi fl-argument
bħall hello, dinja jew inti tgħaddi fl-argument bħal 2,
ġeneralment, int tgħaddi fi kopja ta 'dak l-argument.
U hekk biss kif I kiteb isfel in-numru 2 hawn u mogħtija lill Ken,
dan għandu jfisser li għadni kopja tal-valur 2 x'imkien
għaliex fil-fatt, issa li stajt gotten lura l-valur 8, I bżonn li jmorru lura fil-RAM
u fil-fatt ikteb 8 fejn I ladarba kellhom in-numru 2.
Allura viżwalment, ftakar dan il-kunċett ta 'tgħaddi fi, litteralment, kopja tal-valur.
>> Ken ma ħaġa tagħha, idejn me lura xi ħaġa - f'dan il-każ il-valur bħal 8 -
u mbagħad I għandek tagħmel xi ħaġa ma 'dak il-valur jekk irrid li jżommha madwar.
Allura dan kollu se terga 'lura tkun wisq familjari qabel twil.
Grazzi tant għal dan demo hawn, Ken. [Applause]
Tajjeb ħafna x'isir.
Ejja naraw kif li finalment jirrelata għal xi wħud mill-funzjoni sejħa li aħna kont qed tagħmel hawn.
Let me imorru quddiem u jressaqna lura għall-eżempju cubing hawn.
Avviż li jekk irridu li attwalment tibda tieħu din ulterjuri,
aħna qed tmur biex ikollhom li tkun konxja tal-fatt li l-x numru li l-jiġu mgħoddija fil hawn
huwa differenti minn dak li fil-fatt jiġu mgħoddija fil-funzjoni.
Għalhekk għal darb'oħra, dan il-pass billi kopja se jsiru pjuttost germane fi ftit mument.
Ejja tagħti ħarsa lejn xi ħaġa li ma pjuttost xogħol tajba s'issa.
Jien ser jimxi 'l quddiem u tiftaħ eżempju Buggy terz, li huwa difettuż min-natura,
u huwa msejjaħ buggy3 u timplimenta funzjoni iskambji.
Hawnhekk għandna funzjoni prinċipali li tkun xuy arbitrarju initialized għal 1 u 2, rispettivament.
Aħna jistgħu jużaw GetInt, imma aħna biss bżonn ta 'eżerċizzju sempliċi,
dan huwa diffiċli kodifikata bħala 1 u 2.
Fil-linji 21 u 22, aħna apparentement jistampa xuy, 1 kull linja.
Imbagħad fuq il-linja 23, I jitolbu jiena iskambji dawn il-valuri, dot, dot, dot.
I apparentement sejħa funzjoni fl linja 24 swap imsejħa li tieħu 2 argumenti.
Huwa totalment leġittimu għall-funzjonijiet li tieħu 2 argumenti. Rajna printf jagħmlu dan diġà.
>> Allura tpartit apparentement tieħu xuy, u kif ismu jissuġġerixxi,
Nixtieq tama li għaddej biex tpartit dawn il-valuri 2.
Allura mbagħad I pretensjoni fuq il-linja 25 "biddlu!" u jien Reprint xuy
bis-suppożizzjoni li ħadthom tabilħaqq biddlu.
Imma jekk I attwalment tmexxi dan il-programm - let me tiftaħ tieqa terminal,
let me tagħmel buggy3 - kif tissuġġerixxi l-isem, dan mhux se jispiċċaw tajjeb
għaliex meta I hit Ikteb, avviż li x hija l-1, y huwa 2,
u għadhom fl-aħħar tal-programm, dawn għadhom, fil-fatt, l-istess.
Allura ibbażata fuq id-dimostrazzjoni biss issa ma Ken, dak li fil-fatt jiġri?
Ejja adsa fis din il-funzjoni tpartit. Huwa super qasir. Huwa biss ftit linji tal-kodiċi twil.
Imma x'inhu l-problema fundamentali bbażata fuq l-istorja sempliċi told up here bil Ken?
Għaliex maqsuma tpartit huwa?
[Student] Inti ħażna għal kopja, mhux l-varjabbli.
Eżattament. Aħna qed ħażna għal kopja, mhux l-varjabbli innifsu.
Fi kliem ieħor, tpartit apparentement tieħu 2 argumenti, ta 'int,
u huwa arbitrarjament msejjaħ b, u,
u sa hawn stajt għaddew fl xuy, li huma rispettivament 1 u 2,
imma jien ma litteralment jgħaddi fil x, jien ma litteralment jgħaddi fil y,
Jien tgħaddi kopja ta 'x u kopja ta' y.
Huwa kważi daqs li kieku inti kkupjati u pasted fis swap
il-valuri li inti tixtieq li attwalment jimmanipulaw.
Allura jekk dan huwa l-każ, meta I-bidu programm ta 'esekuzzjoni f'konformità 35 imbagħad 36,
meta nasal għal-linja 37, f'dan il-punt fl-istorja, dak li huwa l-valur ta '?
Fuq dan il-punt fl-istorja, linja 37, dak li huwa l-valur ta 'f'dan il-punt? >> [Student] 1.
[Malan] Għandu jkun biss 1, id-dritt, minħabba li x għaddiet fl bħala l-ewwel argument,
u din il-funzjoni biss b'mod arbitrarju qed issejjaħ l-ewwel argument tagħha.
Bl-istess mod huwa y-tieni argument, u huwa biss b'mod arbitrarju sejħa tal-b tieni argument.
>> Dan id-dikotomija huwa attwalment pjuttost sempliċi spjegat. Aħseb dwar dan.
Xejn minna laħqu l-persuna li kiteb printf,
hekk żgur, hu jew hi għandha l-ebda idea liema fatturi varjabbli tagħna 30 snin wara ser ikunu msejħa.
Għalhekk għandu jkun hemm distinzjoni bejn dak li inti sejħa varjabbli fil-funzjonijiet li int bil-miktub
u dak li inti sejħa varjabbli fil-funzjonijiet inti qed ssejjaħ jew jużaw.
Allura fi kliem ieħor, ktibtu varjabbli tiegħi bħala xuy,
iżda jekk xi ħadd ieħor kien kiteb il-funzjoni tpartit, hu jew hi ċertament ma jkunux jafu
liema fatturi varjabbli tiegħi ser jiġu msejħa,
sabiex jirrealizzaw li dan huwa għaliex għandek dan duwalità ta 'ismijiet.
Teknikament, I jistgħu jagħmlu dan billi koinċidenza,
iżda dawn xorta tiġi mgħoddija f'numru ta 'kopji.
Ikun biss tkun koinċidenza pur estetikament jekk dik il-persuna li kiteb swap
kienet użat l-istess ismijiet.
Allura f'dan il-punt fl-istorja, linja 37, hija l-1, b huwa 2, u issa I tipproċedi biex tpartit lilhom.
L-ewwelnett, let me fil-fatt jagħmlu dan ħafna aktar sempliċi.
I do not know dak dawk il-linji 3 tal-kodiċi kienu qed jagħmlu.
Let me biss tagħmel dan: b = a; a = b; jsir.
Għaliex dan imkisser, loġikament?
Huwa tip tal-ħaġa intuwittivi, id-dritt?
Allura b isir u b isir,
iżda l-problema hija li hekk kif linja 37 tesegwixxi, x'inhu l-valur ta 'b u?
L-istess, 1, għax għandek clobbered, biex ngħidu hekk, inti stajt mibdula b biex ikunu ugwali għal.
Allura ladarba linja 37 ikun eżegwit, li l-kbir, inti issa għandhom 2 kopji ta 'l-għadd 1
ġewwa ta 'din il-funzjoni, hekk allura meta inti tgħidli fil-linja 38 a = b,
int tip ta 'invitat għax int biss assenjazzjoni 1 għal 1.
You ħadthom tip ta 'tilfu l-valur inti tajt.
Allura fil-verżjoni oriġinali ta 'dan, l-avviż dak li għamilt.
I minflok kellhom tielet linja ta 'kodiċi li dehru qishom dan.
Niddikjara varjabbli temporanju.
>> TMP huwa isem komuni ħafna għal varjabbli temporanju, u huwa ta 'int
minħabba li jkollu jqabbel dak li nixtieq li tagħmel kopja ta '.
I taħżen kopja ta 'ġewwa ta' TMP, hekk darba linja 37 tkun wettqet,
il-valur ta 'huwa - quick sanità check - 1, il-valur ta' b huwa 2,
u l-valur tal-TMP huwa wkoll 1.
Allura issa I tesegwixxi linja 38.
Ladarba linja 38 tesegwixxi, a jieħu l-valur ta 'b. U b '2, so a issa hija 2.
Allura f'dan il-punt fl-istorja, li huwa 2, b huwa 2, u TMP huwa 1,
hekk issa loġikament, nistgħu valur eżatt TMP plop s fis b u aħna qed isir.
Allura aħna ve solvuti din il-problema.
Sfortunatament, meta I run dan il-programm f'din il-forma, din attwalment ma tpartit ebda valur.
Iżda biex ikunu ċari, għaliex?
I fiss il-problema loġiku minn ftit mument ilu,
iżda għal darb'oħra, jekk I run dan il-programm, xuy jibqgħu l-istess
sa l-aħħar ta 'eżekuzzjoni tal-programm.
[Kumment student inaudible] >> Aħna ma lura xejn, b'tali mod li huwa veru.
Iżda jirriżulta hemm daqsxejn ta 'problema hawnhekk għaliex s'issa,
l-unika ħaġa li aħna kont qed kapaċi li jirritornaw hija ħaġa waħda, u din hija restrizzjoni ta 'C.
Tista 'biss jirritorna verament valur wieħed, f'liema każ jien tip ta' mwaħħla hawn
minħabba I tista 'lura l-valur il-ġdid ta' x jew I tista 'lura l-valur il-ġdid ta' y,
imma nixtieq tnejn lura.
Allura lura mhix is-soluzzjoni sempliċi hawn.
Iżda l-problema fundamentalment huwa għaliex? Dak li aħna fil-fatt skambjati?
[Student] au b. >> Au b.
Iżda aub huma kopji ta 'xuy, li jfisser aħna biss ma kollha ta' dan ix-xogħol,
aħna biss jintefqu 3 minuti jitkellem dwar il-funzjoni tpartit u kollha 3 ta 'dawn il-varjabbli,
u li l-kbir, perfettament korretta b'mod iżolat,
iżda u ambitu b s biss huwa f'dawn il-linji hawn.
>> Hekk biss bħal għal loop, jekk inti tiddikjara integer i ġewwa l-għar loop,
bl-istess mod, jekk int tiddikjara ġewwa u b ta 'funzjoni li inti stajt bil-miktub,
dawn qed biss ġewwa validu ta 'dik il-funzjoni, li jfisser malli tpartit isir esekuzzjoni
u aħna jmorru minn linja 24 sa linja 25, xuy ma nbidlux fil-livelli kollha.
Inti biss moħlija lott kollu ta 'żmien jagħmlu skambju kopji ta' fatturi varjabbli.
Għalhekk jirriżulta li s-soluzzjoni għal dan huwa attwalment mhux ovvju.
Huwa pjuttost mhux biżżejjed biex jirritornaw valuri għaliex nistgħu biss ritorn 1 valur,
u I really do jridu li tpartit kemm xuy fl-istess ħin,
hekk aħna qed tmur biex ikollha terġa 'lura għal dan.
Iżda għal issa, jirrealizzaw li l-kwistjoni fundamentalment derivat mill-fatt li aub huma kopji
u huma fl-ambitu tagħhom stess.
Ejja jippruvaw isolvu din b'xi mod.
Let me attwalment scroll lura hawn u tiftaħ, ejja ngħidu, varjant 4 ta 'dan, buggy4.
Xi ngħidu dwar dan?
Din hija problema simili iżda aktar sempliċi li tħares lejn qabel we tieħu stab fil jissolvew.
Dan il-programm huwa msejjaħ inkrement, u apparentement initializes integer x sa 1 fil-linja 18.
I imbagħad titlob x hija l-1, I imbagħad titlob "inkrementazzjoni ..."
I imbagħad call inkrement, iżda mbagħad fil-linji 22 u 23, I jitolbu huwa kien inkrementat,
I jsostnu x issa huwa kwalunkwe huwa - 2, preżumibbilment - iżda dan il-programm huwa Buggy.
X'hemm l-problema?
Yeah. >> [Rispons istudent inaudible] >> Eżattament.
Allura x ġiet iddikjarata, ovvjament, fuq il-linja 18.
Dan huwa ġewwa ċineg kaboċċi ewlenin tal.
Għalhekk ir-risposta sempliċi hawnhekk huwa li filwaqt li x teżisti hawnhekk,
dan ma jeżistix fil-linja 32, sabiex dan il-programm fil-fatt mhux saħansitra se jiġbor.
Il-kompilatur meta nipprova kompilazzjoni ta 'dan il-kodiċi se Yell fil lili
dwar xi identifikatur mhux dikjarat jew xi ħaġa f'dan is-sens. Fil-fatt, ejja ipprova.
Dan huwa jagħmel buggy4. Hemm huwa.
Użu ta '"x" identifikatur mhux iddikjarat fil-linja 32.
U fil-fatt, ejja tkun iktar espliċita hawn illum sabiex dan ikun utli
fil ħinijiet tal-uffiċċju u fid-dar.
>> Avviż li huwa ftit cryptically miktub.
Imma l-fatt għandha clang li għajjat ​​fil us, qal buggy4.c: 32:5, huwa attwalment utli.
Dan ifisser li l-iżball huwa fuq il-linja 32 fil-pożizzjoni karattru 5.
Allura 1, 2, 3, 4, 5. Li, fil-fatt, meta l-problema hija.
U wkoll, wisq, iżomm f'moħħu li ħinijiet tal-uffiċċju u d-dar, jien xxurtjati hawn.
I jkollhom waħda żball. Huwa ser tkun relattivament faċli biex jiffissaw.
Imma jekk ikollok iskrin kollu sħiħa ta 'messaġġi ta' żball enormi,
għal darb'oħra jirrealizzaw li l-waħda bottommost jista 'jkun biss sintomatika ta' l-1 topmost.
Hekk dejjem chase stabbiliti bugs tiegħek minn fuq għal isfel
minħabba li hemm jista 'jkun biss l-effett katina daisy
li qed tissuġġerixxi inti għandek problemi mod aktar milli suppost fil-fatt tagħmel.
Allura kif nistgħu jiffissaw dan jekk l-għan tiegħi huwa li inkrement x? >> [Student] Għamla x globali.
Okay, hekk nistgħu nagħmlu x globali.
Ejja jieħdu l-buttuna li I wissiet dwar preċedenti, iżda Heck, aħna biss bżonn ta 'jiffissaw malajr,
hekk ejja biss jgħidu x int up here. Li jagħmel x globali.
Allura issa prinċipali għandu aċċess għalih u inkrement ikun aċċess għalih,
u so let me jimxi 'l quddiem u jikkumpilaw dan issa.
Għamla buggy4, Ikteb. Jidher li jikkompilaw issa.
Ejja run buggy4. U jidher li attwalment jaħdmu.
Din hija waħda minn dawn l-affarijiet li l-tagħmel bħala I say, mhux bħala I do,
kif stajt biss isir hawnhekk, minħabba li in ġenerali,
programmi tagħna huma se jiksbu ħafna aktar interessanti u ħafna itwal minn dan,
u jekk soluzzjoni tiegħek għall-problemi tal-ħajja huwa biss ipoġġu l-varjabbli fil-quċċata tal-fajl tiegħek,
malajr ħafna do programmi jiksbu horrifically diffiċli biex tamminstrahom.
Jiġrilha diffiċli li wieħed jaħseb up ismijiet varjabbli ġodda,
jiġrilha diffiċli biex jifhem dak varjabbli qed tagħmel dak,
u għalhekk b'mod ġenerali, din mhix soluzzjoni tajba.
Mela ejja tagħmel dan aħjar.
Aħna ma rridux li jużaw varjabbli globali hawn.
>> I do jridu inkrement x, so I tista 'ovvjament -
fl-aħħar tal-ġurnata, dan huwa tip ta 'storja iblah għax aħna biss tagħmel dan -
imma jekk ma kontx naf dwar dak l-operatur jew I ma kienx permess li jibdlu b'mod prinċipali nfisha,
kif inkella jista I timplimenta Ken minn hawn dan iż-żmien ma kubu iżda li inkrement?
Kif nista 'bidla dan ħaġa hawn? Yeah.
[Student] Pass fl-x u mbagħad jirritornaw [inaudible] >> Okay, tajba.
Allura għaliex ma I jgħaddu fi x u mbagħad minflok lura,
għaliex ma I biss lura x + 1.
Affarijiet Koppja aktar jkollha tinbidel hawnhekk. Jien fuq il-binarju dritt.
X'iktar għandi bżonn biex tweak? Xi ħadd ieħor. Yeah.
[Rispons istudent inaudible]
I-ħtieġa li tinbidel it-tip ritorn ta 'inkrement għaliex mhuwiex null.
Xejn mezzi Null qed jiġi rritornat, iżda b'mod ċar issa huwa,
hekk dan jeħtieġ li tinbidel sabiex - >> [student] int.
int tkun konsistenti bi kwalunkwe Jien fil-fatt jirritornaw.
Issa xi ħaġa oħra għadu Buggy hawn. Yeah.
[Rispons istudent inaudible] >> [Malan] So I bżonn biex inkrement x?
[Rispons istudent inaudible] >> [Malan] Ah, so I bżonn li tgħaddi x.
So I bżonn tagħmel dan hawn. >> [Kumment student inaudible]
[Malan] Għalhekk il-prototip, għandi jibdlu dan up here.
Allura dan għandu jsir int, din trid issir -
HMM, I attwalment jkollhom bug stabbiliti hawn. Ejja jiffissaw dan ewwel waħda.
X'għandu dan fil-fatt tkun? Huwa ltqajna biex tkun xi ħaġa int.
Dan jista 'jkun x, iżda franchement, jekk tibda ssejjaħ kollha ta' x varjabbli tiegħek,
li għaddej biex tikseb inqas u inqas ċara li huwa li.
>> Mela ejja biss b'mod arbitrarju jagħżlu konvenzjoni ismijiet differenti għall-funzjonijiet helper tiegħi,
il-funzjonijiet jien bil-miktub. Aħna ser sejħa hija ta ', jew nistgħu sejħa hija -
Ejja sejħa hija numru li jkun aktar espliċitu.
Allura mbagħad I jkollhom jirritornaw irrispettivament min-numru huwa plus 1,
u issa għandi jibdlu 1 ħaġa oħra up hawn u ħaġa waħda oħra up here.
What do I għandhom jibdlu fuq il-linja 21 l-ewwel? >> [Rispons istudent inaudible]
[Malan] I għandhom jassenjaw lill x. I cannot biss sejħa inkrement (x).
I bżonn li wieħed jiftakar ir-risposta billi jinbidel il-valur ta 'x fuq in-naħa tax-xellug.
U anki jekk x issa hija fuq ix-xellug u tal-lemin, li l-totalment multa
għaliex in-naħa tal-lemin gets esegwiti ewwel imbagħad gets plopped fil-ħaġa tax-xellug -
x f'dan il-każ.
U mbagħad fl-aħħarnett, din hija tiffissa faċli issa.
Dan għandu biss jaqblu x'hemm stabbiliti hawn taħt, in-numru int.
Allura mazz sħiħ ta 'bidliet għal funzjoni verament stupid
iżda rappreżentant ta 'l-affarijiet li aħna ser dejjem trid tagħmel.
Sabiex tagħmel buggy4. Stajt invitat up x'imkien.
Oh, Alla tiegħi. Ħames żbalji fi programm 6-line.
Allura x'hemm ħażin fuq il-linja 18, il-karattru 5?
So I għandhom jiddikjaraw dan int,.
Ejja naraw. Hemm mazz sħiħ ta 'żbalji oħra.
Oh, Alla tiegħi - 19, 18, 21 - iżda għal darb'oħra, ejja biss ċar l-iskrin, L Kontroll hawn,
u terġa 'ssir clang.
Allura 5 problemi hija attwalment biss li 1.
Allura issa ejja jimxu buggy4, Ikteb. Whew, x ġiet inkrementat korrett.
Kull dritt. Kwalunkwe mistoqsijiet dwar kif inkrement numri? Yeah.
[Kwistjoni student inaudible] >> mistoqsija Tajba.
Kif huwa li nista 'biss bidla x-numru u l-programm se jkun jaf immedjatament?
>> Għal darb'oħra, jaħsbu bħala dan estrazzjoni.
Mela jekk jiena prinċipali u Ken huwa inkrement, franchement, jien ma care dak Ken sejħiet iPad tiegħu.
I ma kura dak li huwa jsejjaħ kwalunkwe ħaġa li għandha x'taqsam ma 'l-implimentazzjoni tiegħu ta' din il-funzjonalità.
Dan huwa dettall implimentazzjoni li jien, prinċipali, ma jkollhom jimpurtahom.
U għalhekk sempliċiment jinbidlu b'mod konsistenti ġewwa tal-funzjoni - għadd hawnhekk u n-numru hawnhekk -
hija kollha li tieħu sakemm I recompile.
Huwa tip ta 'bħal jekk taħseb dwar ħafna minna, dawk tal inti ma liċenzji tas-sewwieq
li jkunu misjuqa jew jekk tkun ħadthom anke misjuqa fil-karozza,
ħafna minna għandna ebda idea kif taħdem karozza minn taħt il-barnuża.
U litteralment, jekk inti tiftaħ il-barnuża, ħafna minna - myself inklużi -
mhumiex ser verament jafu dak li aħna qed tħares lejn,
tip ta 'bħal inti tista' tħossok ma għalf bħal dan id-dritt issa.
Iżda aħna ma verament ikollhom kura kif il-karozza taħdem,
aħna ma jkollhomx għall-kura liema kollha ta 'l vireg u l-pistuni u kejbils ġewwa tal-karozza
huma fil-fatt jagħmlu.
Allura xi ħaġa bħal dak li inti sejħa-pistun ma jimpurtax hawn f'dan il-każ. Istess idea.
Yeah. >> [Mistoqsija student inaudible]
Jekk ikun hemm użu aktar tal-mument xa varjabbli ilu,
int, l-programmer, ikollhom dawn jitbiddlu kullimkien.
Jew inti tista 'litteralment tagħmel, File Menu, u mbagħad Sib, Issostitwixxi - xi ħaġa bħal dik -
imma inti ser ikollhom jagħmlu dawk il-bidliet lilek innifsek.
Int għandek tkun konsistenti. >> [Student] Jekk hemm varjabbli multipli [inaudible]
A ordni partikolari bħal hawn, jekk dan kien int numru ieħor? >> [Student]. Korretta
[Malan] Yeah. Ordni kwistjonijiet meta qed iċċempel l-funzjoni.
>> Mela jekk jien kienu sejħa inkrement hawn ma 'xi ħaġa virgola xi ħaġa,
hemm immappjar dirett.
Il-varjabbli 1, ikun x'ikun huwa msejjaħ, huwa magħmul kopja tal-ewwel argument hawn fuq.
Jiddispjacini. Dan m'għandux ikun parentesi.
Il-linji argument 2 sa ma t-tieni waħda. Allura ordni, iva, il-kwistjonijiet. Kull dritt.
Jiddispjacini. I ħa l-triq twila biex naslu s'hemm. Mistoqsijiet oħra? Kull dritt.
Mela ejja ara jekk ma nkunux nistgħu żebgħa stampa ta 'dak li attwalment jiġri hawn
taħt il-barnuża, biex ngħidu hekk.
Dan huwa rettangolu li jistgħu jirrappreżentaw memorja tal-kompjuter tiegħek.
Anki jekk għandek l-ebda idea kif memorja xogħlijiet jew kif taħdem RAM,
inqas wieħed jassumi li inti għandek għenieqed ta 'dan dawn il-jiem.
You ħadthom ltqajna megabytes ta 'dan, inti stajt ltqajna gigabytes ta' dan,
u nafu minn f'ġimgħa 0 illi byte huwa biss dak? >> [Student] 8 bits.
8 bits, id-dritt? Allura 8 zeroes u 1.
Allura jekk il-kompjuter tiegħek għandha GIG ta 'RAM, 2 gigs ta' RAM dawn il-jiem,
għandek biljun jew 2 biljun bytes tal-memorja jew madwar 8 biljun jew 16000000000 bits
ġewwa tal-kompjuter tiegħek.
B'differenza mill-eżempju Willy ftit Wooly, mhuwiex partiċelli manjetiċi tipikament aktar.
Dejjem - fil-laptops inqas - huwa drives stat solidu, SSDs,
li biss jkollhom l-ebda partijiet li jiċċaqalqu. Dan kollu elettroniku. Dan kollu elettriku bbażata fuq.
Allura taħseb ta 'dan ir-rettangolu biss bħala li tirrappreżenta l-gigabytes 1 jew 2 ta' memorja li għandek.
>> Allura huwa ta 'blokki ta' memorja.
Id-dinja tax-xjenza tal-kompjuter tkun tip ta 'mifrud
biċċiet ta 'memorja biex tagħmel affarijiet differenti.
Per eżempju, jekk dan huwa RAM kompjuter tiegħek, kif issuġġerit mill-rettangolu,
jirriżulta li permezz tal-konvenzjoni, fil-quċċata ta 'RAM tiegħek, biex ngħidu hekk,
huwa ġeneralment dak li sejjaħ segment test.
Dawk huma l-0s u 1s li inti għandek miġbura.
Allura meta aħna ve ħares taħt il-barnuża li huwa a.out dak,
dawn kollha 0s u 1s, meta inti tmexxi programm,
dawk 0s u 1s jitgħabbew mill-hard drive tiegħek f'xi ħaġa imsejħa RAM,
u fil-RAM li qed tpoġġi fil-quċċata.
Sadanittant, inti għandek affarijiet oħra: initialize data, uninitialize data.
Dawk swaths 2 ta 'memorja jirreferu għall-varjabbli globali, li ma' spiss jużaw
imma xi kultant jekk inti tagħmel, huma jispiċċaw up hemm ukoll.
Imbagħad hemm xi għalf ieħor: varjabbli ambjent, li aħna mhux se jqattgħu ħafna ħin fuq,
iżda mbagħad 2 affarijiet importanti li se terga 'lura matul il-semestru,
munzell u borġ.
Għalhekk ħafna mill-memorja tal-kompjuter tiegħek huwa rriservat meta tmexxija ta 'programm
għal xi ħaġa imsejjaħ il-munzell u xi ħaġa imsejjaħ il-borġ.
Aħna mhux se jitkellmu dwar il-borġ llum, iżda aħna se nitkellmu dwar il-munzell.
Il-munzell huwa maħsub li jevokaw l-viżwali ta 'l-trejs ikla dining sala fil Mather Kamra
jew fejn jiġri li jkun fejn l-impjegati sala dining nadif minnhom kull jum,
dawn munzell up mill-art fuq up,
u bl-istess mod, fil-memorja, hemm din l-idea ta 'tqegħid xi ħaġa fuq munzell,
tqegħid xi ħaġa fuq munzell, tqegħid xi ħaġa fuq munzell.
U dak li rridu nfissru minn dan?
>> Ejja zoom fl fuq ftit-parti t'isfel ta 'din l-istampa, RAM kompjuter tiegħek,
biex tipproponi dan li ġej.
Jirriżulta li meta inti tmexxi programm bħal a.out jew bonjour -
tkun xi tkun il-programm huwa li inti stajt bil-miktub -
għal darb'oħra, dawk 0s u 1s jitgħabbew mill-hard drive tiegħek, li huwa fit-tul tal-ħażna,
jibqa hemmhekk anki meta inti iġbed il-plagg, mgħobbija RAM.
RAM huwa aktar mgħaġġel milli hard drives - huwa iżgħar minn hard drives -
imma hija fejn programmi live waqt li tkun qed taħdem fuqhom.
Allura inti ikklikkja darbtejn programm fuq Mac jew PC, huwa mgħobbi mill-hard drive fis-RAM.
Hekk kif huwa jitgħabbew fil-RAM, il-go 0s u 1s fil-quċċata mod,
-segment test hekk imsejħa, iżda mbagħad hekk kif program tiegħek attwalment tibda taħdem,
il-funzjoni prinċipali huwa msejjaħ, u prinċipali, kif aħna stajt tidher, ta 'spiss ikollu varjabbli lokali,
u għandu ints u kordi u Chars u simili.
Mela jekk program tiegħek li għandek bil-miktub jew il-programm li inti għandek double għafast
użat xi varjabbli ġewwa ta prinċipali,
dawn jispiċċaw fil-qiegħ tal tiegħek munzell ta 'memorja, biex ngħidu hekk.
B'mod aktar konkret, dak ma dan fil-fatt jfisser?
Dan sempliċiment ifisser li jekk konna se numru l-bytes ta 'RAM fil-kompjuter tiegħek,
avviż li dan jista 'jkun in-numru byte 0, dan jista' jkun in-numru byte 1, 2, 3, 4, 5, 6,
it-triq kollha sa 2 biljun se tkun it-triq kollha up hemm fil-quċċata.
Allura fi kliem ieħor, meta nitkellmu dwar RAM jew memorja f'termini ta 'bytes,
dan ifisser biss li xi ħadd iddeċieda dak li jinnumera kull waħda minn dawn biċċiet ta 'memorja.
Allura meta għandek bżonn 32 bits għal int jew inti jeħtieġ 8 bits għal char,
fejn ma jispiċċaw fil-memorja?
>> Konċettwalment, huma biss jispiċċaw fil-qiegħ ta 'dan ħaġa imsejjaħ il-munzell.
Imma x'hemm interessanti issa huwa meta jitlob prinċipali funzjoni -
jissoponi funzjoni msejħa foo, biss l-isem arbitrarja -
dak li jiġri hu ewlenija hija fil-qiegħ ta 'din il-munzell ta' memorja;
foo issa titqiegħed fuq quċċata ta 'prinċipali fil-memorja.
Allura xi varjazzjonijiet lokali li foo ikun jispiċċaw tip ta 'kunċettwali minn dawk fl prinċipali.
Jekk foo jitlob funzjoni oħra msejħa bar, dawk il-varjabbli jispiċċaw here.
Jekk bar jitlob xi ħaġa oħra, hawn, hawn, hawn.
Allura x'hemm interessanti dwar tmexxija ta 'programm huwa li kif inti sejħa funzjonijiet
u kif dawk il-funzjonijiet sejħa funzjonijiet u kif dawk il-funzjonijiet sejħa funzjonijiet,
inti jibnu din munzell ta 'funzjonijiet fil-memorja.
U darba biss ta 'prospetti funzjoni ma tibda jkollna li l-memorja lura.
Allura wieħed mill-modi eħfef biex jispiċċaw ta 'memorja fi programm tal-kompjuter
huwa li jiktbu funzjonijiet li qatt ritorn.
Għalhekk per eżempju, ejja juru kemm bi programm intenzjonalment Buggy.
Let me imorru quddiem u jagħmlu # Jinkludu ,
int prinċipali (vojt),
u jien ser tagħmel filwaqt li (2> 1), li probabbilment mhux se qatt bidla fuqna,
u let me jimxi 'l quddiem issa u jagħmlu printf.
Fil-fatt, li għaddej biex tkun inqas viżwalment interessanti. Ejja nagħmlu dan.
Għal i int = 0; i> 0 - ejja jagħmlu dan l-iżball - i + +.
U ejja ma printf hawn. Ejja prattika dak I kien jippriedka.
Ejja jkollhom metodu hawn, kor null, u aħna ser ngħidu int i,
u mbagħad jien ser ngħid printf - l-ebda, ejja tagħmel dan aktar interessanti.
Ejja fil-fatt ma print xejn affattu. Ejja biss tagħmel dan: kor (i).
Kull dritt. Allura dan huwa Buggy għaliex għaliex?
Jien jagħmlu dan up bħala mmur minħabba li l-programm ma attwalment tagħmel xejn ta 'interess.
>> Iżda li mhux l-għan.
L-għan huwa li jiktbu program funzjoni ewlenija tagħhom ma dak, apparentement?
Sejħa innifsu. U fil-fatt, ma kellniex bżonn il-linja.
Ejja anki tissimplifika dan biss sabiex ma nitilfu l-bug verament fundamentali.
Jistieden ewlenin kor nijet xi kor,
imbagħad għamilt xi ħaġa stupid u kelli kor sejħa kor
minħabba I jassumi xi ħadd ieħor kien se timplimentaha forsi,
u issa dan mhux se tiġbor s'issa. I-ħtieġa li jagħmlu dak?
I bżonn l-prototip, tiftakar.
So I jeħtieġ li jkollhom up hawn kor nulli (int i);
Allura issa jekk jien jinżlu hawn - fil-fatt, ejja tuża l-tieqa akbar.
Ejja jimxi 'l quddiem u jagħmlu kor.
Użu ta 'identifikatur mhux iddikjarat i.
Oh, li kien stupid. M'għandniex bżonn l-argument. Ejja biss tagħmel dan.
Nixtieq kellna beda dan il-mod. Kien ikun ta 'programm ħafna aktar faċli biex jiktbu.
Hemm. Issa ejja jmorru fuq biex tieqa terminal tiegħi, terġa 'ssir clang, u here we go.
Dan kien verament mgħaġġel.
Dak li fil-fatt ġara biss, għalkemm?
Well, issa I ser żid il-linja istampar hekk nistgħu naraw.
Ħalluni ngħid printf ("jien fil hawn") - l-ebda varjabbli. Aħna ser inħallu bħal dik.
Let me terġa 'ssir jagħmlu. Let me terġa 'ssir kor.
U ... come fuq. Żomm għaddejjin.
Bħala twarrib, għaliex ma ma ġġarraf għadhom?
It-tort segmentazzjoni ġara super fast qabel.
[Rispons istudent inaudible] >> Eżattament. Allura tieħu ż-żmien biex jistampaw, id-dritt?
Hija biss jieħu aktar xogħol min-naħa tal-kompjuter.
U hemm hu: tort Segmentazzjoni.
>> Allura avviż kemm programmi fast run.
Jekk int ma istampar xejn, super fast.
Iżda aħna għadhom kisbu dan tort segmentazzjoni għaliex dak li kien qed jiġri?
Jekk inti taħseb dwar kif memorja tal-kompjuter tiegħek hija stabbilita,
dan jiġri li jkun prinċipali, iżda hawnhekk ejja biss sejħa dan kor, u ejja sejħa dan kor.
U issa jekk jien estetika tiegħi dritt, dan huwa biss se ngħid, kor kor, kor,
kor, kor, kor, kor, nauseum ad, u eventwalment, dak li jiġri?
Jekk l-istampa kbar, litteralment, hija din, dak li jiġri biss konċettwalment?
Il-eċċessi munzell l-munzelli.
Jew, agħar minn hekk, inti biss eċċess kollox, inkluż il-segment test,
li hija l-0s u 1s li jirrappreżentaw il-programm tiegħek.
Fil-qosor, din hija biss super, bad super.
Programm tagħkom telgħu barra mill-kontroll.
Inti qed tuża memorja mod aktar milli suppost maħsuba
kollha minħabba żball stupid f'dan il-każ,
jew f'dan il-każ il-funzjoni very deliberatament jsir ssejjaħ lilha nnifisha.
Issa, dan mhuwiex kollha ħżiena.
Funzjonijiet li ssejjaħ infushom attwalment għandha setgħa kbira meta tużah b'mod korrett.
I ma jkunux użati b'mod korrett hawnhekk.
Allura dan mhux kollox ħażin, iżda l-fatt li jien qatt ma attwalment niefqu milli nsejħulha myself
hija dgħjufija fundamentali hawn dan il-programm.
Għalhekk, fejn huma aħna se kollha ta 'dan? X'qed verament jiġri?
Meta I-sejħa l-funzjoni inkrement simili aħna kienu qed jagħmlu fil dawn l-eżempji,
I jkollhom valur bħal 1 li I jgħaddu pulzieri
I jgħaddu f'kopja tad-numru 1, hekk li ġej jiġri.
Ejja jmorru fil-eżempju inkrement, dan Guy dritt fuq hawn.
Hawn dak li verament jiġri.
Meta I call inkrement u I jgħaddu x, pictorially, x'inhu għaddej hawn hija din.
>> Jekk Għandi l-valur ta '1 maħżuna hawn u I attwalment sejħa inkrement,
li issa hija msejħa kor - l-iPad huwa jitfg me off hawn.
Ejja sejħa dan inkrement, u ma nafux liema din il-funzjoni li jmiss se tkun.
Allura dak li verament jiġri huwa hawn x'imkien prinċipali I jkollhom blokki ta 'memorja
li huwa ħażna in-numru 1.
Meta I call inkrement, jien jużaw ieħor blokki ta 'memorja,
iżda issa għandi l-kopja ta '1.
Meta I inkrement li l-valur, dan isir 2,
iżda mbagħad x'jiġri malli prospetti inkrement?
Din il-memorja biss gets mogħtija lura lill-sistema operattiva,
li jfisser kull ma għandek ghamilt xejn utli.
Il-1 li kien oriġinarjament jinsabu fil prinċipali għadu attwalment hemm.
Għalhekk, fejn huma aħna għaddejjin ma 'dan?
Jirriżulta li fil-memorja inti għandek din is-sekwenza back-to-back 'bytes
li inti tista 'tpoġġi Jittieħed fi, u jirriżulta li konna diġà raw xi ħaġa
li tinvolvi tqegħid affarijiet lura lura lura lura.
X'inhu string bbażata fuq ġimgħa 1 u issa ġimgħa 2?
Huwa biss ġabra ta 'karattri.
Allura jirriżulta biss kif inti tista 'tpoġġi numri fil-memorja,
bl-istess mod inti tista 'tpoġġi karattri fil-memorja.
U ladarba nibdew karattri tqegħid fil-memorja lura lura lura biex lura,
jirriżulta li l-użu l-aktar sempliċi ta 'affarijiet bħal għal loop jew loop waqt,
nistgħu jtenni mix-xellug għal-lemin fuq il-karattri fit string
u tibda timmassaġġja minnhom fil-karattri differenti għal kollox -
a tista 'ssir b, b tista' ssir c -
sabiex finalment, nistgħu nieħdu l-frażi Ingliża li attwalment jagħmel sens
u jikkonvertu kull wieħed minn dawn l-ittri wieħed fi żmien
bil-mixi permezz memorja tal-kompjuter tagħna xellug għal-lemin biex attwalment kriptaġġ.
Mela ejja tagħti ħames minuti break tagħna hawn,
u meta niġu lura, aħna ser tibda dan il-proċess ta scrambling informazzjoni.
>> Kull dritt.
Qabel ma aħna adsa fis xi kripto u dawn l-affarijiet imsejħa matriċi,
let me nieqaf għal xi mistoqsijiet għaliex inħoss bħal I really tip ta 'xejn ċar
xi wħud minn dawk is-suġġetti. Mela ejja tiffissa issa jekk nistgħu.
Aħna biss tkellem dwar il-valuri ta 'ritorn, tkellimna dwar l-argumenti,
u tkellimna dwar dan il-kunċett, li aħna ser terga 'lura fit-ġimgħat li ġejjin,
tal-wiri memorja bħala mazz sħiħ ta 'dawn il-dixxijiet f'munzelli, biex ngħidu hekk,
mill-qiegħ fuq up, b'tali mod li kull trej li gets mqiegħda fis-munzell
jirrappreżenta funzjoni li l-li bħalissa qed jissejħu.
Kwalunkwe mistoqsijiet?
Let me jistaqsu mistoqsija hawn.
Let me jissimplifikaw dan lura għal dak li kien qabel xi wħud Q preċedenti tagħna & A.
Il-fatt li żieda għandha parentesi miftuħa, in-numru int, magħluqa parentesi -
dak ma numru int jirrappreżenta?
[Student] L-argument. >> Argument. Okay. Imma x'hemm argument?
[Inaudible student rispons] >> X'hemm li? >> [Student] Xi ħaġa li inti tgħaddi pulzieri
Okay, hekk xi ħaġa li inti tgħaddi pulzieri U aktar ġenerali, huwa biss l-input.
Jekk inti kienu kitba ta 'funzjoni u skop dik il-funzjoni fil-ħajja
hija li tagħmel xi ħaġa ftit differenti kull darba li tużah,
allura l-uniku mod għal dak li jiġri verament jidher li jkun li jipprovduha bl-input
sabiex ikun jista 'jagħmel xi ħaġa differenti ma' dak l-input kull darba.
>> Għalhekk ikollok bżonn li jispeċifikaw żewġ affarijiet meta l-funzjoni jieħu input.
Ikollok bżonn li jispeċifikaw l-isem li inti tixtieq li tagħti għal dik input
purament għall-konvenjenza tiegħek sabiex inti tista 'tirreferi għaliha
fil-funzjoni li inti stess qed tikteb, kif għamilt hawn fil-linja 32.
Imma inti wkoll bżonn biex jispeċifika t-tip tagħha għaliex Ċ hija lingwa ta 'programmar
li biss jeħtieġ li jekk inti tixtieq varjabbli, inti għandek tgħid il-kompjuter liema tip ta 'data li hi,
fil-parti kbira hekk li jaf kemm bits jalloka għal dan il-varjabbli
minħabba li jista 'jkun 6 - sorry, dan mhux se jkun 6.
Hija tista 'tkun ta' 16, jista 'jkun 8, jista' jkun 32, anke 64,
iżda l-kompjuter jeħtieġ li tkun taf.
Issa, l-int fuq in-naħa tax-xellug jirrappreżenta dak, b'kuntrast?
[Inaudible student rispons] >> X'hemm li? >> [Student] Tip ta 'funzjoni.
It-tip ta 'funzjoni u, b'mod aktar speċifiku, it-tip ta' produzzjoni tagħha. Dritt.
Allura filwaqt li l-ħaġa fil-parentesi jirrappreżenta input tagħha, jekk ikun hemm,
il-ħaġa fuq ix-xellug jirrappreżenta produzzjoni tagħha.
U f'dan il-każ, iż-żieda apparentement jirritorna int,
u għalhekk int huwa t-tip ritorn ta 'din il-funzjoni.
Xi jfisser li jirritornaw?
Litteralment, tuża r-ritorn keyword u mbagħad jekk dak li qed jirritornaw
għad-dritt ta 'l-keyword huwa integer,
allura li hu tassew konsistenti ma 'dak li għandna imwiegħed.
Inti ma setgħux jagħmlu xi ħaġa bħal din - hello, dinja - għaliex dik hija string.
>> Ovvjament, mhuwiex numru sħiħ.
Allura fil-qosor, il-piż huwa verament fuqna, il-programmer, li jkunu speċifiċi
dwar dak li aħna qed jirritornaw u li mbagħad fil-fatt imorru dwar jirritornaha.
Il-kuntest hawn issa huwa li l-memorja tal-kompjuter tiegħek huwa gigabyte, 2 gigabytes -
tkun xi tkun - forsi huwa aktar, forsi huwa inqas,
iżda l-kompjuter fehmiet bħala li għandhom taqsimiet differenti.
Xi ħaġa tmur stabbiliti hemmhekk, xi ħaġa oħra tmur up hemm,
Jittieħed differenti tmur fin-nofs, u llum aħna biss jibdew javżak l-istorja,
iżda aħna ser terġa 'lura għal dan iż-żmien fuq.
Għal issa, il-biċċa biss ta 'memorja aħna verament jimpurtak huwa l-segment test
minħabba li ftit jirrappreżenta l-0s u 1s li clang tkun outputted.
Allura meta inti tmexxi kmand fuq il-keyboard simili a.out
jew inti ikklikkja darbtejn l-ikona fuq Mac OS jew Windows,
programm tiegħek huwa mgħobbi mill-hard drive tiegħek fis RAM
u huwa plopped fil-quċċata ta 'RAM kompjuter tiegħek, biex ngħidu hekk.
Sadanittant, bħala program tiegħek tibda taħdem u ewlieni gets imsejħa
fil-programm li inti kiteb jew il-Microsoft programm jew Apple kiteb,
kwalunkwe ta 'varjabbli lokali tiegħu jispiċċaw stabbiliti hemmhekk fil-qiegħ tal-memorja tal-kompjuter tiegħek.
Iżda jekk sejħiet ewlenin funzjoni oħra li hi stess għandha varjabbli jew argumenti, huma jispiċċaw hawn fuq.
U jekk dik il-funzjoni sejħiet xi ħaġa, huma jispiċċaw hawn fuq, hawn fuq, hawn fuq.
>> U darba biss funzjoni isir eżekuzzjoni ma 'l-munzell ta' dixxijiet, biex ngħidu hekk,
tibda tikseb iktar baxxi.
U dan huwa dak li mbagħad, fi ftit kliem, jispjega għaliex meta inti sejħa kubu
jew inti sejħa inkrement, int tgħaddi f'kopja tal-valur.
U dak li jfisser pictorially hija li int litteralment miktub in-numru 1
f'parti oħra ta 'memorja, li jinbidlu li 1-2 fil-każ ta' żieda
jew lil 8 fil-każ ta 'kubu u mbagħad jitfg li l-memorja bogħod
hekk kif il-inkrement jew il-prospetti funzjoni kubu. Mistoqsija.
[Student] Fejn huma varjabbli globali maħżuna?
Varjabbli globali huma maħżuna fil dak li attwalment imsejjaħ il-data initialized jew data uninitialized,
id-differenza tkun jekk għandek varjabbli globali u inti tassenja din immedjatament valur
ma 'l-sinjal ugwali, dan jispiċċa fil-quċċata hemm,
u jekk inti biss jgħidu x int; bl-ebda valur, dan jispiċċa ftit inqas fl RAM
sempliċiment billi konvenzjoni.
Mistoqsijiet oħra? Kull dritt.
Allura din l-istampa se terga 'lura kif aħna nikseb aktar qawwija
ma 'dak li nistgħu nagħmlu mal-kompjuter,
iżda għal issa, ejja jkollhom intro qasira għall-kriptografija,
tip speċifiku ta 'kriptografija li ma isolvi l-problemi tad-dinja
iżda ma ssolvi xi wħud minnhom.
F'dan il-każ hawnhekk, aħna għandna xi ħaġa imsejħa sigrieti-ċavetta kriptografija.
Sigriet-ċavetta kriptografija, kif tissuġġerixxi l-isem, tirriżulta sigurtà tagħha minn sigriet.
>> Per eżempju, jekk inti kienu lura fl-iskola grad u inti kienu jgħaddu ittra ftit imħabba sigriet
għall-tifel jew tifla inti kienu tgħaffiġ fuq, jekk int riedu li jgħaddu dik in-nota mill-udjenza,
inti probabilment mhux se jikteb tali nota bl-Ingliż jew kwalunkwe lingwa nattiva tiegħek.
Pjuttost, inti tista 'kriptaġġ jew inti tista' biss tibgħathom messaġġ f'dawn il-jiem.
Iżda int tista 'attwalment jgħaddihom nota matul il-klassi.
U biex tagħmel dan b'mod sikur b'tali mod li l-ħbieb tiegħek u l-għalliema
ma nafx dak li qed tikteb, inti tista 'toħroġ bi algoritmu pjuttost sempliċi,
żgħażagħ jekk inti tista 'tkun, għal ftit ġirja-kliem.
Allura minflok ta 'kitba ta' li inti tista 'tikteb b,
minflok b inti tista 'tikteb c,
minflok ċ inti tista 'tikteb d, u oħrajn.
Jew inti tista 'toħroġ bi traduzzjoni aktar sofistikati
ta 'ittri għall-ittri differenti.
Iżda l-qabda hija l-tifel jew tifla li lilha qed tibgħat din in-nota
jeħtieġ li tkun taf xi ħaġa, li huwa dak li, ovvjament? >> [Student] Dak li qed jibgħat.
X'inhu sigriet tiegħek huwa, bħal dak li huwa li l-immappjar bejn u s bu s cu d'i.
Huwa biss żżid 1 sa kull waħda mill-ittri li jmorru minn sa b, b li ċ?
Huwa aktar kumplessa minn dik?
>> Allura inti u tgħaffiġ tiegħek jeħtieġ li jkollhom din l-informazzjoni sigrieta,
iżda hemm tip ta 'qabda-22 here.
Jekk dan huwa l-ewwel darba li qed tibgħat din l-ittra imħabba permezz tal-klassi,
kif huwa li tifel jew tifla se tkun taf liema l-sigrieti anke hu?
Allura sigrieti-ċavetta kripto ma isolvi l-problemi tad-dinja,
u hemm attwalment relazzjoni hawnhekk li aħna ser terga 'lura għal lejn tmiem semestru tal.
Bl-istess mod do ħafna minna ma jafux xi ħadd li jaħdem, per eżempju, fil Amazon.com,
u għadhom ħafna minna probabbilment mixtrija Jittieħed fuq Amazon.com,
u konna ġew mgħallma biex wieħed jassumi li dawn it-tranżazzjonijiet e-kummerċ huma sikuri.
Il-URL probabbilment tgħid https, hemm forsi ikona katnazz iblah ftit x'imkien,
hemm xi tip ta 'kriptografija żgurati l-informazzjoni tiegħek karta ta' kreditu
bejnek u Amazon.com.
And yet jekk kriptografija jinvolvi jafu xi sigriet
u għadhom I do not know xi ħadd fil-Amazon u stajt ċertament mhux irranġati xi tip ta 'sigriet
ma 'xi ħadd fil-Amazon, kif huwa kompjuter tiegħi jew browser tiegħi tagħmel dan?
Jirriżulta hemm tipi oħra ta 'kriptografija kollox li ssolvi din il-problema.
Iżda għal-lum, aħna ser tiffoka fuq il-wieħed sempliċi
fejn inti tista 'tirranġa bil-quddiem li tkun taf xi sigriet
bħal 1 jew xi immappjar bejn u s b.
U l-proċess ta 'kriptografija ġeneralment jinvolvi dan.
Inti għandek xi test sempliċi, jidhru hawn fuq tax-xellug,
inti run permezz ta 'xi tip ta' algoritmu jew proċedura għall encrypting dan -
forsi li jinsab biss isir b, b isir c -
u allura inti tispiċċa bil ciphertext.
Sadanittant, ladarba tgħaffiġ tiegħek tirċievi din in-nota sigriet,
hu jew hi għandu mbagħad decrypt dan billi ġeneralment rivers li algorithm
sabiex terġa 'lura t-test sempliċi.
Hemm incarnations fiżiċi ta 'dan.
>> Per eżempju, dan huwa ċirku ftit decoder sigriet,
u dan huwa ċirku fis-sens li hemm żewġ dials hawn.
Fuq il-periferija ta 'barra tal dan il-ħaġa, hemm l-ittri a sa Z,
għalkemm dawn qed sabiex każwali,
u fuq ġewwa, hemm attwalment xi numri
b'tali mod li ma 'dan ring inti tista' tip ta 'ddawar il-barra imma mhux il-ġewwa
sabiex line up numri ma 'ittri.
Minn movie imsejjaħ A Story Milied, tkun taf tara li Ralphie ftit
kien tant ħerqana biex insemmu dak il-messaġġ sigriet Little Orfni Annie kien li lilu
li kienu ġew ikkomunikati, naħseb, fil-forma ta 'messaġġi numeriċi fuq kaxxa ċereali
u inti kellhom jakkumulaw l-karti ftit li daħal fil-kaxxa taċ-ċereali,
inti kellhom posta fi, inti kellha tikseb lura l-ċirku decoder sigriet
sabiex inti tista 'finalment ċifra barra dak l-immappjar huwa bejn l-ittri u numri
jew ittri u ittri.
Kif fil-kompjuter nistgħu tmur dwar implimentazzjoni jew jirrappreżentaw affarijiet bħal dan?
Għandna bżonn mod li jesprimu nfusna ftit aktar flessibbli
minn varjabbli tagħna s'issa ippermettew.
Aħna kellna ints, aħna kellna Chars, aħna kellna flowts u jirdoppja u fi ftit oħrajn,
iżda dawn huma biċċiet individwali ta 'memorja li ma verament jippermettu magħna biex jesprimu l-affarijiet
bħall-kliem u sentenzi u frażijiet.
Tabilħaqq, konna imsejħa kordi bħal dawn l-affarijiet,
imma aħna wegħda li dan huwa verament ftit simplifikazzjoni fil-librerija CS50
li aħna qed l-intenzjoni li qoxra lura.
U hekk ejja nibdew biex tagħmel dan hawn.
Let me imorru quddiem u tiftaħ fajl -
kollha ta 'dawn il-fajls huma disponibbli, bħas-soltu, online - array.c imsejħa
biex isolvu problema mhux relatat mal kordi iżda li żebgħa stampa hawn
ta 'kif aħna jistgħu jużaw xi ħaġa imsejħa firxa.
>> Firxa hija tip tad-data.
Huwa tip ta 'varjabbli ta' tipi li għandha diversi tipi iżgħar ta 'data ġewwa ta' dan
lura lura lura lura.
Għalhekk per eżempju, jekk ridna li jiktbu programm ftit li jagħtik medja kwizz tiegħek
għal kors bħal 50 li tkun 2 kwizzijiet,
inti tista 'faċilment jikteb dan il-programm bbażat anki fuq xi wħud mill-materjal il-ġimgħa li għaddiet
bl-użu GetInt u l-koppja ta 'varjabbli: int quiz1, int quiz2.
U huwa pjuttost sempliċi.
Huwa forsi 10, 20 linji ta 'kodiċi max sabiex timplimenta programm
li jitlob lill-utent għall-punteġġi kwizz 2 u mbagħad tikkalkula medja tagħhom
billi jingħaddu flimkien, diviż bi 2, u mbagħad istampar tar-riżultati.
Nistgħu probabbilment jagħmlu dan pretty faċilment issa wara xi numru ta 'minuti.
Iżda l-problema hija li jissoponi li 50 kellhom 3 kwizzijiet jew 4.
Ejja ngħidu li int riedu li tuża l-istess programm ta 'klassi li kellha kull ġimgħa kwiżż.
Aħseb dwar klassi li tkun ġimgħa kwiżż.
Jekk hemm 16 jew hekk ġimgħat semestru, issa għandek 16 Varjabbli:
int quiz1, int quiz2, int quiz3, int quiz4.
Hekk kif inti tibda tara dan redundancy, dan l-ikkupjar u pasta tal-kodiċi,
din għandha tibda tagħmel inti tixtieq kien hemm mod aħjar.
U Thankfully, minħabba arrays hemm. Mela ejja jagħmlu dan.
Ewwel, let me jintroduċu ħaġa sempliċi ħafna li konna mhux użati s'issa,
iżda inti ser tara li kultant fil-kodiċi.
>> Dan huwa dak li ġeneralment jissejjaħ kostanti.
Allura huwa kostanti fis-sens li dan il-valur qatt bidliet.
Il-konvenzjoni tal-bniedem meta jinħoloq kostanti
huwa l-użu l-ittri kapitali biss hekk li verament jispikka fil-kodiċi tiegħek,
u l-keyword speċjali li tuża fit C huwa # tiddefinixxi.
Allura aħna ngħidu # jiddefinixxu, imbagħad spazju, allura l-kelma li inti tixtieq li tuża għall-isem tal-kostanti tal-
u allura l-valur tal-kostanti.
Avviż dan huwa differenti minn tassenja xi ħaġa għal varjabbli.
M'hemm l-ebda ugwali jiffirmaw, hemm ebda virgola.
Dan huwa dak li ġeneralment magħrufa bħala direttiva preprocessor,
iżda aktar fuq dak ieħor ħin.
Għal issa, dan joħloq valur ma jinbidlux imsejħa kwizzijiet
li l-valur numeriku attwali huwa 2.
Allura kullimkien inti tara kwizzijiet, kwizzijiet, kwizzijiet matul dan il-fajl,
li jinsab biss in-numru 2.
Jekk I ħarsa lejn ewlenija issa, ejja ara kif taħdem din.
L-ewwel jidher ftit cryptic, imma hija kollha Jittieħed mill-ġimgħa 1.
Staqsi lill-utent għall-gradi. Kif nistgħu nagħmlu dan?
F'konformità 22 - dan huwa verament il-parti mmerraq - Niddikjara li float
imma mhux biss float wieħed. Jien tiddikjara, pjuttost, firxa ta 'b'punt valuri.
Dan il-varjabbli se jiġu msejħa gradi, kif implikat hawnhekk,
iżda l-biċċa biss ta 'sintassi ġdid imbagħad huma dawn parentesi kwadri.
Il-fatt li stajt qal gradi float u mbagħad parentesi miftuħa u mbagħad numru -
avviż jekk dan huwa kostanti li dan huwa biss bħal għamilna dan -
dan ifisser, "ħej kompjuter, agħti lili 2 flowts u ejja kollettivament jsejħulhom gradi."
>> Dan huwa b'kuntrast għal proċess ferm aktar tedious bħal dan: float grade1;
float Grade2, u ibqa 'sejjer hekk.
Allura firxa jippermetti li jimplimentaw din l-idea, iżda ħafna inqas messily,
b'tali mod li nistgħu tikteb 1 linja tal-kodiċi minflok, jiġifieri, 16 għal semestru 16-il ġimgħa.
I ma riedx li hard-kodiċi 2 għaliex jekk inti taħseb dwar dan issa loġikament,
jissoponi sena d-dieħla CS50 tibdil 3 kwizzijiet minflok
u kelli n-numru 2 hawn, kelli n-numru 2 hawn,
Kelli in-numru 2 hawn, in-numru 2 hawn.
Dan isir ħafna tedious ħafna u faċli biex screw up
u li aċċidentalment bidla 1 valur sa 3 u titlifx xi valur ieħor ta '2.
Allura jien ser minflok astratti dan bogħod u jużaw dan kostanti li,
kif ismu jissuġġerixxi, qatt bidliet.
U issa l-ebda kwistjoni jekk aħna jkollniex differenti kwizzijiet din is-sena jew li jmiss,
I biss għandhom jibdlu f'post wieħed up hawn fuq quċċata.
Allura li kollox huwa kostanti.
Sadanittant, il-karatteristika kunċettwali ġdida hija dik ta 'firxa.
Allura l-parentesi kwadri jagħtu me dan sufruni ħafna u tikri me kollettivament jsejħulhom gradi hawnhekk.
Allura issa ejja ara dak li jien ser tagħmel.
Hawnhekk fil-linja 24 hija l-bidu ta 'għall-loop.
>> Dan huwa verament fancy xejn. Huwa biss bl-użu kwizzijiet minflok ta 'numru hard-kodifikati.
Iżda hemm xejn intellettwalment differenti hemmhekk minn ġimgħa li għaddiet.
Dan huwa biss printf, hekk printf ("Quiz d #% tal-% d:")
minħabba I biss trid li jistampa tagħti me kwizz numru 1 ta '2 u mbagħad 2 minn 2.
Allura din hija ħaġa purament estetika.
Imma l-parti interessanti issa huwa konformi 27.
Sabiex jimtlew f'wieħed mill-placeholders 2 b'valur varjabbli punt,
inti terġa tuża parentesi kwadri.
F'dan il-każ, jien jużaw i, minħabba dan għal loop beda bl i equaling dak il-valur, apparentement?
[Student] 0. >> [Malan] 0.
Allura fuq l-ewwel iterazzjoni ta 'dan loop, huwa daqs li kieku I kiteb dan fil-kodiċi,
iżda fuq il-tieni iterazzjoni ta 'dan loop, huwa daqs li kieku I kiteb dan fil-kodiċi tiegħi.
Imma l-fatt li jien jużaw varjabbli hi perfetta għaliex, kif tissuġġerixxi l-isem,
huwa jvarja valur tiegħu fuq kull iterazzjoni,
hekk jien mili dan array wieħed post kull darba.
Xi jfisser dan array look like?
Ir-raġuni I ġibdet l-rettangolu sempliċi super fuq l-iskrin hawn qabel kien għal din ir-raġuni.
Firxa hija biss blokki ta 'memorja segwita minn blokki ta' memorja
segwita minn blokki ta 'memorja u oħrajn.
Mela jekk firxa tiegħi huwa ta 'daqs 2 f'dan il-każ hawnhekk, kollha I jkun qed jagħmel
billi tittajpja punteġġi kwizz tiegħi bħal hawn - sibt 100 fuq dan wieħed u mbagħad sibt 99 dwar dan wieħed -
allura din il-memorja ma jista 'anke jkun użat għaliex stajt biss talab lill-kompjuter
għal firxa ta 'daqs 2.
Dawk kwadri għadhom hemm, id-dritt?
Inti xorta jkollhom 2 gigabytes ta 'RAM anki jekk int biss tistaqsi għal 2 flowts.
Allura l-idea wara arrays hija li l-kompjuter biss tieħu blokki ta 'memorja
u mbagħad tqassam biċċiet iżgħar lura lura lura lura.
U hekk li kollox firxa hija.
>> Huwa blokki kontigwi ta 'ġewwa memorja ta' li inti tista 'tpoġġi l-affarijiet.
Dan jiġri li mbagħad tagħmel biss ftit aritmetika boring.
Jekk I iscroll stabbiliti hawn, dan huwa fejn I imbagħad ttenni fuq il-firxa.
I toħroġ bi l-għadd totali tal kollha tal-valuri fil-firxa,
u mbagħad I tuża l-funzjoni round hawn biex fil-fatt jagħmlu s-somma diviż kwiżż.
Imma ħalluni mewġa naħa tiegħi f'dak bħala tip ta 'aritmetika biżżejjed għal issa.
Imma dak kollu li qed jagħmel għalija finalment qed jinħadem medja.
Allura kwizz 1 plus kwizz 2 diviż bi 2 u mbagħad istampar out bħala int.
Imma ejja issa transizzjoni lejn eżempju differenti msejħa string1,
li żebgħa stampa simili iżda kordi jużaw.
Let me imorru quddiem u ssimplifikat għal ftit mument.
Nahfru-indentazzjoni għal issa.
Avviż fil-linja 19 ta 'dan eżempju, I nikseb string mill-utent.
Imma avviż dak li jien tagħmel li jmiss fil-linji 22 'il quddiem.
Jien fil-fatt mtennija mis i sa - u dan huwa trick ġdid - strlen tul string,.
Din hija funzjoni li jiġi ma C li jekk inti tgħaddi din string,
hija jgħidlek kif ħafna karattri huma f'dak sekwenza. Li kollox.
U l-fatt li huwa strlen minflok it-tul sekwenza huwa biss għaliex dan huwa aktar imqassra.
Tletin sena ilu, in-nies xtaqu li jiktbu l-affarijiet kif konċiż possibbli,
hekk aħna ve tinżamm dik il-konvenzjoni hawn.
i + + ifisser biss inkrement i f'kull iterazzjoni.
U issa Avviż dan, li huwa verament interessanti.
F'konformità 24, I say, "Computer, tagħti me a karattru, 8 bits, u sejħa hija ċ."
Imma dak li hu dan fuq in-naħa tal-lemin tgħid?
Bl-Ingliż, dak li ma jirrappreżenta?
[Student] L-ewwel karattru fil-firxa.
Eżattament. Agħti lili l-ewwel karattru fil-firxa.
Jew, b'mod aktar ġenerali, agħti lili il-karattru ith fil-firxa.
U jirrealizzaw huwa importanti issa li bħala xjenzjati tal-kompjuter,
aħna qed attwalment jingħaddu minn 0.
>> Inti ma għandhom id-diskrezzjoni issa biex tibda tagħmel dan.
Issa għandek biex jaġixxu b'mod konformi mal-aspettattivi tal-kompjuter u l-għadd minn 0
għaliex [0] hi se tkun l-ewwel karattru fi string,
[1] se tkun it-tieni, [2] se tkun it-tielet, u oħrajn.
Allura dan il-programm, jekk I josservawha, dan huwa għal darb'oħra string1, sabiex tagħmel string1,
u issa stajt run string1 fil tieqa terminal tiegħi.
Huwa stennija għall-input, hekk jien ser tip fil David, Ikteb,
u issa prints David kollu fuq linji differenti minħabba l-avviż dak li qed nagħmel.
Jien istampar karattru wieħed fi żmien.
Aħna mhux se tidħol fis-dettal llum fuq dan, imma I imħassar mument ilu dan il-kontroll hawnhekk.
Jirriżulta li jekk l-utent ikun misbehaving,, kontenzjuża, jew biss konfuż
inti tista 'attwalment jonqsu milli jagħtu sensiela ta' xi tul.
Jekk inti hit-ċavetta żbaljata fuq il-keyboard, inti tista 'tagħti l-ebda spag-livelli kollha,
jew jekk int malizzjużi, inti tista 'tipprova li paste fil jiswew gigabyte ta' esej
biex timla din is-sekwenza, u jekk il-kompjuter runs out ta 'memorja,
jirriżulta li aħna qed tmur biex jiksbu lura dan il-valur speċjali msejħa NULL.
Allura għal issa, biss jafu li hemm dan il-valur speċjali msejħa NULL
li se jħallina naħsdu biex jiċċekkjaw meta nkunu barra ta 'memorja, fost affarijiet oħra.
Imma jekk jien jiftħu issa string2, avviż wieħed differenza hawn.
Avviż wieħed differenza hawn ma string2.
Ma string2, dan għal loop huwa xi ftit differenti.
>> Let me tħassar il-NULLs sabiex inkunu nistgħu nitkellmu dwar dawk ieħor żmien.
X'hemm differenti dwar l-għal loop dan iż-żmien?
I tista 'tmur lura għall-eżempju preċedenti.
Allura dak verżjoni 2, din hija verżjoni 1. 1, 2.
1, 2.
Is-sejħa strlen huwa fejn?
Huwa fl-ewwel parti tal-linja għall.
Kwalunkwe ħsibijiet dwar għaliex jien tagħmel dan? Yeah.
[Student] Allura inti ma sejħa tal-funzjoni kull wieħed ħin.
[Malan] Għalhekk aħna ma sejħa tal-funzjoni kull wieħed ħin. Eżattament.
Recall minn għal linji li dawn qed sempliċi super
ladarba inti tip ta 'jifhmu li dan huwa l-inizjalizzazzjoni, il-kundizzjoni, u l-aġġornament.
Il-problema hija li l-kundizzjoni jiġri fuq kull iterazzjoni tal-linja.
U hekk f'dan l-eżempju hawn, dak li huwa ħażin dwar il-fatt li dan huwa kundizzjoni tiegħi?
[Student] Inti qed titlob strlen.
[Malan] Inti ssejjaħ strlen ġdid u għal darb'oħra u għal darb'oħra.
Imma ladarba stajt ittajpjat fil David, it-tul ta 'dak sekwenza huwa 5,
u huwa mhux se jibdlu fuq kull iterazzjoni tal-linja
minħabba li l-sekwenza għadu D-a-vs-i-d.
Allura dan huwa ħjiel lejn dak li għaddej biex issir idea dejjem aktar importanti
magħrufa bħala deċiżjoni disinn fejn biss ma jagħmlu l-kompjuter jagħmlu x-xogħol bla bżonn.
>> Just bħala Sneak preview tal pset2, pset2 fl-edizzjoni standard
se isfida li inti fil-fatt jimplimentaw xi numru ta 'ciphers,
xi numru ta 'algoritmi encryption, sabiex inti tista' kemm kriptaġġ
u decrypt messaġġi sigrieti ħafna bħall-Ralphie waħda hemm decoded.
Fl-edizzjoni Hacker ta pset2, aħna qed tmur biex tmur ftit aktar.
Aħna qed tmur biex inti idejn fajl minn sistema tal-kompjuter attwali
li fih mazz sħiħ ta 'usernames u passwords encrypted attwali,
u l-isfida għall-edizzjoni Hacker se tkun biex jitwaqqaf dawk passwords
u ċifra barra dak kriptografija jew dak sigriet kien użat biex attwalment tiġġenera dawk passwords.
U aħna qed tmur biex tagħmel dan billi tuża fattur ġdid hawn 'C
li jien ser jagħtuk biss demo ta magħruf bħala kmand tal-linja argumenti.
Jirriżulta, kif xi wħud minnkom tista raw fis-sezzjoni jew fil-kotba,
prinċipali ma dejjem għandhom ikunu nulli fil-parentesi.
Jirriżulta li ewlieni tista 'wkoll tkun bil-miktub bħal dan, ma' żewġ argumenti,
argc u ARGV, fejn argc huwa n-numru ta 'kliem
li inti tip wara l-isem tal-programm fuq linja tal-kmand tiegħek
u ARGV huwa l-kliem attwali.
U kif il-parentesi kwadri hemmhekk jissuġġerixxu, ARGV hija apparentement firxa.
Huwa ser tkun string wara string wara string fil-memorja.
>> Allura dak li aħna qed tmur biex tkun tista 'tagħmel li jibda bl pset 2 huwa xi ħaġa bħal din.
Jekk I jagħmlu argv1, li huwa eżempju aħna ser terga 'lura għal nhar it-Tnejn, u run,
avviż li ma jidhirx li tagħmel xejn s'issa.
Hija biss tistampa f'isimha.
Imma jekk jien ngħid addiju klassi, avviż li dan il-programm apparentement ttenni
fuq kull wieħed mill-kliem li kienu ittajpjat fil-pront.
U l-mezzi li bihom aħna se jiksbu aċċess għal kliem li l-utent ikun ittajpjat fil-pront
huwa billi jinbidlu prinċipali jibda dan il-weekend minn int prinċipali (vojt) li int prinċipali (argc, ARGV)
u għalhekk se tkun imwielda kmand tal-linja argumenti.
U ladarba ikollok verament sofistikati fil dan, inti ser tkun tista 'tikteb programmi verament trippy
bħal dan wieħed hawn, li tmur lil hinn
xi wħud mill-funzjonalità aħna ghamilt s'issa imma kollha pjuttost qawwija.
>> Allura aħna ser tħalli dan ma 'dan fuq l-iskrin, u aħna se tara int nhar it-Tnejn.
>> [CS50.TV]