[Powered by Google Translate] JOE MCCORMICK: Så nå skal vi snakke om variabler. Variabler i informatikk er en måte å lagre en verdi. Nå, hva og hvordan vi lagrer denne Verdien er ikke så viktig. Vi kan ha en verdi som er et ord, som kunne lagres som en streng. Eller vi kunne ha noe som er et tegn, som bokstaven a. Og det vil bli lagret som en røye. Vi kunne ha en rekke, som en eller 12, som ville være lagret som et heltall eller en int. Da har vi forskjellige ting som en dupp, som kan lagre ting som 1.01 eller 111,13. Disse verdiene er alltid kalt foranderlig. Noe som betyr at hvis vi lagret nummer én i et heltall ved toppen av et program senere, kan vi endre dette nummeret til være tre eller sju. Nå er en lokal variabel hva du vanligvis møter, når utføre en funksjon. Så la oss si at du i din viktigste funksjon. Og du ønsker å opprette en variabel kalt num. Og vi vil lagre et heltall i den. Så vi kan si noe sånt som int num = 3. Nå er det du går. Du har en lokal variabel. Nå kan denne variabelen endres senere i hoved funksjon, ved å si noe sånt som num = 6 eller num = 7. Men variabelen er fast i omfanget av denne funksjonen. Og omfanget starter typisk med krøllete spenne på begynnelsen av hoved-og slutter med den krøllete seler som stenger ute den viktigste funksjonen. Og denne lokale variabelen er nå fast i dette området. Så det kan ikke lenger nås i en annen funksjon, utenfor den viktigste funksjonen. Og når den viktigste funksjonen fullfører gjennomføring og avkastning, er denne lokale variabel kalt num borte. Så i motsetning til lokale variabler, har vi noe kalt globale variabler. Nå er en global variabel deklarert på toppen av program og kan nås hvor som helst i programmet. Så la oss si at du erklært en global variabel på toppen av programmet, kalt test. Nå kan denne variabelen nås hvor som helst i programmet. Du kan få tilgang til den i din viktigste funksjon eller en funksjon under det. Men hvis du noen gang prøvd å lage en lokal variabel i en av disse funksjoner, med samme navn som test, det er en konflikt. Fordi du ikke vet hvilken variabel du vil bruke. Ønsker du å bruke den globale test, erklærte øverst programmet? Eller ønsker du å bruke den lokale variabelen test som du prøver å skape i denne funksjonen? Nå er dette en av grunnene til at vi ikke ønsker å bare bruke globale variabler fritt. Det er noe som heter cluttering navnerommet. Selv om du ikke mener å, kan du ved et uhell lager et lokal variabel, senere i programmet, med samme navn som den globale variabelen. Og dette ikke utgjør et stort problem når du arbeider i 10 små, 20, 30-linjers programmer. Når du har opp til flere tusen linjer med kode, vil du ikke huske nøyaktig hva du har lagret for global variabel. Så én ting å vurdere, når du bruker lokal og global variabler er å tenke på sitt omfang. Nå, refererer omfang til hvor disse variablene kan brukes i programmet. Så en global variabel har det som kalles global omfang, noe som betyr at det kan brukes hvor som helst i programmet. Når du initialisere den variabelen, kan den brukes i noen funksjon, enten det er den viktigste funksjonen eller funksjon 10 funksjoner ned, kalt foo10. Det spiller ingen rolle hvor du bruker den. Men en lokal variabel har bestemt omfang. Og omfanget av den lokale variable bestemmes av hvor det blir initialisert. Nå, er omfanget typisk bestemt av åpningen spenne av funksjonen at variabelen er deklarert inn, til lukking spenne av den funksjonen. Så la oss si at du er i den viktigste funksjonen. Og du oppretter en variabel. Men nå, i denne hovedfunksjon, kaller vi en annen fungere foo. I funksjonen foo, kan vi ikke kalle variabelen vi bare opprettet i den viktigste funksjonen, fordi det ikke er i omfang. Variabelen er bare i omfang innen den viktigste funksjonen. Så vi kunne bruke det videre, innenfor den viktigste funksjonen, men ikke innenfor en funksjon som kalles fra den viktigste funksjonen. Så som bunken og haugen, globale variabler er lagret i en bestemt del av minnet. Nå avhenger denne delen av minnet på systemet som du bruker. De globale variabler har to separate flekker som de er lagret, en for initialisert globale variabler, for eksempel hvis du hadde erklært int test = 5, på toppen av programmet. Og det andre området er for unitialized globale variabler, Hvis du nettopp sa, int test, på toppen av programmet og skulle sette de testvariablene senere i programmet. Så nå er jeg kommer til å snakke om noe som kalles # define, som er en måte å gi en symbolsk navn til en konstant. Og her har vi et eksempel på et C-program som beregner arealet av en sirkel. Og på toppen av programmet vil vi gjøre noe som sier # Define pi 3.14159. # Define ikke teknisk skape en global variabel. Snarere, forteller den kompilatorens preprosessor til finne og erstatte alle forekomster av pi med 3,14159 før kompilering. Likevel blir det en nyttig teknikk for å erklære konstanter, for bruk i hele programmet. Nå, se på området funksjonen, tar det i en flottør rad og bare returnerer arealet av en sirkel med at radius eller pi r squared, eller pi ganger rad ganger rad. Og det er her # define spiller en viktig rolle. Fordi kompilatoren vil i utgangspunktet erstatte den pi symbol med antall 3,14159. Og så vi ikke trenger å skrive det om og om igjen. Og senere, hvis vi bestemmer oss for å bruke en mer sifrene pi, la oss sier 3.1415926, kunne vi bare legge det til toppen av program og ville ikke trenger å endre det, senere i programmet. Dette er en god bruk av # define. Vi ønsker ikke å lagre pi som en global variabel fordi det kan endre senere i programmet. Og vi vet pi endres ikke. Det er en konstant. Så dette brytes opp vår temaet globale variabler. Så i dag snakket vi om forskjellen mellom lokale og globale variabler, når du bruker dem, avhengig av deres omfang, og hvorfor ikke bruke globale variabler på vilje på grunn av rot i navnerommet. Jeg er Joe McCormick. Og dette er CS50.