Está en la página 1de 2

Char

Descripcin

Las cadenas de texto pueden ser representadas de dos maneras. se puede utilizar el tipo de
datos de cadena, que forma parte del ncleo partir de la versin 0019, o se puede hacer una
cadena de una matriz de tipo char y nulo por terminado. Esta pgina describe el ltimo
mtodo. Para ms detalles sobre el objeto String, lo que le da ms funcionalidad a costa de
ms memoria, consulte el objeto String (//www.arduino.cc/en/Reference/StringObject)
pgina.

Ejemplos

Todos los siguientes son declaraciones son vlidas para las cuerdas.

Char Str1 [15];


Char Str2 [8] = { 'a', 'r', 'd', 'u', 'i', 'n', 'o'};
Char Str3 [8] = { 'a', 'r', 'd', 'u', 'i', 'n', 'o', '\ 0'};
Char Str4 [] = "Arduino";
Char str5 [8] = "Arduino";
Char STR6 [15] = "Arduino";

Posibilidades para la declaracin de cuerdas

Declarar una matriz de caracteres sin inicializarla como en Str1


Declarar una matriz de caracteres y el compilador aadir el carcter nulo es
necesario, como en Str2
Agregar explcitamente el carcter nulo, Str3
Inicializar con una constante de cadena entre comillas; el tamao compilador la matriz
constante para adaptarse a la cadena y un carcter nulo de terminacin, Str4
Inicializar la matriz con un tamao explcito y constante de cadena, str5
Inicializar la matriz, dejando espacio adicional para una cadena grande, STR6

En general, las cadenas se terminan con un carcter nulo (cdigo ASCII 0). Esto permite
que las funciones (como Serial.print ()) para saber dnde el final de una cadena es. De lo
contrario, habran de seguir leyendo los siguientes bytes de memoria que no son en realidad
parte de la cadena.

Esto significa que la cadena tiene que tener espacio para uno ms carcter que el texto que
desea que contiene. Por eso Str2 y str5 deben tener ocho caracteres, a pesar de que
"Arduino" es slo siete - la ltima posicin se rellena automticamente con un carcter nulo.

Str4 tendr el tamao automticamente a ocho caracteres, uno para la hiptesis nula
adicional. En Str3, hemos incluido explcitamente el carcter nulo (escrito '\ 0') a nosotros
mismos.
Tenga en cuenta que es posible tener una cadena sin un carcter nulo final (por ejemplo, si
ha especificado la longitud de Str2 como siete en lugar de ocho). Esto romper la mayora
de las funciones que utilizan cadenas, por lo que no debera hacerlo intencionalmente.

Si usted nota algo comporta de forma extraa (que opera en caracteres no en la cadena),
sin embargo, esto podra ser el problema.

Las cadenas siempre se definen entre comillas dobles ( "abc") y los personajes se definen
siempre entre comillas simples ( 'A').

Envolviendo cadenas largas

Usted puede envolver cadenas largas como esta:

Char miCadena [] = "Esta es la primera lnea"


"Esta es la segunda lnea"
"Etctera";

Matrices de cadenas

A menudo es conveniente, cuando se trabaja con grandes cantidades de texto, como un


proyecto con una pantalla LCD, para configurar una matriz de cadenas. Debido a que las
cadenas en s son arrays, esto es en realidad un ejemplo de una matriz de dos dimensiones.

En el cdigo siguiente, el asterisco despus de que el tipo de datos char "char *" indica que
se trata de una serie de "punteros". Todos los nombres de matrices son en realidad punteros,
as que esto es necesario para hacer una matriz de matrices. Los punteros son una de las
partes ms esotricos de C para los principiantes a entender, pero no es necesario entender
punteros en detalle para utilizarlos de manera efectiva aqu.

Ejemplo

char * myStrings [] = { "Este es el string 1", "2 Este es el string", "Esta es una cadena de 3",
"Esta es una cadena de 4", "Este es el string 5", "Esta es una cadena de 6"};
void setup () {
Serial.begin (9600);
}
void loop () {
for (int i = 0; i <6; i ++) {
Serial.println (myStrings [i]);
retardo (500);
}
}

También podría gustarte