[Powered by Google Translate] DAVID DICIURCIO: Tātad svarīgs jēdziens izprast,
programmēšana ir jēdziens jomas.
Jomu var definēt kā konteksts, kurā mainīgais ir
redzams vai pieejami.
Piemēram, pieņemsim, ka mums ir funkcija, galvenais, tas ir
vajadzēja palielināt mainīgo, x, no viena līdz diviem.
Kā mēs varam redzēt, galvenais initializes x vienam, izdrukas
veic kādu tekstu, tad iet funkciju pieaugumu, pirms
drukāšanas vairāk teksta.
Ja šī funkcija bija palaist pareizi, tas būtu
izdrukāt x kā 2.
Mēģināsim to.
>> Tātad, kā jūs varat redzēt, galvenais nav darīt to, ko mēs gaidāms.
Tā atgriež vērtību 1, drīzāk
nekā 2 mēs gaidīts.
Par šo kļūdu iemesls var izskaidrot ar jomu.
In funkcija, galvenais, mēs inicializēts X
tikai funkciju.
Citiem vārdiem sakot, mainīgais x ir deklarēta vietēji
funkcija, galvenais, un nav pieejama
ārpus funkcijas.
Tikai galvenais var piekļūt X šajā situācijā.
Kad mēs saucam pieaugumu mēs neietu X kā ieejas, bet
tikai kopiju x.
Kā rezultātā tas, ka funkcija pieaugums tikai piebilst
vērtība 1 kopiju vērtības x.
Bet ne uz X sevi.
Kad mēs atgriežamies pie galvenā, x pats nav mainījies vispār.
Tātad izdrukāt X būs tikai raža vērtība ir 1.
>> Nu, tad tas atstāj uz jautājumu: kā mums vajadzētu noteikt
šī funkcija?
Viens risinājums ir, kam solis atgriešanās vērtību.
Tādā veidā, funkcija pieaugums būs
dod mums atpakaļ skaitlim.
Tātad, šeit ir mūsu Pārskatītajā kods ar
aizstājēju pieaugums funkciju.
Lūk, mēs tā vietā atgriezās x + 1, nevis tikai beigās
ar x ir vienāds ar x + 1.
Arī veikt ievērosiet, ka mēs aizstāj izlaides
pieauguma, iepriekš anulēta, ar int, norādot, ka
pieauguma tagad iet atpakaļ veselu vērtību.
Tagad, pēc pieauguma reisi, tas atgriezīsies ar vērtību
2, tieši tā, kā mēs paredzēts.
>> Cita situācija, kas parāda darbības joma ir svarīga
ir scopeloop.c.
Šajā kodu, mums ir par cilpu, kurā mainīgais
Kopējais tiek inicializēts laikā katru soli.
Diemžēl, šis kods nav apkopo.
Tas ir tāpēc, ka mainīgā faktiski nepastāv
ārpus cilpa.
Variables deklarē ar cilpām tikai esību
cilpa pati un tiek demonstrēta mūsu kļūdas
ziņa, kopā nedeklarētu.
Mainīgā vēl ir deklarēti ietvaros
no funkcijas galvenais.
Turklāt pie katras atkārtojuma OUR cilpas, mēs
tiek reinitializing mūsu pavisam līdz 0.
Tas pats nedara kodu no apkopošanas, taču tas
neļautu pavisam no kādreiz summējot ar vērtību pagātnes 1.
>> Atkal, kas ir labākais veids, kā noteikt šo?
Viens no vieglāk metodes ietver sevī kopā vietējā
funkcija, galvenais, nevis cilpu pati.
Tas būs kopā, lai faktiski pieauguma, un visbeidzot,
lai to varētu izdrukāt pēc cilpa.
Vēl viens paņēmiens, ka es ņemšu tikai īsi apkopot būtu
būt izmantošana globālo mainīgo.
Global mainīgie ir mainīgie, kas ir pasludināti pirms galvenās
kas saglabā savu vērtību visā visai programmai.
Protams, funkcijas var mainīt vērtību pasaules,
bet tie nav iet ārā no jomas, piemēram, vietējās mainīgie.
Tomēr, izmantojot globālos mainīgos mēdz būt sarauca pieri
pēc kā slikts dizains, jo tur ir labāki veidi
datu apmaiņai starp funkcijām.
Piemēram, izmantojot norādes.
Bet vairāk par šo citā laikā.
>> Visbeidzot, tas ir svarīgi, lai būtu izpratne par jomu
saistībā datora atmiņā, vai RAM.
Kad mēs izpildīt programmu, vietējās mainīgie un funkcijas
pievieno uz konkrētu atrašanās vietu augšējā
RAM sauc kaudzīti.
Kā funkcijas atgriešanās, kaudzīti rāmji mainīgie lielumi
izņēma no skursteņa atbrīvojot vairāk atmiņas.
Tātad, ja pārskatot jomu, pārliecinieties, ka jūs atceraties šos trīs
galvenie punkti.
Viens, darbības joma var būt vietēja vai pasaules mēroga.
Tas atkarīgs no tā, kur mainīgais ir deklarēts.
Divi, mainīgie pieteikts vai initialized funkcijas ir
vietējā uz šo funkciju, un to nevar mainīt ar citiem
funkcijas, vismaz ne bez izmantojot norādes.
Visbeidzot, mainīgie ir arī vietējā cilpas, kas ir
deklarē ar.
Šos mainīgos lielumus nav pieejamas
ārpus no cilpas.
>> Tas ir viss, kas tagad par darbības jomu.
Paldies par skatoties.