Hola, tengo un par de problemas. Por mucho que le doy vueltas no lo entiendo, a ver si me podéis explicar...
El código:
void setup()
{
Serial.begin(9600);
}
void hacerFrase(char frase[])
{
Serial.println(sizeof(frase));
for(int i = 0; i <= sizeof(frase); i++)
{
Serial.println(frase[i]);
delay(500);
}
}
void loop()
{
char frase[] = "hipeople";
hacerFrase(frase);
Serial.println(sizeof(frase));
}
Vale, en este código hay dos cosas que se me escapan. La primera tiene que ver con la función. Le envío una matriz de 8 posiciones. Por que al escribir por consola, hace como que la matriz es de 3 posiciones? si después al salir de la función revisa la matriz y da 9??
Y la segunda es porque la función sizeof() siempre me devuelve el valor igual del tamaño del array + 1? osea, que sentido tiene esto? lo pregunto porque lo mismo me esta devolviendo el significado de otra cosa y no me doy cuenta... :S
este es el resultado en consola que me da, por si os da pereza comprobarlo, es:
2
h
i
p
9
y así en un bucle infinito, como es obvio.