Framework (A-Z)

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

& (reference 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 útiles cuando se quieren modificar
// o retornar múltiples parámetros en una funció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á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 referencia o operador de dirección-de, denotado por "&", es un operador unario. Este opera en una variable y retorna la dirección de memoria de la variable. Esto es llamado "referenciar" la variable. Del ejemplo dado la expresión int *pointer_to_x = &x;" referencia la variable x, obtiene la dirección en memoria de la variable x y se la asigna a pointer_to_x.
Sintaxis
&variable
Parámetros
variable cualquer variable de tipo de dato básico o compuesto: int, double, char, etc.
Uso Application
Relacionados dereference
array
Updated on July 07, 2011 11:13:31pm PDT

Creative Commons License