int option=1; int cambiar(){ option=4; } void setup(){ Serial.begin(9600); } void loop(){ cambiar(); Serial.print(option); //muestra 4 delay(10000); }
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); }
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); }
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); }
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); }