Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

doc:tec:elo:uc_arduino:arduino_c:usuario [2025/03/21 12:57] – creado - editor externo 127.0.0.1doc:tec:elo:uc_arduino:arduino_c:usuario [Fecha desconocida] (actual) – editor externo (Fecha desconocida) 127.0.0.1
Línea 1: Línea 1:
 +====== [Arduino] Referencia: Funciones de usuario ======
  
 +===== Variables globales =====
 +
 +<code c>
 +int option=1;
 +
 +int cambiar(){
 +   option=4;
 +}
 +
 +void setup(){
 +   Serial.begin(9600);
 +}
 +
 +void loop(){
 +   cambiar();
 +   Serial.print(option);  //muestra 4
 +   delay(10000);
 +}
 +</code>
 +\\ 
 +===== 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.
 +
 +<code c>
 +int cambiar(var){
 +   var=4;
 +}
 +
 +void setup(){
 +   Serial.begin(9600);
 +}
 +
 +void loop(){
 +   int option=1;
 +   cambiar(option);
 +   Serial.print(option);  //muestra 1
 +   delay(10000);
 +}
 +</code>
 +\\ 
 +===== 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.
 +
 +<code c>
 +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);
 +}
 +</code>
 +\\ 
 +===== Paso de parámetros por puntero =====
 +
 +<code c>
 +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);
 +}
 +</code>
 +\\ 
 +===== Devolución de valores =====
 +
 +<code c>
 +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);
 +}
 +</code>
 +\\