Указатель (pointer) - это переменная, в которой хранится адрес другого объекта (другой переменной).
Переменная, хранящая адрес ячейки памяти, должна быть объявлена как указатель.
Для того, чтобы записать в указатель адрес переменной используется унарный оператор получения адреса &.
int *p; // declare a pointer to an int data type int i = 5; int result = 0; p = &i; // now 'p' contains the address of 'i' result = *p; // 'result' gets the value at the address pointed by 'p' // i.e., it gets the value of 'i' which is 5
Указатели являются одним из сложных предметов для начинающих в изучении C, и можно написать подавляющее большинство скетчей Arduino, даже не сталкиваясь с указателями. Однако для манипулирования определенными структурами данных использование указателей может упростить код, а знание манипулирования указателями удобно иметь в своем инструментарии.