Tipos de variables de C ++

Una variable nos proporciona un almacenamiento con nombre que nuestros programas pueden manipular. Cada variable en C ++ tiene un tipo específico, que determina el tamaño y el diseño de la memoria de la variable; el rango de valores que se pueden almacenar dentro de esa memoria; y el conjunto de operaciones que se pueden aplicar a la variable.

El nombre de una variable puede estar compuesto por letras, dígitos y el carácter de subrayado. Debe comenzar con una letra o un guión bajo. Las letras mayúsculas y minúsculas son distintas porque C ++ distingue entre mayúsculas y minúsculas:

Existen los siguientes tipos básicos de variables en C ++ como se explicó en el último capítulo:

No Señor Tipo y descripción
1

bool

Almacena el valor verdadero o falso.

2

char

Normalmente, un solo octeto (un byte). Este es un tipo entero.

3

int

El tamaño más natural de número entero para la máquina.

4

float

Un valor de coma flotante de precisión simple.

5

double

Un valor de coma flotante de doble precisión.

6

void

Representa la ausencia de tipo.

7

wchar_t

Un tipo de carácter amplio.

C ++ también permite definir varios otros tipos de variables, que cubriremos en capítulos posteriores como Enumeration, Pointer, Array, Reference, Data structures, y Classes.

La siguiente sección cubrirá cómo definir, declarar y usar varios tipos de variables.

Definición de variable en C ++

Una definición de variable le dice al compilador dónde y cuánto almacenamiento crear para la variable. Una definición de variable especifica un tipo de datos y contiene una lista de una o más variables de ese tipo de la siguiente manera:

type variable_list;

Aquí, type debe ser un tipo de datos C ++ válido que incluya char, w_char, int, float, double, bool o cualquier objeto definido por el usuario, etc., y variable_listpuede constar de uno o más nombres de identificadores separados por comas. Aquí se muestran algunas declaraciones válidas:

int    i, j, k;
char   c, ch;
float  f, salary;
double d;

La línea int i, j, k;declara y define las variables i, j y k; que indica al compilador que cree variables denominadas i, j y k de tipo int.

Las variables se pueden inicializar (asignar un valor inicial) en su declaración. El inicializador consta de un signo igual seguido de una expresión constante de la siguiente manera:

type variable_name = value;

Algunos ejemplos son:

extern int d = 3, f = 5;    // declaration of d and f. 
int d = 3, f = 5;           // definition and initializing d and f. 
byte z = 22;                // definition and initializes z. 
char x = 'x';               // the variable x has the value 'x'.

Para la definición sin un inicializador: las variables con duración de almacenamiento estático se inicializan implícitamente con NULL (todos los bytes tienen el valor 0); el valor inicial de todas las demás variables no está definido.

Declaración de variable en C ++

Una declaración de variable proporciona seguridad al compilador de que existe una variable con el tipo y nombre dados, de modo que el compilador proceda a una compilación posterior sin necesidad de detalles completos sobre la variable. Una declaración de variable tiene su significado solo en el momento de la compilación, el compilador necesita una definición de variable real en el momento de vincular el programa.

Una declaración de variable es útil cuando está utilizando varios archivos y define su variable en uno de los archivos que estarán disponibles en el momento de vincular el programa. Usarásexternpalabra clave para declarar una variable en cualquier lugar. Aunque puede declarar una variable varias veces en su programa C ++, pero solo se puede definir una vez en un archivo, una función o un bloque de código.

Ejemplo

Pruebe el siguiente ejemplo donde se ha declarado una variable en la parte superior, pero se ha definido dentro de la función principal:

#include <iostream>
using namespace std;

// Variable declaration:
extern int a, b;
extern int c;
extern float f;
  
int main () {
   // Variable definition:
   int a, b;
   int c;
   float f;
 
   // actual initialization
   a = 10;
   b = 20;
   c = a + b;
 
   cout << c << endl ;

   f = 70.0/3.0;
   cout << f << endl ;
 
   return 0;
}

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

30
23.3333

El mismo concepto se aplica a la declaración de funciones, donde se proporciona un nombre de función en el momento de su declaración y su definición real se puede dar en cualquier otro lugar. Por ejemplo

// function declaration
int func();
int main() {
   // function call
   int i = func();
}

// function definition
int func() {
   return 0;
}

Lvalues ​​y Rvalues

Hay dos tipos de expresiones en C ++:

  • lvalue- Las expresiones que se refieren a una ubicación de memoria se denominan expresión "lvalue". Un lvalue puede aparecer como el lado izquierdo o derecho de una tarea.

  • rvalue- El término rvalue se refiere a un valor de datos que se almacena en alguna dirección de la memoria. Un rvalue es una expresión a la que no se le puede asignar un valor, lo que significa que un rvalue puede aparecer en el lado derecho pero no en el izquierdo de una asignación.

Las variables son valores l y, por lo tanto, pueden aparecer en el lado izquierdo de una tarea. Los literales numéricos son valores r y, por lo tanto, no pueden asignarse y no pueden aparecer en el lado izquierdo. A continuación se muestra una declaración válida:

int g = 20;

Pero lo siguiente no es una declaración válida y generaría un error en tiempo de compilación:

10 = 20;