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.

Declaración de un array:

 
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];

Las matrices se utilizan a menudo con estamentos de tipo bucle, en los que la variable de incremento del contador del bucle se utiliza como índice o puntero del array. 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];
for (int i = 0; i < 5; i = i + 1) {
  Serial.println(myPins[i]);
}

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

La creación y manejo de arrays con Visualino aun no esté suficientemente desarrollada para poder usarse, recomiendo el uso de código.

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://c.conclase.net/curso/?cap=011

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

Es posible definir arrays de varias dimensiones o también llamados matrices, simplemente haciendo un array de arrays

Definición:

 
int matriz[5][5];
matriz[2][0] = 3;

string (char array)

Un string es una cadena de caracteres, o lo que es lo mismo un string es un array de chars. Cuando se trabaja con grandes cantidades de texto, es conveniente usar un array de strings.

Una características de los strings es el carácter de terminación del string que nos indica dónde acaba la cadena de caracteres. Podemos tener un string de tamaño 50 para almacenar una cadena de caracteres, pero unas veces puede tener una sola palabra o una frase completa. Esto permite a funciones como Serial.print() saber hasta dónde debe leer del string para mostrarlo por pantalla.

El carácter de terminación o null termination se representa como ‘\0’ y corresponde al código 0 de ASCII.

Esto significa que un string para almacenar la palabra “hola” debe tener un tamaño de 5 y no de 4 para poder guardar el null termination.

Los strings siempre se definen entre dobles comillas “hola”, mientras que los caracteres siempre se definen con comillas simples ‘h’.

Ver:

String (Objeto)

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.

Para los nuevos en programación o en Arduino es recomendable usar el Objeto String en lugar de los strings como array de caracteres por su facilidad de uso.

Los Strings tienen un uso intensivo de memoria, pero son muy útiles y se van a utilizar mucho en el apartado de comunicación, por ese motivo es importante aprender a manejar los Strings.

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

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.

Operadores String (Objeto)

También existen operadores para los Strings (objeto), similares a las operaciones vistas anteriormente:

Visualino implementa el objeto String y sus operadores en los apartados “variables” y “text”

Anuncios

2 pensamientos en “Arrays y Strings

  1. Pingback: Saber Más Iniciación Arduino 2017 | Aprendiendo Arduino

  2. Pingback: Saber Más Arduino Empresas | Aprendiendo Arduino

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s