[Arduino] Referencia: Funciones de usuario

Variables globales

int option=1; int cambiar(){ option=4; } void setup(){ Serial.begin(9600); } void loop(){ cambiar(); Serial.print(option); //muestra 4 delay(10000); }

Paso de parámetros por valor

Trabaja con una copia del dato almacenado en la variable. Por lo tanto si se modifica en la función no queda cambiado su valor en la variable.

int cambiar(var){ var=4; } void setup(){ Serial.begin(9600); } void loop(){ int option=1; cambiar(option); Serial.print(option); //muestra 1 delay(10000); }

Paso de parámetros por referencia

Trabaja con la dirección de memoria donde se guarda la variable. Por lo tanto si se modifica en la función queda cambiado su valor.

int cambiar(int &var){ var=4; } void setup(){ Serial.begin(9600); } void loop(){ int option=1; cambiar(option); Serial.print(option); //muestra 4 delay(10000); }

Paso de parámetros por puntero

int cambiar(int *var){ *var=4; } void setup(){ Serial.begin(9600); } void loop(){ int option=1; cambiar(&option); Serial.print(option); //muestra 4 delay(10000); }

Devolución de valores

int cambiar(){ int var=4; return var; } void setup(){ Serial.begin(9600); } void loop(){ int option=1; option=cambiar(); Serial.print(option); //muestra 4 delay(10000); }