Lección 10: Paso por valor y ámbito (scope)
En la lección anterior aprendimos a pasar valores a una función — pero ¿qué recibe realmente la función? En C todo argumento se pasa por valor: la función recibe una copia, y cambiar la copia nunca toca el original. Por eso una función swap 'inocente' que intercambia sus parámetros deja las variable
Pasar una variable a una función es como enviar una fotocopia de un documento: quien recibe la copia puede rayarla todo lo que quiera — tu documento original queda perfectamente limpio.
- paso por valor
- El método de paso de C: la función recibe una copia del valor, no la variable misma.
- copia
- El valor que se coloca en el parámetro al hacer la llamada. Cambiarlo no afecta a la variable de quien llamó.
- ámbito (scope)
- La región del código donde una variable existe y es accesible — normalmente el bloque donde se definió.
- variable local
- Una variable definida dentro de una función o bloque: nace cuando el bloque empieza, desaparece cuando termina.
- variable global
- Una variable definida fuera de todas las funciones y visible para todas ellas. Existe, pero es mejor evitarla — es difícil rastrear quién la cambia.