2.3 Strings

Un string es una cadena (array) de caracteres. Los strings pueden ser declarados de dos maneras diferentes: como variables tipo ‘char’ o como objetos pertenecientes a una clase más compleja llamados ´Strings´ de los que hablaremos al final de este capítulo. De momento nos ceñimos a las cadenas de caracteres definidas como variables ‘char’.

2.3.1 Strings como cadenas o arrays de caracteres:

Cuando una cadena de caracteres es almacenada en una variable tipo char normalmente se les hace terminar por el carácter nulo (ASCII 0). Esto se hace con el fin de permitir a las funciones que manipulan cadenas de caracteres en variables char reconocer el final de la cadena. Por lo tanto, cuando calcules el tamaño de una cadena dentro de un array char no te olvides de añadir una posición para el carácter de ‘fin de cadena´ (ASCII 0).

Un array char puede ser declarado de diversas maneras:

char polichori[10];
char polichori[8]= {‘C’,’h’,’o’,’r’,’i’,’z’,’o’} ;
char polichori[8]= {‘C’,’h’,’o’,’r’,’i’,’z’,’o’,’\0’} ;
char polichori[]= “Chorizo”;
char polichori[8]= “Chorizo”;
char polichori[10]= “Chorizo”;

En la primera línea creamos un array sin incializar. En la segunda lo dimensionamos e inicializamos y el sistema añade automáticamente un carácter nulo (ASCII 0 ó \0) al final del array. En la tercera añadimos el carácter de fin de array explícitamente. En la cuarta línea el array se fracciona en caracteres individuales y se dimensiona automáticamente. En la quinta el array se fracciona automáticamente y en la sexta dejamos espacios libres al final del array para nuevos datos.

 

2.3.2 Strings como objetos de una clase: la variable tipo ‘String’:

Como hemos señalado antes podemos definir una variable de tipo String (con la “S” inicial en mayúscula), en vez del tipo “char” (carácter) que acabamos de ver. La ventaja de este tipo de variable es que (a pesar de ser más pesada para el sistema por su uso de la memoria y mayor complejidad de procesamiento) ofrece muchas más posibilidades al programador.

Al declarar una variable de tipo “String” podemos realizar sobre ella una serie de operaciones complejas de una manera muy sencilla: añadir caracteres a la variable, concatenar Strings, calcular su longitud, buscar y reemplazar substrings y mucho más.

Algunos ejemplos de cómo se declara y utiliza una variable del tipo ´String´:

String stringUno = "Hola String";         //declarando un String “constante”
String stringUno =  String('a');        // convirtiendo una constante tipo char en un String

En el módulo “Funciones Arduino” veremos como opera la función String() y como podemos realizar todas las operaciones con strings que hemos citado anteriormente