Arrays y Strings

Arrays – Un array es un conjunto de valores a los que se accede con un número índice. Cualquier valor puede ser recogido haciendo uso del nombre de la matriz y el número del índice. El primer valor de la matriz es el que está indicado con el índice 0, es decir el primer valor del conjunto es el de la posición 0. Un array tiene que ser declarado y opcionalmente asignados valores a cada posición antes de ser utilizado.

int miArray[] = {valor0, valor1, valor2}

Del mismo modo es posible declarar un array indicando el tipo de datos y el tamaño y posteriormente, asignar valores a una posición específica:

  • int miArray[5];
  • miArray[3] = 10;

Para leer de un array basta con escribir el nombre y la posición a leer:

  • x = miArray[3];

Utilizando un bucle tipo for, el contador comienza en cero 0 y escribe el valor que figura en la posición de índice 0 en la serie que realizada sigue escribiendo en las siguientes posiciones. Con un bucle for podremos recorrer un array ya sea para leerlo o para escribir en él.

int myPins[5];
int i;
for (i = 0; i < 5; i = i + 1) {
Serial.println(myPins[i]);
}

No se puede crear un array sin definir su tamaño, sino da un error de compilación.

Los arrays sólo pueden contener elementos del mismo tipo de datos. Si quisiéramos guardar tipos de datos diferentes en una misma variable, C nos ofrece la opción definir estructuras: http://www.ib.cnea.gov.ar/~icom/web/estructuras.htm

Ver más información en: http://arduino.cc/en/Reference/Array

Es posible definir arrays de varias dimensiones o matrices, simplemente haciendo un arrary de arrays:

int matriz[5][5];

matriz[2][0] = 3;

Ejercicio: Hacer las otras el ejercicio del coche fantastico con un array de 6 elementos.

string – Es un array de chars.

Cuando se trabaja con grandes cantidades de texto, es conveniente usar un array de strings. Puesto que los strings son en si mismo arrays.

Ver:

String – Se trata de una clase que permite usar y manipular cadenas de texto de una forma más sencilla que los strings. Puedes concatenar, añadir, buscar, etc… usando los métodos/funciones que ofrece esta clase.

Los Strings tienen un uso intensivo de memoria, pero son muy útiles.

Tener en cuenta que al no ser un tipo de dato propiamente dicho sino una clase, tienes unas funciones asociadas (métodos), operadores y unas propiedades. Es una abstracción del dato y para saber usarlo hay que leerse la documentación correspondiente.

Ver documentación de Arduino sobre la clase String:

Además de la clase String, podemos utilizar las funciones estándar de C++ para manipular strings y hacer lo mismo que hacemos con la clase String, pero de una forma más compleja, donde tendremos que manejarnos bien con los punteros.

Conversiones de tipos (Casting)

En ocasiones es necesario forzar el cambio de tipo de dato (casting). Podemos usar las siguientes funciones:

Constantes

Las constantes son generalmente definidas a nivel módulo, escritas con todas las letras en mayúscula y con guiones bajos separando palabras. Por ejemplo, MAX_OVERFLOW y TOTAL.

El modificador const, modifica el comportamiento de una variable haciéndola “read-only”, esto significa que puede usarse como cualquier otra variable pero su valor no puede ser cambiado.

Ver ejemplo en: http://arduino.cc/en/Reference/Const

Constantes predefinidas en Arduino: http://arduino.cc/en/Reference/Constants

Un pensamiento en “Arrays y Strings

  1. Pingback: Curso Arduino Iniciación 2015 | sindofdez

Los comentarios están cerrados.