Difficulties to understand pointer-notations *myVar / myVar* (byte*&) myVar

There are several ways to pass an array to a function.

Old-School C Using a Pointer and Array Size:

const size_t arraySize = 10;
uint8_t myArray[arraySize];
void functionThatTakesAnArray(uint8_t *array, size_t theSize);

void setup() {
  functionThatTakesAnArray(myArray, arraySize);
}

void loop() {
}

void functionThatTakesAnArray(uint8_t *array, size_t theSize) {
  for (size_t i = 0; i < theSize; i++) {
    // do stuff with element array[i]
  }
}

Or, you could go a little more C++:

const size_t arraySize = 10;
using newArrayType = uint8_t[arraySize];
void functionThatTakesAnArray(newArrayType &array);

newArrayType myArray;

void setup() {
  functionThatTakesAnArray(myArray);
}

void loop() {
}

void functionThatTakesAnArray(newArrayType &array) {
  for (uint8_t j : array) {
    // do stuff with j
  }
}

The next step might be to use a template. But, that's probably unnecessary here.