[Powered by Google Translate] JOE MCCORMICK: Most fogunk beszélni változók.
Változók a számítástechnikában egy módja annak, hogy tárolja az értéket.
Nos, mit és hogyan tároljuk, hogy a
érték nem túl fontos.
Mi lehet olyan érték, amely egy szó, amely
kell tárolni, mint egy húr.
Vagy mi lehetett volna valamit, ami egy karaktert,
mint a levél a.
És ez kellene tárolni, mint egy char.
Jelenleg is számos, mint egy vagy 12, az lenne
tárolt egy egész szám vagy egy int.
Aztán, már különböző dolgokat, mint egy úszó, amely képes tárolni
dolgok, mint a 1,01, illetve 111,13.
Ezek az értékek mindig hívják változékony.
Azt jelenti, hogy ha a tárolt szám egy olyan egész szám a
a tetején a program később tudtuk változtatni szám
három vagy hét.
Most, egy lokális változó mit fogsz jellemzően találkozás,
végrehajtása során a funkciót.
Tehát mondjuk te belül a fő funkciója.
És azt akarod, hogy hozzon létre egy változót nevű tel.
És mi tároljuk integer benne.
Így azt mondhatjuk, valami hasonlót int num = 3.
Nos, tessék.
Van egy helyi változót.
Nos, ezt a változót lehet változtatni később a fő
funkciót, mondván valami ilyesmit num = 6 vagy num = 7.
De a változó beragadt a
hatálya alá ezt a funkciót.
És a hatálya általában kezdődik a kapcsos zárójel a
elején a fő-és végződik a kapcsos zárójel, hogy
zárja ki a fő funkciója.
És ez a lokális változó most megakadt ezen alkalmazási körön belül.
Így már nem lehet hozzáférni egy másik funkció,
kívül a fő funkció.
És ha egyszer a fő funkciója befejezi a végrehajtás és a
visszatér, ez a lokális változó nevű tel elment.
Tehát ellentétben a lokális változók, van valami
úgynevezett globális változók.
Most, egy globális változó nyilvánított tetején a
program elérhető bárhol a programban.
Tehát mondjuk bejelentett egy globális változót a tetején
a program, az úgynevezett teszt.
Nos, ezt a változót lehetne elérni,
bárhol a programban.
Lehet elérheti a fő funkció vagy funkció
alá.
De ha valaha is megpróbál létrehozni egy helyi változót az egyik
ezeket a funkciókat, a neve megegyezik
vizsgálat, van egy konfliktus.
Mert nem tudja, hogy melyik változót szeretnénk használni.
Szeretné használni a globális vizsgálat
nyilvánította a csúcson program?
Vagy szeretnéd használni a helyi változó teszt
akarsz létrehozni ezen a funkciót?
Nos, ez az egyik oka annak, hogy nem akarjuk, hogy
csak használja globális változók szabadon.
Van valami, amit az úgynevezett túlzsúfoltság a név tér.
Akkor is, ha nem akarok, akkor véletlenül létre
lokális változó, később a programban, az azonos
név, mint a globális változót.
És ez nem jelent nagy problémát, ha éppen dolgozik
kicsi 10, 20, 30-vonal programok.
Ha már akár több ezer sornyi kódot, akkor nem fog
emlékszem, hogy pontosan mit tárolt a globális változót.
Tehát az egyik dolog, hogy fontolja meg, amikor a helyi és globális
változók gondolkodni annak hatályát.
Most hatálya vonatkozik, ahol ezeket a változókat lehet használni
a programot.
Tehát egy globális változó az úgynevezett globális hatókörű,
értelmezni, hogy fel lehet használni bárhol a programban.
Ha inicializálni a változót, akkor lehet használni a
minden funkció, függetlenül attól, hogy a fő funkciója, vagy
funkció 10 funkció le, az úgynevezett foo10.
Nem számít, hol használjuk.
De egy helyi változó konkrét hatályáról.
És hatályát helyi változó határozza meg
ahol inicializáljuk.
Most, a hatály jellemzően határozza meg a nyitó
zárójel a funkció, hogy a változó bejelentett, amíg
záró zárójel e funkciót.
Tehát mondjuk te vagy a fő funkciója.
És létrehoz egy változót.
De most, ezen belül a fő funkciója, hívjuk másik
function ize.
A function ize, nem tudjuk hívni a változó már csak
létre a fő funkciója, mert ez nem a hatályát.
Ez a változó csak a hatálya alá tartozó a fő funkciója.
Így tudtuk használni tovább, a fő funkciója, de a
belül nem egy függvény, hogy hívják a fő funkciója.
Szóval, mint a stack és a heap globális változók
tárolt egy bizonyos részében a memória.
Nos, ez a része a memória függ a rendszer
Ön használ.
A globális változók esetében két különböző helyeken, hogy ők
tárolt, egy a inicializált globális változók, mint mintha
Ön kijelentette, int teszt = 5, a tetején a program.
A másik terület a unitialized globális változók,
ha csak azt mondta, int teszt, a tetején a program, és
volt, hogy állítsa be a vizsgálati változók
később a programban.
Tehát most fogok beszélni valami úgynevezett # define,
amely egy módja annak, hogy egy szimbolikus nevet egy konstans.
És itt van egy példa egy C program kiszámolja
a terület a kör.
És a tetején a program fogjuk tenni valamit, hogy azt mondja
# Define pi 3,14159.
# Define technikailag nem hoz létre egy globális változót.
Inkább azt mondja a fordító által előfeldolgozó a
keresés és csere minden esetben a pi-vel
3,14159 fordítás előtt.
Mindazonáltal, ez lesz hasznos technika nyilvánító
állandók, használata az egész programot.
Most néztem a terület funkciót, akkor vesz egy úszó
rad, és egyszerűen visszaadja a területet a kör, amely
sugár vagy pi r kockás, vagy pi szer rad alkalommal rad.
És ez az, ahol a # define kulcsfontosságú szerepet játszik.
Mivel a fordító alapvetően helyettesíti, hogy a PI
szimbólum a szám 3,14159.
És így nem kell írni, hogy újra és újra.
És később, ha úgy döntünk, hogy egy több számjegy a pi, hadd
mondjuk 3.1415926, mi is csak hozzá, hogy a tetején a
programot, és nem kell megváltoztatni,
később a programban.
Ez egy jó felhasználása # define.
Nem akarjuk tárolni pi globális változót, mert
megváltozhat később a program.
És tudjuk, hogy a PI nem változik.
Ez egy állandó.
Szóval ez a pakolások fel témánk a globális változók.
Szóval ma beszéltünk a különbség a helyi és
globális változók, hogy mikor kell használni őket, attól függően, hogy
hatálya alá, és miért nem használja globális változókat tetszés
mert a túlzsúfoltság a név tér.
Én vagyok Joe McCormick.
És ez CS50.