[Powered by Google Translate] JOE McCormick: Així que ara anem a parlar de variables. Variables en ciències de la computació són una forma d'emmagatzemar un valor. Ara bé, ¿i com emmagatzemem que valor no és massa important. Podem tenir un valor que és una paraula, que podria s'emmagatzema com una cadena. O podríem tenir alguna cosa que és un personatge, com la lletra a. I això s'emmagatzema com un char. Podríem tenir un nombre, com un o 12, que seria emmagatzema com un enter o un int. Llavors, tenim coses diferents, com un flotador, que poden emmagatzemar coses com 01/01 o 111,13. Aquests valors són sempre anomenats mutable. El que vol dir que si s'emmagatzema el nombre en un sencer a la part superior d'un programa més endavant, es podria canviar el nombre a ser tres o set. Ara bé, una variable local és el que normalment trobaràs, quan s'executa una funció. Així que diguem que vostè està dins de la seva funció principal. I vostè vol crear una variable anomenada núm. I anem a emmagatzemar un nombre enter en ell. Així que podríem dir alguna cosa com int num = 3. Ara, aquí ho tens. Vostè té una variable local. Ara, aquesta variable es pot canviar més tard en el principal funció, dient alguna cosa com: num = 6 o núm = 7. No obstant això, la variable s'ha quedat encallat al l'abast d'aquesta funció. I l'abast sol començar amb la clau d'obertura en la a partir de principal i acaba amb la clau de tancament que tanca la funció principal. I aquesta variable local ara està atrapat dins d'aquest àmbit. Per tant, ja no es pot accedir en una altra funció, diferents que la principal. I una vegada que la principal funció acaba la seva execució i devolucions, aquest local nombre variable anomenada s'ha anat. Així, en contrast amb les variables locals, tenim una cosa anomenades variables globals. Ara, una variable global es declara a la part superior de la programa i es pot accedir a qualsevol part del programa. Així que diguem que vostè declara una variable global en la part superior de seu programa, anomenat prova. Ara, aquesta variable es pot accedir en qualsevol part del programa. Pots accedir-hi en la seva funció principal o una funció sota. Però si mai tractar de crear una variable local en una de aquestes funcions, amb el mateix nom que prova, hi ha un conflicte. Com que vostè no sap què variable que voleu utilitzar. Vols utilitzar la prova global, va declarar al programa de dalt? O vols fer servir la prova de variable local que vostè està tractant de crear dins d'aquesta funció? Ara, aquesta és una de les raons per les que no volen només ha d'utilitzar variables globals lliurement. Hi ha una cosa anomenada saturen l'espai de noms. Encara que no és la meva intenció, sense adonar-se pot crear una variable local, més tard en el programa, amb el mateix nom que la variable global. I això no suposa un gran problema quan es treballa en petit 10, 20, 30-línia de programes. Quan vostè té fins a milers de línies de codi, no podrà Recordo exactament el que vostè ha emmagatzemat per a la variable global. Així que una cosa a considerar, quan s'utilitzen local i global variables és pensar en el seu àmbit d'aplicació. Ara, l'àmbit es refereix a on aquestes variables es poden utilitzar en el programa. Així que una variable global té el que es diu abast global, el que significa que podria ser utilitzat en qualsevol part del programa. Quan s'inicialitza la variable, que pot ser utilitzat en qualsevol funció, ja sigui la funció principal o una funcions 10 funcions de baix, anomenat foo10. No importa on vagi a utilitzar. No obstant això, una variable local té un abast específic. I l'abast d'aquesta variable local es determina per on s'inicialitza. Ara, l'àmbit d'aplicació es determina típicament per l'obertura brida de la funció que es declara la variable endins, fins la clau de tancament d'aquesta funció. Així que diguem que vostè està en la funció principal. I es crea una variable. Però ara, dins d'aquesta funció principal, trucar a un altre funcionar foo. En la funció foo, no podem trucar a la variable que acabem de creat en la funció principal ja que no és en l'àmbit. Aquesta variable és només un abast dins de la funció principal. Així que podríem usar més endavant, dins de la funció principal, però no dins d'una funció que es diu des de la funció principal. Així que, com la pila i el heap, les variables globals són emmagatzemat en una certa part de la memòria. Ara, aquesta part de la memòria depèn del sistema que que està utilitzant. Les variables globals tenen dos punts separats que són emmagatzemats, un per establir variables globals, com ara si que havia declarat la prova int = 5, a la part superior del seu programa. I l'altra àrea és per unitialized variables globals, si vostè acaba de dir, test int, a la part superior del seu programa i S'establirà les variables de prova més endavant en el programa. Així que ara vaig a parlar d'una cosa que es diu # defineix, que és una manera de donar un nom simbòlic a una constant. I aquí tenim un exemple d'un programa en C que calcula l'àrea d'un cercle. I a la part superior del programa que farem alguna cosa que diu # Defineix pi 3,14159. # Defineix tècnicament no és crear una variable global. Més aviat, diu preprocessador del compilador per buscar i reemplaçar totes les instàncies de pi 3,14159 abans de compilar. No obstant això, es converteix en una tècnica útil per declarar constants, per al seu ús durant tot el programa. Ara, mirant a la funció d'àrea, es necessita en un flotador rad i simplement retorna l'àrea d'un cercle amb què ràdio o pi r al quadrat, o vegades pi rad rad vegades. I aquí és on el # defineix juga un paper clau. Com que el compilador reemplaçarà bàsicament que pi símbol amb el número 3,14159. I, llavors, no ha d'escriure una i altra vegada. I més endavant, si decidim utilitzar una més dígits de pi, anem a 3.1415926 dir, podríem afegir que, en la part superior de la programa i no haver de canviar-lo, més endavant en el programa. Aquest és un bon ús de # defineix. No volem per emmagatzemar pi com una variable global, ja que podria canviar més endavant en el programa. I sabem pi no canvia. És una constant. Així que això envolta el nostre tema de variables globals. Així que avui hem parlat de la diferència entre el local i variables globals, quan usar-les, depenent de la seva abast, i per què no utilitzar les variables globals a voluntat pel fet que saturen l'espai de nom. Sóc Joe McCormick. I això és CS50.