Указатели содержат адрес памяти. Когда вы передаете в функцию массив, C++ передает адрес первого элемента массива.
Увеличивая значение указателя, вы можете адресовать с его помощью следующий элемент массива.
Функции, которые манипулируют строками с помощью указателей, обычно сканируют строку до того момента, пока не найден символ NULL (\0).
При использовании указателей с массивами других типов ваши функции должны знать количество элементов массива или специальный маркер конца массива.
При использовании указателей с массивами других типов C++ автоматически (за кулисами) увеличивает указатель (адрес памяти) на требуемую величину таким образом, чтобы данный указатель указывал на следующий элемент массива.