ampersan

De ArduWiki
Saltar a: navegación, buscar

Descripción

El operador de ampersand (&) se usa para obtener la dirección de memoria (puntero) de una variable individual.

El tipo de puntero obtenido es igual al tipo de dato del operando; en caso de que el valor apuntado requiera "reinterpretación" (que no es lo mismo que la conversión explícita o casting), el tipo de puntero debe ser convertido explícitamente. Este truco es útil para directamente leer o modificar cualquier variable como una simple matriz de bytes.

Nota: Es incluso válido obtener el puntero de otro puntero, y el de un elemento de una matriz.


Sintexis

variable1 = &variable2;

Parámetros

variable1
variable2

Advertencias

Los punteros son uno de los temas más complicados para los principiantes en el aprendizaje de C, y es posible escribir la gran mayoría de los bocetos de Arduino sin encontrar punteros. Sin embargo, para manipular ciertas estructuras de datos, el uso de punteros puede simplificar el código, y el conocimiento de la manipulación de punteros es útil para tener en el kit de herramientas.

Ejemplo

byte *p, i=5, resultado;
p=&i;               //5
resultado = *p;     //resultado toma el valor de la posicion de memoria p

Vea también

Referencia