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 ú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 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 |
|
||||
Uso | Application | ||||
Relacionados | reference array |