Escolar Documentos
Profissional Documentos
Cultura Documentos
De acuerdo con lo anterior, una variable es un dato de algún tipo, que puede ser
manipulado y que además debe estar almacenado en memoria para que pueda ser
accedido y posteriormente procesado.
Ejemplo:
dato_numerico = 55
Declaración de variables en C++
<tipo> <identificador>;
Una buena práctica es inicializar el valor de la variable con un valor por defecto, por lo
general se inicializa con el valor cero.
int my_var = 0;
Notas adicionales:
<tipo> <identificador>;
Ejemplos:
bool my_boolean_var = true;
char my_character_var = 'a';
int my_integer_var = 100;
float my_floating_var = 5.6;
double my_double_var = 3.1415926535
Tipos de datos en C++
Las variables en C++ pueden ser globales o locales. Es decir, tanto variables que
pueden ser accedidas desde cualquier parte del programa (cualquier función) ya que
no se declaran dentro de ninguna función (globales), como variables que solo tienen
validez al interior de las funciones donde son declaradas (locales).
Ámbito (visibilidad) de las variables en C++
Las variables globales son visibles desde cualquier función o parte del programa dentro del
mismo archivo fuente .cpp (visibilidad a nivel de módulo). Las variables locales son visibles al
interior de la función donde están declaradas, no son visibles desde fuera de dicha función.
Ejemplo:
int main()
{
int my_local_var = 5;
int my_result = 0;
void other_function()
{
int other_local_variable = 3;
int other_result = 0;
Los tipos de dato básicos de C++ pueden ser modificados con el fin de especificar de una
manera más acertada y detallada el tipo de dato que se alojara en una variable determinada.
Con los modificadores se puede acotar la cantidad necesaria de memoria para el dato que se va
almacenar, y también se puede indicar si el dato es sensible al signo o no.
Modificadores de C++:
• signed – indica que una variable es sensible al signo del valor numérico.
• unsigned – indica que la variable no es sensible al signo, luego sus valores son positivos.
• short – solo se utiliza en variables tipo int para acotar el tipo int a solo 2 bytes.
• long – se utiliza en variables tipo int y double para que al momento de compilación se
garantice por completo el tamaño del tipo de dato en especifico, 32 bits para int y 64 bits
para double.
Ejemplos:
Los calificadores se usan en C++ para dar información más detallada del tipo de dato que se
almacena en la variable.
Calificadores de C++:
• const – indica que la variable alojara un valor constante que no puede ser modificado luego.
• volatile – indica al compilador que la variable puede cambiar de valor repentinamente por
fuera del flujo de programa (interrupciones de hardware).
• mutable – se utiliza en clases para indicar que un miembro de la clase puede ser
modificado por un método de la clase de tipo const.
Ejemplos:
• auto – se utiliza solo con variables locales para definir automáticamente el tipo de dato.
• register – indica que una variable local se debe almacenar en un registro de la CPU y no
en RAM. Esto se hace en casos en los que se necesita optimizar el acceso a un dato
determinado.
• static – En el caso de variables locales se usa para que la variable no sea almacenada en
el stack y que pueda ser visible durante toda la duración de la aplicación. En el caso de
variables globales, se usa para que la variable solo sea visible en el modulo donde se declara.
• extern – se utiliza solo con variables globales para aumentar su visibilidad, es decir para
que se puedan utilizar en módulos distintos a en el que fue declarada. En el modulo donde se
declara, la variable se define tal cual como se ha visto pero sin inicializar. En el modulo que se
desea que la “visualice” se debe declarar usando el especificador.
Detalles adicionales….
Ejemplos:
Para la declaración de constantes globales es una práctica común entre programadores usar la
directiva del preprocesador #define.
Ejemplos:
Enumeraciones.
Ejemplos:
int main()
{
enum day d = thursday;
std::cout<<"The day number stored in d is “<<d;
return 0;
}
Detalles adicionales….
Estructuras: Son tipos de dato definidos por el programador que permiten agrupar variables de
distintos tipos en un solo tipo.
Ejemplos:
struct estructura
{
char char_var;
unsigned int int_var;
float float_var;
double double_var;
enum State {Active, On_hold, Inactive};
};
El ejemplo anterior solo corresponde a la definición de la estructura, para declarar una variable
del tipo de dato de esa estructura se debe declarar así:
Conversión explícita “Type casting”: Permite convertir (enmascarar) el tipo de dato almacenado
en una variable para que se pueda ejecutar una operación o procesamiento en la que se requiera
que la variable se presente con un tipo de dato distinto al que fue declarada.
Ejemplos:
double x = 10.3;
int y;
Promoción del tipo de dato: Cuando hay datos de distintos tipos involucrados en una misma
operación, el compilar opta por hacer conversiones para homogeneizar los datos y facilitar el
computo de la operación. En general, existen dos tipos de promociones que son: la promoción a
tipo entero y la promoción a punto flotante. En la promoción de tipo entero se promocionan los
tipos de dato char y short al tipo de dato int. En la promoción de punto flotante se promocionan
los datos de tipo float a tipo double. Como regla general, si un operando de tipo long int o double
está involucrado en una operación entonces el resto de operadores serán promocionados a long
int o double. Nota: Si Coca-Cola mata tinto…..punto flotante mata entero.
En síntesis:
https://www.geeksforgeeks.org/structures-c/
https://en.cppreference.com/w/cpp/language/typedef
https://www.w3schools.in/cplusplus-tutorial/qualifiers-storage-classes/
https://www.tutorialspoint.com/cplusplus/cpp_data_types.htm
https://www.tutorialspoint.com/cplusplus/cpp_variable_types.htm
https://www.tutorialspoint.com/cplusplus/cpp_variable_scope.htm
https://www.tutorialspoint.com/cplusplus/cpp_modifier_types.htm
https://www.tutorialspoint.com/cplusplus/cpp_storage_classes.htm
http://c.conclase.net/curso/?cap=006#inicio
http://www.ntu.edu.sg/home/ehchua/programming/cpp/cp0_introduction.html
http://c.conclase.net/curso/?cap=042
https://www.cprogramming.com/tutorial/lesson11.html?sb=tutmap