variable con mas de un dato
las respuestas que te han dado son más o menos correctas eso depende dónde y cómo se use la variable pues es cierto que normalmente una variable tiene un único valor a la vez. No sé qué conocimientos tienes de informática pero seré breve: una variable
es en fin una dirección de la memoria de la computadora y que en los lenguajes de programación se utilizan con un identificador que es el nombre de la variable como tal. Por tanto en una dirección de memoria habrá un sólo valor cada vez. Los arrays, vectores o arreglos
son direcciones de comienzo en la memoria de una variable y el subíndice es un desplazamiento a partir del comienzo y por tanto cuando usas el nombre del arreglo con un subindice estas usando una dirección por cada elemento del arreglo(la suma del comienzo más desplazamiento) por ese motivo si tienes una cadena de texto(que no es más que un arreglo de caracteres) cadena[10] tienes en la variable cadena 11 valores(de 0 a 10 posiciones, ambas inclusive) de caracteres pero ellos son cadena[0], cadena[1], cadena[2],...cadena[10] si lo ves de otra forma
en realidad son 11 variables. Ocurre algo especial en el caso de las funciones y sus parámetros que son pasados a ella a través de la pila
y creados en cada llamada. Usando recursividad (llamándose la función a ella misma) cada vez que entra o sale de la función las variables locales cambian de valor para el usuario que es transparente ese proceso(pero en realidad en cada llamada son diferentes direcciones dentro de la pila) es el caso de la función factorial vea en wikipedia que viene con todo y código fuente
https://es.wikipedia.org/wiki/Recursión
espero le sirva(aunque probablemente le confunda, lo siento)