Search wiring.org.co:

Referencia para la versión de Wiring 1.0 Build 0100+. Si tiene una versión previa, use la referencia incluida con su software. Si encuentra errores o tiene comentarios, no dude en contactarnos.

Nombre |

### * (dereference operator)

Ejemplos |
    int x = 0;
    int *pointer_to_x = &x;

    void setup() {
      Serial.begin(9600);
    }

    void loop() {
     // incrementa en uno el valor de los datos a los que pointer_to_x apunta.
     (*pointer_to_x) += 1;
     // x ahora es igual a x + 1
     Serial.print("x value is: ");
     Serial.println(x);
     Serial.print("x address is: ");
     Serial.println((int)pointer_to_x);
     delay(100);
    }

    // los apuntadores son &uacute;tiles cuando se quieren modificar
    // o retornar m&uacute;ltiples par&aacute;metros en una funci&oacute;n
    int temperature = 0;
    int humidity = 0;

    void setup() {
      Serial.begin(9600);
    }

    void loop() {
     // envia como parametros una referencia a las variables
     // para actualizar sus calores
     updateVariables(&temperature, &humidity);
     Serial.print("temperature value is: ");
     Serial.println(temperature);
     Serial.print("humidity value is: ");
     Serial.println(humidity);
     delay(100);
    }

    // recibe apuntadores a variables como par&aacute;metros
    // y actualiza los valores a los que apuntan
    void updateVariables(int *temp, int *humid) {
      (*temp) += 1;
      (*humid) += 10;
    }

Descripción | PARA USUARIOS AVANZADOS: Aunque los apuntadores no son usados/rqueridos en lenguaje WIring, estos existen y pueden ser usados puesto que Wiring es una extensión de C/C++. La siguiente documentación trata de explicar los de una manera sencilla. Un apuntador es un tipo de datos que se refiere directamente a (o apunta a) otro valor guardado en memoria usando su dirección de almacenamiento. Un apuntador referencia una localización en memoria, y obtener el valor guardado en la localización del apuntador es lo que conoce como dereferenciación del apuntador. Los apuntadores a datos mejoran significativamente el desempeño para operaciones repetitivas como recorrer una cadena de caracteres, buscar en una tabla, tablas de control o estructuras en forma de árbol. En particular, es mucho más "barato" en tiempo y espacio copiar y dereferenciar apuntadores que copiar y accesar los datos a los que el apuntador apunta. El operador de dereferenciación o operador de indirección, denotado por "*", es un operador unario. Este opera en una variable de tipo apuntador, y retorna un l-value (or localización) equivalente al valor en la dirección del apuntador. Esto se conoce como "dereferenciar" el apuntado. Del ejemplo dado la expresión (*pointer_to_x) += 1; dereferencia el apuntador pointer_to_x, e incrementa en uno el valor del dato al que estáa apuntando. En las variables es importante distinguir entre el R-value (o contenido) y el L-value (o localización).
Sintaxis |
    datatype *pointervariable
    *pointervariable
Parámetros |

pointervariable | variable apuntador a cualquier tipo de dato básico o compuesto
datatype | cualquier tipo de dato básico o compuesto: int, double, char, etc

Uso | Application
Relacionados | reference array

Updated on July 07, 2011 11:12:48pm PDT