Una variable es en realidad un dato, éste dato puede ser por ejemplo una cadena de texto, un número entero,un número decimal o tipo de dato booleano (verdadero o falso) pero de alguna manera tenemos que hacer referencia a este dato que tenemos, para ello usamos un nombre.
Por ejemplo imaginemos que tenemos un dato referente a una edad, la edad va a ser 27 ¿cómo almacenamos ese dato? pues para ello declaramos una variable denominada miEdad, el tipo de dato es entero y el valor va a ser 27.
Sin entrar en un lenguaje de programación concreto sería algo tal que así:
Entero miEdad;
miEdad=27;
En la primera línea hemos declarado el tipo de dato que va a almacenar la variable miEdad que va a ser un dato de tipo entero.
En la segunda línea por el contrario hemos dado el valor a la variable, como es el primer valor que se asigna, normalmente se dice que lo hemos inicializado a 27.
Te preguntarás que pasará si intentamos acceder al valor que tenga miEdad antes de ser inicializado, depende el lenguaje puede dar un error o devolver null.
Hay lenguajes de programación que permiten hacer ambas cosas en una línea de la siguiente manera:
Entero miEdad = 27;