Você está na página 1de 5

Variables o Tipos de Datos en C++ Conceptualmente, desde el punto de vista de un programador, una variable es una entidad cuyo valor

puede cambiar a lo largo de la ejecucin de un programa. En un nivel ms lgico, una variable ocupa un espacio de memoria reservado en el ordenador para contener sus valores durante la ejecucin de un programa. Cada variable debe pertenecer a un tipo determinado, y ese tipo determina, por una parte, el tamao del espacio de memoria ocupado por la variable, y por otra, el modo en que se manipular esa memoria por el ordenador. No olvides, si es que ya lo sabas, que la informacin en el interior de la memoria del ordenador se almacena siempre de forma binaria, al menos a bajo nivel. El modo en que se interpreta la informacin almacenada en la memoria de un ordenador es, en cierto modo, arbitraria; es decir, el mismo valor puede codificar una letra, un nmero, una instruccin de programa, etc. No hay nada diferente en una posicin de memoria que contenga una instruccin de programa o una letra de un texto; si observamos una posicin de memoria cualquiera, no habr modo de saber qu significa el valor que contiene. Es mediante el tipo como le decimos al compilador el modo en que debe interpretarse y manipularse cierta informacin binaria almacenada en la memoria de un ordenador. De momento slo veremos los tipos fundamentales, que son: void, char, int, float y double, en C++ se incluye tambin el tipo bool. Tambin existen ciertos modificadores, que permiten ajustar ligeramente ciertas propiedades de cada tipo; los modificadores pueden ser: short, long, signed y unsigned, y pueden combinarse algunos de ellos. La Sintaxis En C++, la sintaxis se puede dar en diferentes combinaciones tanto con el tipo de variable, como con los modificadores, normalmente los modificadores son poco usados (me refiero a short, long, signed y unsigned) pero de igual forma en algn momento podran ser tiles. De este modo, la sintaxis para una variable es la siguiente: [modificadores] [tipo de variable] [nombre de la variable]; En la declaracin de una variable se debe colocar como nimino el tipo, el nombre y el punto y coma, los modificadores son opcionales, es decir no es necesario ponerlos, si no se pone ningn modificador, el compilador tomara nuestra variable como signed, es decir podra ser positivo o negativo En el momento de asignar un nombre a una variable se deben seguir algunas normas:

1. El nombre de una variable nunca debe comenzar con un numero. 2. No debes incluir algunos caracteres como smbolos matematicos, guiones (el guin bajo"_" si es permitido), comas, punto y coma, comillas, signos de interrogacin o espacios en blanco. 3. Deben tener un mximo de 40 caracteres Tambin, hay algunas palabras que son reservadas del lenguaje, es decir tus variables no podrn tener estos nombre (no creo que tengas problemas con esto, especialmente si escribe en espaol). Las palabras son las siguientes: auto const double float int short struct unsigned break continue else for long signed switch void case default enum goto register sizeof typedef volatile char do extern if return static union while Algunos ejemplos de nombres correctos: FechaNacimiento variable12 nombre_variable contador ACUMULADOR Algunos ejemplos de nombres incorrectos: 12variable float register variable nueva nueva-variable

Tipos de Datos bool: El tipo de dato bool, tiene un tamao de 8 bits y un rango entre 0 y 1, en pocas palabras es cero o es uno (falso o verdadero). Este tipo de dato, es comnmente usado en condicionales o variables que solo pueden tomar el valor de falso o verdadero. Las variables de tipo bool no suelen llevar modificadores, pues son innecesarios, ya que su rango es solo 0 y 1. int: El tipo de dato int, tiene un tamao de 8 bits y un rango entre -2.147.483.648 y 2.147.483.547. Este tipo de dato, es usado para nimeros enteros (sin cifras decimales). A continuacin algunas de sus combinaciones con los modificadorea: - short int: Tiene un tamao de 16 bits y un rango entre -32.768 y 32.767. - unsigned short int: Tiene un tamao de 16 bits y un rango entre 0 y 65535. - unsigned int: Tiene un tamao de 32 bits y un rango entre 0 y 4.294.967.295. - long long int: Tiene un tamao de 64 bits y un rango entre 9.223.372.775.808 y 9.223.375.775.807. - insigned long long int: Tiene un tamao de 64 bits y un rango entre 0 y 18.446.744.073.709.551.615. float: El tipo de dato float tiene un tamao de 32 bits, es usado comnmente en nmeros con 6 o menos cifras decimales. Tiene un rango entre 1,17549*(e^-38) hasta 3,40282*(e^+38). double: El tipo de dato double tiene un tamao de 64 bits, es usado para nmeros de menos de 15 cifras decimales. Tiene un rango entre 2,22507*(e^-308) hasta 1,79769*(e^308). - long double: Tiene un tamao de 96 bits y una precisin de 18 cifras decimales. Tiene un rango entre 3,3621*(e^-4932) hasta 1,18973*(e^4932). char: Las variables del tipo char, son digamos las variables problema del lenguaje C y C++, puesto que tienen una gran cantidad de restricciones y complicaciones, bastante molestas. Las variables de tipo char, en C y C++ son consideradas vectores y como quiz sabrs a los vectores se les debe declarar un tamao mximo, entre corchetes "[ ]" lo cual restringe un poco al momento de no saber que tamao podra llegar a tener una cadena de caracteres, y aunque hay formas de evadir esto, es bastante complicado, desde mi punto de vista personal recomiendo las variables de tipo string para las cadenas de caracteres, estas

estan incluidad en la librera string.h y son bastante fciles de usar y muy flexibles a diferencia de los char. Muy bien, de igual forma pondr como se debe declarar un char y mas abajo, mencionare algunas otras molestias que este tipo de dato genera, pero explicare como se arreglan. Como declarar un char?, muy bien, la sintaxis es la siguiente: char nombre_char[tamaoMax];, tambin es valido y solo es valido de esta forma la asignacin por medio del signo "=" para un char y es as: char nombre_char[tamaoMax] = "cadena";, muy bien, como veras aqu lo nico que hay extrao es lo del tamaoMax, pues bien, ah se debe poner un numero entero que no cambia es decir constante que nos indica el tamao mximo que tendr nuestra cadena de caracteres, si nos pasamos de ese numero, tendremos problemas, as que recomiendo pone nmeros grandes si no se sabe el tamao que podra tener, pero bueno, esto nos podra desperdiciar memoria y recursos o todo lo contrario, nos podran quedar faltando. constantes: Las variables del tipo constante tienen un valor fijo durante toda la ejecucin del programa, es decir, este valor no cambia, son muy tiles para especificar el tamao de un vector o para algunas otras cosas. Para declarar una constante, se hace despues de declarar las libreras y antes de las funciones, la sintaxis es la siguiente: #define nombre_constante valor. De este modo por ejemplo, para declarar una constante llamada const y que tenga un valor de 50 por ejemplo, escribiremos as: #define const 50. Instrucciones de Asignacin Una instruccin de asignacin, como su nombre bien lo dice, es una lnea de cdigo, que el asigna a una variable cualquiera un valor cualquiera, preferiblemente adecuado al tipo de dato o a las necesidades de dicha asignacin Es decir, no tiene sentido declarar una variable de tipo entero y asignarle un valor decimal como 0.56 o algo similar, aunque bueno, habr casos en que esto de alguna forma sea lo que deseamos hacer, aunque no es algo muy frecuente. Una asignacin tiene la siguiente sintaxis: nombre_variable = valor, con esto le estamos diciendo a nuestro programa que la variable llamada "nombre_variable", tendr ahora como nuevo valor a "valor". As entonces por ejemplo, al escribir contador = 0; estamos diciendo que la variable contador tendr como nuevo valor 0, es de tener en cuenta que al realizar una asignacin, si la variable tenia algn otro valor antes de esto, dicho valor se perder y cambiara por el nuevo que le hemos ordenado, hay una asignacin un poco especial y es la asignacin a una variable de tipo char (cadena de caracteres), al asignar un valor a estas variables, este valor debe ir entre comillas (" "), pero ten en cuenta que esto es solo valido en el momento de declarar la variable, mas adelante no ser posible usar el "=", as que una forma correcta de hacerlo es la siguiente: char variable_char = "valor"; , de este modo la variable de nombre "variable_char" tendr ahora como valor la cadena de caracteres "valor". Por ejemplo char cadena[50] = "Hola Mundo 5" pero bien, te preguntaras, si necesito hacer una asignacin en otra lnea de cdigo, que no sea en el momento de declarar la misma, pues bueno, para esto, se usa la funcin strcpy, un poco mas abajo, explico como funciona esta. Como veras al ser una cadena de caracteres podrs incluir espacios, nmeros, smbolos

y todo lo que quieras siempre y cuando est incluido en el ASCCI. Ahora bien, las asignaciones no solo se realizan entre variables y valores constantes, tambin se realizan entre mismas variables, por ejemplo variable1 = variable2, de este modo, la "variable1", tendr ahora el valor que tiene en ese momento la "variable2", es recomendable realizar estas asignaciones entre variables del mismo tipo, es decir entre una variable de tipo entero y otra de tipo entero, aunque esta permitido hacer asignaciones entre variables de diferente tipo, esto genera una advertencia porque puede causar perdida en la precisin de los datos, por ejemplo al pasar de float a int, como imaginaras, se pierden las cifras decimales, aunque quiz a veces quieras hacer eso, hay formas mas limpias de hacerlo. Ahora, es de tener en cuenta un inconveniente que tienen las variables de tipo char, tanto en C como en C++ (lenguajes como Java no presentan este problema) y es el hecho de que hacer una asignacin simplemente con el signo "=" no esta permitido, la razn exacta la desconozco, pero digamos que es un capricho del lenguaje, para esto en vez del "=" se usa una funcin llamada "strcpy" que esta disponible en la biblioteca (librera) estandar de C++, y como toda funcin recibe argumentos esta recibe, como podrs suponer las cadenas de caracteres con las que deseamos realizar la operacin de asignacin, esta funcin tiene entonces la siguiente sintaxis: strcpy(cadena1, cadena2) con esto, le estamos diciendo a nuestro programar que la variable de tipo char (ten muy en cuenta que esta funcin solo recibe variables de tipo char) llamada cadena1, tendr ahora los mismos caracteres que la variable llamada cadena2 o tambin se permite lo siguiente strcpy(cadena1, "Hola Mundo"), de este modo, le decimos a nuestro programa que la variable de tipo char llamada cadena1 tendr la cadena "Hola Mundo" contenida en ella, de esta forma solucionamos el problema de los char, es de resaltar que las variables de tipo string (aunque no son variables primitivas del lenguaje) no presentan este problema y tampoco presentan varios problemas mas de los char.

Você também pode gostar