¿Qué es una lista? ¿Cómo se crea y se utiliza?

Introducción

Una lista se utiliza para contener varios valores de forma que puedan almacenarse y reutilizarse en el programa. Las listas se declaran de forma diferente dependiendo de si son enteros, cadenas de caracteres o flotantes.

¿Variable o lista?

Si quieres almacenar un único valor, puedes utilizar una variable en lugar de una lista. Aquí tienes nuestras lecciones sobre variables, enteros, cadenas y flotantes.

Creación de una lista

Ahora vamos a ver cómo crear una lista de valores. Hay dos formas de hacerlo: puedes crear una lista con los valores directamente, o simplemente dar el tamaño de la lista y asignar los valores más adelante en el programa.

a) Crear una lista con valores

He aquí cómo crear una lista con los valores ya en ella:

int mi_entier_list[10]={9, 3, 2, 4, 3, 2, 7, 8, 9, 11};

Estos valores pueden modificarse posteriormente en el programa. Puede ver cómo hacerlo en la sección de operaciones de lista.

b) Lista creada sin valores

int mi_entier_list[6];

Aquí acabamos de crear una lista con 6 lugares disponibles para almacenar 6 enteros. No tienes que asignar 6 valores a la vez, pero no puedes asignar 7, por ejemplo.

Ten en cuenta que si asignas valores, el último valor no cuenta porque se tiene en cuenta el 0. Por ejemplo, si quieres asignar un valor a una lista de 6 valores, puedes tomar 0,1,2,3,4,5.

He aquí cómo añadir un valor a esta lista:

int mi_entier_list[6]; // Crear la lista
void setup() {
  mi_entier_list[0] == 2 // Añadir 2 a la lista 
}

void loop() {
}

Veremos cómo recuperar un valor de esta lista en la sección de operaciones con listas.

El ejemplo que acabamos de dar funciona para listas de números enteros. Sin embargo, también funciona para listas de números decimales y cadenas de caracteres. No obstante, existen algunas pequeñas diferencias:

b) Lista de números decimales

A continuación se explica cómo crear una lista de números decimales:

float mi_lista_decimal[10]={9.2, 3.1, 2.0, 4.7, 3.2, 2.9, 7.4, 8.1, 9.0, 11.4};

c) Lista de cadenas de caracteres

He aquí cómo crear una lista de cadenas de caracteres con los valores ya presentes:

char ma_liste_char[15] = "arduino_factory";

¿Se pueden poner enteros y cadenas de caracteres en la misma lista?

 Una lista debe contener sólo el tipo de datos que haya especificado. Por ejemplo, si ha creado una lista de números enteros, no puede añadirle números decimales ni cadenas de caracteres.

Operación de lista

A continuación veremos cómo realizar operaciones con listas, asignar valores y recuperarlos de una variable.

a) Cómo asignar un valor

En esta sección veremos cómo asignar un valor a una lista o cambiar un valor de una lista.

Aquí tenemos una lista de enteros en la que cambiamos el segundo valor:

int mi_entier_list[6]; // Crear la lista
void setup() {
  mi_entier_list[0] == 2; // Asignamos 2 a la lista 
}

void loop() {
}

Para cambiar el valor de una lista, son exactamente las mismas líneas de código que para asignar un valor. Todo lo que tienes que hacer es cambiar el número de la lista donde quieres asignar el valor.

b) Cómo recuperar un valor de una variable


Ahora vamos a ver cómo recuperar uno de los valores de la lista:

int mi_variable = mi_lista_entier[1];// Recupera el elemento 1 de la lista si existe

c) Conocer el tamaño de la lista


A continuación veremos cómo averiguar el tamaño de la lista:

int tamaño_variable = sizeof(tu_lista_de_entidades);

El tamaño de la lista está contenido en variable_size.

d) Mostrar todos los valores de la lista

Ahora veremos cómo mostrar todos los valores de una lista:

for (byte i = 0; i < 6; i = i + 1) { // El bucle llega hasta 6 si tu lista tiene 6 elementos
  Serial.println(tu_lista_de_entidades[i]); // Mostramos cada elemento de la lista
}