1. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C
2.9. Variables
Objetivos
1. Conocer las variables en C.
En C una variable es una posición con nombre en memoria donde se almacena un
valor de un cierto tipo de dato. Las variables pueden almacenar todo tipo de datos:
cadenas, números y estructuras. Una constante, por el contrario, es una variable cuyo
valor no puede ser modificado.
Una variable típicamente tiene un nombre (un identificador) que describe su propósi-
to. Toda variable utilizada en un programa debe ser declarada previamente. La definición
en C debe situarse al principio del bloque, antes de toda sentencia ejecutable. Una defi-
nición reserva un espacio de almacenamiento en memoria. El procedimiento para definir
(crear) una variable es escribir el tipo de dato, el identificador o nombre de la variable y,
en ocasiones, el valor inicial que tomará. Por ejemplo,
char Respuesta;
significa que se reserva espacio en memoria para Respuesta, en este caso, un carácter
ocupa un solo byte.
El nombre de una variable ha de ser un identificador válido. Es frecuente, en la
actualidad, utilizar subrayados en los nombres, bien al principio o en su interior, con
objeto de obtener mayor legibilidad y una correspondencia mayor con el elemento del
mundo real que representa.
salario dias_de_semana edad_alumno _fax
2.9.1. Declaración
Una declaración de una variable es una sentencia que proporciona información de la
variable al compilador C. Su sintaxis es:
tipo variable;
tipo es el nombre de un tipo de dato conocido por el C
variable es un identificador (nombre) válido en C.
Es preciso declarar las variables antes de utilizarlas.
En C las declaraciones se han de situar siempre al principio del bloque. Su ámbito es
el bloque en el que están declaradas.
Pedro Ramírez pedroramirez22@gmail.com 1
2. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C
Inicialización de variables
El formato general de una declaración de inicialización es:
<tipo> <nombre_variable> = <expresión>
expresión es cualquier expresión válida cuyo valor es del mismo tipo que tipo.
Las variables se pueden inicializar a la vez que se declaran, o bien, inicializarse después
de la declaración. El primer método es probablemente el mejor en la mayoría de los casos,
ya que combina la definición de la variable con la asignación de su valor inicial.
char respuesta = ’S’;
int contador = 1;
float peso = 156.45;
int anho = 1993;
Estas acciones crean variables respuesta, contador, peso y anho, que almacenan en
memoria los valores respectivos situados a su derecha.
El segundo método consiste en utilizar sentencias de asignación diferentes después de
definir la variable, como en el siguiente caso:
char barra;
barra =’/’;
2.9.2. Duración de una variable
Dependiendo del lugar donde se definan las variables de C, éstas se pueden utilizar
en la totalidad del programa, dentro de una función o pueden existir sólo temporalmente
dentro de un bloque de una función. La zona de un programa en la que una variable está
activa se denomina, normalmente, ámbito o alcance («scope»).
El ámbito (alcance) de una variable se extiende hasta los límites de la definición de
su bloque. Los tipos básicos de variables en C son:
variables locales;
variables globales;
Variables locales
Las variables locales son aquellas definidas en el interior de una función y son visibles
sólo en esa función específica. Las reglas por las que se rigen las variables locales son:
1. En el interior de una función, una variable local no puede ser modificada por nin-
guna sentencia externa a la función.
2. Los nombres de las variables locales no han de ser únicos. Dos, tres o más funcio-
nes pueden definir variables de nombre interruptor: Cada variable es distinta y
pertenece a la función en que está declarada.
Pedro Ramírez pedroramirez22@gmail.com 2
3. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C
3. Las variables locales de las funciones no existen en memoria hasta que se ejecuta
la función. Esta propiedad permite ahorrar memoria, ya que permite que varias
funciones compartan la misma memoria para sus variables locales (pero no a la
vez).
Por la razón dada en el punto 3, las variables locales se llaman también automáticas o
auto, ya que dichas variables se crean automáticamente en la entrada a la función y se
liberan también automáticamente cuando se termina la ejecución de la función.
#include <stdio.h>
int main()
{
int a, b, c, suma, numero;
/*variables locales */
printf("Cuantos numeros a sumar: ");
scanf("%d" , &numero);
suma = a+b+c;
...
return 0;
}
Variables globales
Las variables globales son variables que se declaran fuera de la función y por defecto
(omisión) son visibles a cualquier función, incluyendo main().
#include <stdio.h>
int a, b, c;
/*declaracion de variables globales * /
int main()
{
int valor;
/*declaracion de variable local*/
printf("Tres valores : ");
scanf("%d %d %d",&a,&b,&c); /*a,b,c variables globales*/
valor = a+b+c;
......
}
Pedro Ramírez pedroramirez22@gmail.com 3
4. CENTRO TECNOLÓGICO DE AVANZADA
AREA DE MECATRÓNICA
Código: M06 MICROCONTROLADORES I
Laboratorio: D-19
Duración: 2 Hs INTRODUCCIÓN AL LENGUAJE C
Todas las variables locales desaparecen cuando termina su bloque. Una variable global
es visible desde el punto en que se define hasta el final del programa (archivo fuente).
La memoria asignada a una variable global permanece asignada a través de la ejecu-
ción del programa, tomando espacio válido según se utilice. Por esta razón, se debe evitar
utilizar muchas variables globales dentro de un programa. Otro problema que surge con
variables globales es que una función puede asignar un valor específico a una variable
global. Posteriormente, en otra función, y por olvido, se pueden hacer cambios en la
misma variable. Estos cambios dificultarán la localización de errores.
Pedro Ramírez pedroramirez22@gmail.com 4