[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); }