есть 3 типа передачи аргументов в C(++)
1. По значению. Копия того, что Вы передаете в функцию, укладывается или в регистр процессора, и-или на стек.
(если надо передать char-int-float-long)
2. По указателю. В функцию сами данные не передаются, на стек или в регистры процессора передается адрес данных,
и Вы указываете, какой тип этих данных.
3. По ссылке (физически это тотже указатель, а синтаксис позволяет Вам использовать в функции "не-указательное", а обычное обращение к данным)
"Передача" массива в ф-ию.
Код
char MyArray[] = {1,2,3,4};
void GetArray( char * in_array, int in_array_size )
{
in_array[0] = . . . .
in_array[1] = . . . .
};
GetArray( MyArray, sizeof(MyArray) );
или
GetArray( &MyArray[0], sizeof(MyArray) );
или
GetArray( &(MyArray[0]), sizeof(MyArray) );