Указатель (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, даже не сталкиваясь с указателями. Однако для манипулирования определенными структурами данных использование указателей может упростить код, и знание манипулирования указателями удобно иметь в своем инструментарии.