[Powered by Google Translate] JOE McCormick: Svo nú erum við að fara að tala um breytur.
Breytur í tölvunarfræði eru leið til að geyma verðmæti.
Nú, hvað og hvernig við geyma sem
gildið er ekki of mikilvægt.
Við getum haft gildi sem er orð, sem gæti
verið geymd sem streng.
Eða við gætum hafa eitthvað sem er karakter,
eins stafinn a.
Og það yrði geymt sem bleikja.
Við gætum hafa a tala, eins og einn eða 12, það væri
geymd sem heiltölu eða int.
Þá höfum við mismunandi hluti eins og fljóta, sem getur geymt
hluti eins og 1,01 eða 111,13.
Þessi gildi eru alltaf kallaðir breytanlegur.
Sem þýðir að ef við geymd númer eitt í heiltölu á
efst á dagskrá síðar, gætum við breytt þeim fjölda til
vera þrír eða sjö.
Nú, sveitarstjórn breyta er það sem þú munt venjulega fundur,
við framkvæmd aðgerð.
Svo skulum segja að þú ert í aðal virka.
Og þú vilt búa til breytu sem heitir NUM.
Og við munum geyma heiltölu í það.
Svo við gætum sagt eitthvað eins og int num = 3.
Nú, þar sem þú ferð.
Þú hafa a heimamaður breytu.
Nú er þessi breyta að breyta síðar í helstu
virka, með því að segja eitthvað eins og num = 6 eða NUM = 7.
En breyta er fastur innan
umfang þeirrar starfsemi.
Og umfang byrjar yfirleitt með hrokkið borsveif Á
upphafi helstu og endar með hrokkið borsveif sem
lokar út helstu hlutverk.
Og þetta staðbundin breytu er nú fastur í þessu umfangi.
Svo það er ekki lengur hægt að nálgast á annan valkost,
utan meginvirkni.
Og þegar endar helsta virka framkvæmd hennar og
aftur, er þetta staðbundin breytu sem heitir NUM farin.
Svo í mótsögn við staðbundnar breytur, höfum við eitthvað
kallast global breytur.
Nú, er alþjóðlegt breytu skilgreind efst af
forrit og hægt er að nálgast hvar sem er í kerfinu.
Svo skulum segja að þú lýst alþjóðlegt breytu efst á
Forritið, sem kallast próf.
Nú gæti þetta breytu er að nálgast
hvar sem er í kerfinu.
Þú getur nálgast það í aðal virka eða virka
neðan það.
En ef þú reynir alltaf að búa til staðbundnar breytu í einu
þessar aðgerðir, með sama nafni og
próf, það er átök.
Þar sem þú veist ekki hvaða breytu sem þú vilt nota.
Ert þú vilt nota alþjóðlegt próf,
lýst efst program?
Eða viltu að nota staðbundin breytu próf sem
þú ert að reyna að búa til í þessa aðgerð?
Nú, þetta er ein af ástæðunum af hverju við viljum ekki
bara nota alþjóðlegum breytur frjálslega.
Það er eitthvað sem kallast ringulreið nafnið pláss.
Jafnvel þótt þú ætlir þér það ekki, getur þú óvart búa til
staðbundin breytu, síðar í verkefninu, með sama
nafn sem alþjóðlegt breytu.
Og þetta er ekki sitja mikið vandamál þegar þú ert að vinna í
lítil 10, 20, 30-lína forrit.
Þegar þú hefur allt að þúsundir lína af kóða, þú verður ekki
muna nákvæmlega hvað þú hefur vistað fyrir alþjóðleg breytu.
Svo eitt að íhuga, þegar staðbundin og alheims
breytur er að hugsa um umfang þeirra.
Nú, umfang vísar til þar sem þessar breytur er hægt að nota í
forritið.
Svo er alþjóðlegt breytu hefur það sem er kallað alþjóðlegt umfang,
sem þýðir að það væri hægt að nota hvar sem er í kerfinu.
Þegar þú frumstilla þá breytu, það geta vera notaður í
aðgerð, hvort sem það er helsta virka eða
virka 10 aðgerðir niður, kallaði foo10.
Það skiptir ekki máli hvar þú notar það.
En staðbundin breytu hefur ákveðið svigrúm.
Og umfang þess heimamaður breytu ræðst af
þar sem það er frumstilla.
Nú er umfang yfirleitt ákvarðað með opnun
Brace fallsins að breyta er lýst í, þar
Lokun Brace þess virka.
Svo skulum segja að þú ert í the aðalæð virka.
Og þú býrð til breytu.
En nú, í þessu meginvirkni, kalla okkur annað
virka foo.
Í virka foo, getum við ekki hringt í breytu við bara
búin í meginvirkni því það er ekki í umfangi.
Þessi breyta er aðeins í umfangi innan meginvirkni.
Þannig að við gætum notað það nánar, innan meginvirkni, en
ekki innan aðgerð sem kallast frá meginvirkni.
Svo eins og stafla og hrúga, eru alþjóðlegt breytur
geymd í ákveðinn hluta af minni.
Nú, þessi hluti af minni fer eftir kerfinu sem
þú ert að nota.
The alheims breytur hafa tvo aðskilda staði sem þeir eru
geymd, einn fyrir frumstilla alþjóðlegum breytur, svo sem ef
þú hefðir lýst int próf = 5, efst á forritinu.
Og annað svæði er fyrir unitialized alþjóðlegum breytur,
Ef þú segir bara, int próf, efst í kerfinu og
var að fara að setja á próf breytur
síðar í verkefninu.
Svo núna er ég að fara að tala um eitthvað sem kallast # skilgreina,
sem leið til að gefa táknræna nafn stöðug.
Og hér höfum við dæmi um C forrit sem reiknar
flatarmál hrings.
Og efst á dagskrá við munum gera eitthvað sem segir
# Define PI 3,14159.
# Define ekki tæknilega skapa alþjóðlegt breytu.
Frekar segir það Preprocessor þýðanda til
finna og skipta öllum tilvikum af pi með
3,14159 en byggja.
Engu að síður verður það að vera gagnlegt tækni til að lýsa
fastar, til notkunar gegn áætluninni.
Nú, horfa á svæði virka, það tekur á flot
ráðum og einfaldlega skilar flatarmál hrings með því að
radíus eða PI R veldi, eða pi sinnum rad sinnum rad.
Og þetta er þar sem # skilgreina gegnir lykilhlutverki.
Vegna þess að þýðandinn verður í grundvallaratriðum skipta að PI
tákn með fjölda 3,14159.
Og svo að við þurfum ekki að skrifa það aftur og aftur.
Og síðar, ef við ákveðum að nota fleiri tölustafi pi, skulum
segja 3.1415926, gætum við bara að bæta það til the toppur af the
áætlun og þyrfti ekki að breyta því,
síðar í verkefninu.
Þetta er gott að nota # define.
Við viljum ekki að geyma PI sem alþjóðlegt breytu vegna þess að það
gæti breyst síðar í áætluninni.
Og við vitum PI ekki breyst.
Það er stöðug.
Svo hula það upp efni okkar á heimsvísu breytur.
Svo í dag að við ræddum um mismuninn á milli sveitarfélaga og
alþjóðlegt breytur, hvenær á að nota þá, eftir þeirra
umfang, og hvers vegna ekki að nota alþjóðlegt breytur á vilja
vegna ringulreið á nafninu rúm.
Ég er Joe McCormick.
Og þetta er CS50.