You are on page 1of 10

LAS VARIABLES Una variable es un espacio de memoria donde se puede almacenar temporalmente un dato.

En C las variables tienen un nombre que las identifica, y sirve para hacer referencia a ellas. Tambin tienen un tipo, que es el tipo de datos que puede almacenar. El valor de las variables es, como su propio nombre indica, variable. Podemos alterar su valor en cualquier punto del programa. Identificadores y tipos Para dar un nombre a una variable tenemos que usar un identificador. La longitud de un identificador puede variar entre uno y varios caracteres, por lo general, 32. En la mayora de los casos el primer carcter debe ser una letra o un smbolo de subrayado. A continuacin se muestran varios ejemplos de nombres de identificadores correctos e incorrectos: Correcto Incorrecto cuenta 1cuenta prueba23 hola! puerto_paralelo puerto..paralelo El lenguaje C es sensible a maysculas y minsculas (case sensitive), de modo que no es lo mismo para el compilador el identificador cuenta que otro denominado Cuenta. Los compiladores reservan determinados trminos palabras claves (keywords), para el uso sintctico del lenguaje, tales como: asm, auto, break, case, char, do, for, etc. Si bien estas palabras estn definidas para el ANSI C, los distintos compiladores extienden esta definicin a otros trminos, por lo que es aconsejable leer la tabla completa de palabras reservadas del compilador que se vaya a usar, para no utilizarlas en nombres de variables. Para crear una variable en un lugar determinado del un programa escribiremos

primero el tipo de variable y luego el identificador con el que queremos nombrar la variable, seguido todo de un ';'. A esto se le denomina definir una variable. La forma general de la definicin es: tipo lista_identificadores; Por ejemplo: int numero; /* crea la variable numero, de tipo nmero entero */ char letra; /* crea la variable letra, de tipo carcter*/ float a, b; /* crea dos variables a y b, de tipo nmero de coma flotante */ Las variables se pueden inicializar, es decir, establecer un valor inicial, en el momento de creacin. Para ello, detrs del identificador ponemos el carcter '=' seguido del valor inicial. Los valores iniciales pueden ser cualquier constante vlida para el tipo de variable que creemos. Por ejemplo: int numero = 0; /* crea la variable entera numero y la inicializa a 0*/ char letra = 'p'; /* crea la variable carcter letra y la inicializa a 'p' */ float a=57.1, b=1.2E-5; /* crea las variables a y b, de tipo nmero de coma flotante, y los inicializa a 57.1 y 0.000012, respectivamente*/ Existen tres sitios donde se pueden definir variables: fuera de todas las funciones (variables globales). dentro de las funciones (variables locales) en la definicin de parmetros de funciones (parmetros formales) El tipo de datos carcter consta de un nico carcter y se suele representar por su carcter en cdigo ASCII situado entre apstrofes. Por ejemplo:

'p' /* la letra p minscula */ '1' /* el numero 1 */ ' ' /* el carcter en blanco */ Hay otras formas de representar caracteres, que se emplean cuando es un carcter que no se puede introducir directamente desde el teclado. Para ello debemos conocer su cdigo ASCII. Para representar el carcter de nmero ascii 27, (el cdigo para el carcter ESCAPE), basta colocar el nmero ascii en el sistema octal precedido de la barra atrs, y todo ello entre apstrofes, tal y como hacemos para los dems caracteres: '\27' /* representa el cdigo ESCAPE, de ASCII 27 */ En C hay algunos caracteres especiales que se usan frecuentemente. Estos caracteres tienen una representacin especial. Algunos de ellos son: Cdigo Significado Valor ASCII (decimal) Valor ASCII (hexadecimal) '\n' nueva lnea 10 0x0A '\r' retorno de carro 13 0x0D '\f' nueva pgina (form feed) 2 x0C '\t' tabulador horizontal 9 0x09 '\b' retroceso (backspace) 8 0x08 '\'' comilla simple 39 0x27 '\"' comillas 4 0x22 '\\ ' barra invertida 92 0x5C '\? ' interrogacin 63 0x3F '\nnn' cualquier carcter (donde nnn es el cdigo ASCII expresado en octal) '\xnn' cualquier carcter (donde nn es el cdigo ASCII expresado en

hexadecimal) Un tipo entero consiste en un nmero sin parte decimal, aunque puede tener signo. Generalmente con el tipo de datos entero no representamos nmeros muy grandes. Son ejemplos: 0 124 -2000 El tipo de datos entero nos permitir hacer operaciones aritmticas, como la suma y la multiplicacin. El tipo de datos entero es quizs el ms importante de todos los tipos de datos, y muchas veces es el tipo de datos por defecto, es decir, cuando el compilador se encuentre con un dato y no le hayamos indicado cul es su tipo, supondr que es un entero. C tambin posee el tipo de datos en coma flotante, que es el que usan las calculadoras cientficas en sus operaciones aritmticas. Los tipos de datos atmicos definidos por C son: caracteres nmeros enteros nmeros en coma flotante Los caracteres son representados por char, los enteros por short, int, long, y los nmeros en coma flotante por float y double. Los cinco tipos de datos atmicos son: Identificador Tipo Tamao en bits Intervalo char Carcter 8 (normalmente) 0 a 255 int Entero con signo 16 (depende de la implementacin) -32 768 a 32 767 float Flotante simple 32 (normalmente)

3.4E-38 a 3.4E+38 (aprox. 6 dgitos de precisin) double Flotante doble 64 (normalmente) 1.7E-308 a 1.7E+308 (aprox. 12 dgitos de precisin) void Nada Genrico 0 sin valor El tipo representado por void puede significar dos cosas distintas, segn su utilizacin. Puede significar nada, o sea, si una funcin devuelve un valor de tipo void no devuelve ningn resultado; o puede significar cualquier cosa, como puede ser un puntero a void (un puntero genrico a cualquier tipo de dato). Ms adelante veremos su utilizacin. A excepcin del tipo void, los otros tipos bsicos admiten variantes. Esto se consigue utilizando modificadores de tipo que precedan la definicin del tipo: signed unsigned long short La palabra unsigned en realidad es un modificador aplicable a tipos enteros, aunque si no se especifica un tipo se supone int. El modificador es una palabra clave de C que indica que una variable, o funcin, no se comporta de la forma normal. Hay tambin un modificador signed, pero como los tipos son por defecto con signo, casi no se utiliza. Las variables de coma flotante son siempre con signo y, en el caso en que el exponente sea positivo, puede obviarse el signo del mismo.

La siguiente tabla muestra todas las combinaciones permitidas que se ajustan al estndar ANSI. Tipo bits Intervalo char 8 -128 a 127 unsigned char 8 0 a 255 signed char 8 -128 a 127 int 16 -32 768 a 32 767 unsigned int 16 0 a 65535 signed int 16 igual que int short int 8 -128 a 127 unsigned short int 8 0 a 255 signed short int 8 igual que short int long int 32 -2 147 483 648 a 2147 483 647 signed long int 32 -2 147 483 648 a 2 147 483 647 unsigned long int 32 0 a 4 294 967 296 float 32 3.4E-38 a 3.4E+38 double 64 1.7E-308 a 1.7E+308 long double 128 3.4E-4932 a 3.4E+4932 (aprox. 24 dgitos de precisin) Es preciso tener presente que en sistemas que permiten longitudes de palabra mayores de 16 bits un short int puede no ser igual que un signed char. Veamos el siguiente programa de ejemplo acerca del uso de variables: #include <stdio.h>

main() { float cels, fahr; cels = 25.0; /* Temperatura en C */ fahr = 32.0 + 9.0 * fahr / 5.0; /* Temperatura en Fahrenheit */ printf(">>> %f C son %f F\n", cels, fahr ); } En l se definen dos variables float, se asigna un valor a la primera y se calcula la segunda mediante una expresin aritmtica. Las asignaciones en C tambin son una expresin, por lo que se pueden utilizar como parte de otra expresin, pero segn que prcticas de este tipo no son muy recomendables ya que reducen la legibilidad del programa. En la instruccin printf, el smbolo %f indica que se imprime un nmero en coma flotante. Un tipo de datos importante en C es la cadena de caracteres. Est formada por un conjunto de caracteres encerrados entre comillas. Podemos usar todos los caracteres del conjunto ASCII, incluso los especiales. Los caracteres normales se incluyen entre las comillas tal cual, sin necesidad de apstrofes, y los especiales se incluyen utilizando la representacin del C. Por ejemplo: "Bienvenido a la programacin en lenguaje C\n" En este ejemplo observamos la cadena de caracteres "Bienvenido a la programacin en lenguaje C", a la que hemos aadido un carcter de retorno de carro al final. El motivo de ello es que cuando la imprimamos el carcter de retorno de carro, \n, actuar como una orden que obligar al cursor a avanzar una lnea y situarse al principio de la siguiente. Duracin de las variables Las variables pueden ser de dos tipos:

estticas dinmicas Las estticas se crean al principio del programa y duran mientras el programa se ejecute. Las variables son dinmicas si son creadas dentro de una funcin. Su existencia est ligada a la existencia de la funcin. Se crean cuando la funcin es llamada y se destruyen cuando la funcin o subrutina devuelve el control a la rutina que la llam. Las variables estticas se utilizan para almacenar valores que se van a necesitar a lo largo de todo el programa. Las variables dinmicas se suelen utilizar para guardar resultados intermedios en los clculos de las funciones. Como regla general, una variable es esttica cuando se crea fuera de una funcin y es dinmica cuando se crea dentro de una funcin. Por ejemplo en el siguiente programa: #include <stdio.h> int numero1 = 1; main() { int numero2 = 2; printf("%d, %d\n", numero1, numero2); } Hemos creado la variable esttica numero1, que dura todo el programa, y la variable numero2, que dura slo mientras se ejecuta la funcin main(). En este programa tan pequeo, la funcin main() es la que ocupa todo el tiempo de ejecucin, por lo que no apreciaremos diferencia en el uso de ambas, aunque ms adelante si se ver su uso. mbito o alcance (scope) de las variables Otra caracterstica de las variables es su alcance. El alcance se refiere a los

lugares de un programa en los que podemos utilizar una determinada variable. Distinguiremos as dos tipos principales de variables: globales locales Una variable es global cuando es accesible desde todo el programa, y es local cuando solo puede acceder a ella la funcin que la creo. Tambin hay una norma general para el alcance de las variables: una variable es global cuando se define fuera de una funcin, y es local cuando se define dentro de una funcin. En nuestro ejemplo anterior numero1 es una variable global y numero2 es una variable local. Variable Global Variable Local #include <stdio.h> int x; main() { } #include <stdio.h> main() { int x; } Dentro de las variables globales hay dos tipos: las que son accesibles por todos los ficheros que componen nuestro programa y las que son accesibles solo por todas las funciones que componen un fichero. Esto es debido a que normalmente los programas en C se fragmentan en mdulos ms pequeos, que son ms fciles de manejar y depurar. Por ello hay veces que nos interesar que una

variable sea accesible desde todos los mdulos, y otras solo queremos que sea accesible por las funciones que componen un determinado modulo. Por defecto todas las variables globales que creemos son accesibles por todos los ficheros que componen nuestro programa. El mbito, o visibilidad, de una variable nos indica en que lugares del programa est activa esa variable. Las variables pueden definirse en el cuerpo de funciones. Estas variables se crean en la memoria del ordenador cuando se llama a la funcin y se destruyen cuando la funcin termina de ejecutarse. Es necesario a veces, que una variable tenga un valor que pueda ser accesible desde todas las funciones de un mismo fuente, e incluso desde otros fuentes. En C, el mbito de las variables depende de dnde han sido declaradas y si se les ha aplicado algn modificador. Una variable definida en una funcin es, por defecto, una variable local. Esto es, que slo existe y puede ser accedida dentro de la funcin. Para que una variable sea visible desde una funcin cualquiera del mismo fuente debe declararse fuera de cualquier funcin. Esta variable slo ser visible en las funciones definidas despus de su declaracin. Por esto, el lugar ms comn para definir las variables globales es antes de la definicin de ninguna funcin. Por defecto, una variable global es visible desde otro fuente. Un modificador muy importante es const. Con l se pueden definir variables cuyo valor debe permanecer constante durante toda la ejecucin del programa. Tambin se puede utilizar con argumentos de funciones. En este caso se indica que el argumento en cuestin es un parmetro y su valor no debe ser modificado. Si al programar la funcin, modificamos ese parmetro, el compilador nos indicar el error. const double pi = 3.14159;

You might also like