ПЕРЕДАЧА МАССИВОВ В ФУНКЦИИ
Ващи программы будут передавать массивы в функции точно так же, как и любые другие переменные. Функция может инициализировать массив, прибавить к массиву значения или вывести элементы массива на экран. Когда вы передаете массив в функцию, вы должны указать тип массива. Нет необходимости указывать размер массива. Вместо этого вы передаете параметр например number_of_elements, который содержит количество элементов в массиве:
void some_function(int array[], int number_of_elements);
Следующая программа ARRAYFUN.CPP передает массивы в функцию show_array, которая использует цикл for для вывода значений массивов:
#include iostream.h
void show_array (int array [] , int number_of_elements)
{
int i;
for (i = 0; i number_of_elements; i++) cout array[i] ' ';
cout endl;
}
void main(void)
{
int little_numbers[5] ={1,2,3,4,5};
int big_numbers[3] = { 1000, 2000, 3000 };
show_array(little_numbers, 5);
show_array(big_numbers, 3);
}
Как видите, программа просто передает массив в функцию по имени, а также указывает параметр, который сообщает функции количество элементов, содержащихся в массиве:
show_array(little_numbers, 5);
Следующая программа GETARRAY.CPP использует функцию get_values, чтобы присвоить три значения массиву numbers:
#include iostream.h
void get_values(int array[], int number_of_elements)
{
int i;
for (i = 0; i number_of_elements; i++)
{
cout “ "Введите значение " i ": ";
cin ” array [i];
}
}
void main(void)
{
int numbers[3];
get_values(numbers, 3);
cout "Значения массива" endl;
for (int i = 0; i 3; i++)
cout numbers [i] endl;
}
Как видите, программа передает массив в функцию по имени. Функция в свою очередь присваивает массиву элементы. Из урока 10 вы узнали, что, пока ваша программа не передаст параметры в функцию с помощью адреса, функция не может изменить эти параметры. Однако, как можно заметить в данном случае, функция get_values изменяет параметр-массив numbers. Как вы узнаете из урока 20, C++ действительно передает массивы в функцию, используя указатели. Таким образом, функция может изменить элементы массива, если ей это нужно.