[Powered by Google Translate] JOE MCCORMICK: Así que ahora vamos a hablar de variables. Variables en ciencias de la computación son una forma de almacenar un valor. Ahora bien, ¿y cómo almacenamos que valor no es demasiado importante. Podemos tener un valor que es una palabra, que podría se almacena como una cadena. O podríamos tener algo que es un personaje, como la letra a. Y eso se almacena como un char. Podríamos tener un número, como uno o 12, que sería almacena como un entero o un int. Entonces, tenemos cosas diferentes, como un flotador, que pueden almacenar cosas como 1.01 o 111,13. Estos valores son siempre llamados mutable. Lo que significa que si se almacena el número en un entero a la parte superior de un programa más adelante, se podría cambiar el número a ser tres o siete. Ahora bien, una variable local es lo que normalmente vas a encontrar, cuando se ejecuta una función. Así que digamos que usted está dentro de su función principal. Y usted desea crear una variable llamada num. Y vamos a almacenar un número entero en él. Así que podríamos decir algo como int num = 3. Ahora, ahí lo tienes. Usted tiene una variable local. Ahora, esta variable se puede cambiar más tarde en el principal función, diciendo algo como: num = 6 o num = 7. Sin embargo, la variable se ha quedado atascado en el el alcance de dicha función. Y el alcance suele comenzar con la llave de apertura en la a partir de principal y termina con la llave de cierre que cierra la función principal. Y esta variable local ahora está atrapado dentro de este ámbito. Por lo tanto, ya no se puede acceder en otra función, fuera de la función principal. Y una vez que la principal función termina su ejecución y devoluciones, este local número variable llamada se ha ido. Así, en contraste con las variables locales, tenemos algo llamadas variables globales. Ahora, una variable global se declara en la parte superior de la programa y se puede acceder a cualquier parte del programa. Así que digamos que usted declara una variable global en la parte superior de su programa, llamado prueba. Ahora, esta variable se puede acceder en cualquier parte del programa. Puedes acceder a él en su función principal o una función debajo. Pero si alguna vez tratar de crear una variable local en una de estas funciones, con el mismo nombre que prueba, hay un conflicto. Debido a que usted no sabe qué variable que desea utilizar. ¿Quieres usar la prueba global, declaró en el programa de arriba? ¿O quieres usar la prueba de variable local que usted está tratando de crear dentro de esta función? Ahora, esta es una de las razones por las que no quieren sólo tiene que utilizar variables globales libremente. Hay algo llamado saturan el espacio de nombres. Incluso si usted no es mi intención, sin darse cuenta puede crear una variable local, más tarde en el programa, con el mismo nombre que la variable global. Y esto no supone un gran problema cuando se trabaja en pequeño 10, 20, 30-línea de programas. Una vez que usted tiene hasta miles de líneas de código, no podrá Recuerdo exactamente lo que usted ha almacenado para la variable global. Así que una cosa a considerar, cuando se utilizan local y global variables es pensar en su ámbito de aplicación. Ahora, el ámbito se refiere a donde estas variables se pueden utilizar en el programa. Así que una variable global tiene lo que se llama alcance global, lo que significa que podría ser utilizado en cualquier parte del programa. Una vez que se inicializa la variable, que puede ser utilizado en cualquier función, ya sea la función principal o una funciones 10 funciones de abajo, llamado foo10. No importa donde vaya a utilizarlo. Sin embargo, una variable local tiene un alcance específico. Y el alcance de esa variable local se determina por donde se inicializa. Ahora, el ámbito de aplicación se determina típicamente por la abertura abrazadera de la función que se declara la variable adentro, hasta la llave de cierre de esa función. Así que digamos que usted está en la función principal. Y se crea una variable. Pero ahora, dentro de esta función principal, llamar a otro funcionar foo. En la función foo, no podemos llamar a la variable que acabamos de creado en la función principal ya que no es en el ámbito. Esa variable es sólo un alcance dentro de la función principal. Así que podríamos usarlo más adelante, dentro de la función principal, pero no dentro de una función que se llama desde la función principal. Así que, como la pila y el heap, las variables globales son almacenado en una cierta parte de la memoria. Ahora, esta parte de la memoria depende del sistema que que está utilizando. Las variables globales tienen dos puntos separados que son almacenados, uno para inicializar las variables globales, tales como si que había declarado la prueba int = 5, en la parte superior de su programa. Y la otra área es para unitialized variables globales, si usted acaba de decir, test int, en la parte superior de su programa y Se va a establecer las variables de prueba más adelante en el programa. Así que ahora voy a hablar de algo que se llama # define, que es una manera de dar un nombre simbólico a una constante. Y aquí tenemos un ejemplo de un programa en C que calcula el área de un círculo. Y en la parte superior del programa que vamos a hacer algo que dice # Define pi 3,14159. # Define técnicamente no es crear una variable global. Más bien, dice preprocesador del compilador para buscar y reemplazar todas las instancias de pi 3,14159 antes de compilar. Sin embargo, se convierte en una técnica útil para declarar constantes, para su uso durante todo el programa. Ahora, mirando a la función de área, se necesita en un flotador rad y simplemente devuelve el área de un círculo con que radio o pi r al cuadrado, o veces pi rad rad veces. Y aquí es donde el # define juega un papel clave. Debido a que el compilador reemplazará básicamente que pi símbolo con el número 3,14159. Y, entonces, no tiene que escribir una y otra vez. Y más adelante, si decidimos utilizar una más dígitos de pi, vamos a 3.1415926 decir, podríamos añadir que, en la parte superior de la programa y no tener que cambiarlo, más adelante en el programa. Este es un buen uso de # define. No queremos para almacenar pi como una variable global, ya que podría cambiar más adelante en el programa. Y sabemos pi no cambia. Es una constante. Así que esto envuelve nuestro tema de variables globales. Así que hoy hemos hablado de la diferencia entre lo local y variables globales; cuándo usarlas, dependiendo de su alcance, y por qué no utilizar las variables globales a voluntad debido a que saturan el espacio de nombre. Soy Joe McCormick. Y esto es CS50.