Declaración de variables en C, ¿Cuál es su alcance?
- Fuera de todas las funciones del programa, son las llamadas variables globales, accesibles desde cualquier parte del programa.
- Dentro de una función, son las llamadas variables locales, accesibles tan solo por la función en las que se declaran.
- Como parámetros a la función, accesibles de igual forma que si se declararan dentro de la función.
- Dentro de un bloque de código del programa, accesible tan solo dentro del bloque donde se declara. Esta forma de declaración puede interpretarse como una variable local del bloque donde se declara.
Para una mejor comprensión, veamos un pequeño programa de C con variables
declaradas de las cuatro formas posibles:
#include <stdio.h>
int sum; /*Variable global, accesible desde cualquier parte del programa*/
void suma (int x) /* variable local declarada como parámetro, accesible solo en la función suma /*
{ sum = sum + x;
return;
}
void intercambio(int *a,int *b)
{
if (*a>*b)
{
int inter; /* Variable local, accesible solo dentro del bloque donde se declara*/
inter=*a;
*a=*b;
*b=inter;
}
return;
}
int main(void) /*Función principal del programa*/
{
int contador,a=9,b=0; /*Variables locales, accesibles solo por main*/
sum=0;
intercambio(&a,&b);
for(contador=a;contador<=b;contador++)
suma(contador);
printf(“%d\n”,suma);
return(0);
}
0 comentarios