Чтобы передать массив в функцию, ей надо сообщить адрес начала массива и количество его элементов. Это можно сделать при помощи двух параметров.
Пример. Определить функцию, которая возвращает сумму всех элементов массива.
float sum (float а[], int n)
{
float s = 0;
for (int i = 0; i < n; i++)
s += a[i] ;
return s;
}
Задать указатель на начальный элемент можно по-разному. Следующие два заголовка равносильны заголовку функции из предыдущего примера:
float sum(float *a, int n);
float sum(float a[1000], int n);
Замечание. Поскольку C++ не предусматривает проверку выхода за границу массива во время выполнения программы, компилятор просто игнорирует константу в квадратных скобках в параметре-массиве.
Рассмотренный способ передавать массив в функцию не единственный. Можно, например, сделать это при помощи двух указателей — на первый и на последний элемент массива.
float sum (float *begin, float *end);
Впрочем, для программиста удобнее, если второй параметр указывает не на последний элемент массива, а на «элемент», следующий за последним.
float sum (float *begin, float *end)
{
float s = 0;
while (begin != end)
s += *(begin++);
return s;
}
...
float m[100] = {1,2};
cout « sum(m, m + 100) « endl;
Источник: http://www.cplus-plus.ru
Добро пожаловать в блог официального сайта www.cplus-plus.ru
Все представленные материалы в этом блоге находятся по адрусу www.cplus-plus.ru
Сайт разработан с целью удобного изучения объектно-ориентированного программирования языка C++. Сайт содержит: большое количество cред разработки, видеоуроков, исходников, учебников C++ как для начинающих, так и для продвинутых!
Сайт разработан с целью удобного изучения объектно-ориентированного программирования языка C++. Сайт содержит: большое количество cред разработки, видеоуроков, исходников, учебников C++ как для начинающих, так и для продвинутых!
Поиск по этому блогу
Каталог статей
Подписаться на:
Комментарии к сообщению (Atom)
что?
ОтветитьУдалить