Добро пожаловать в блог официального сайта www.cplus-plus.ru

Все представленные материалы в этом блоге находятся по адрусу www.cplus-plus.ru 
Сайт разработан с целью удобного изучения объектно-ориентированного программирования языка C++. Сайт содержит: большое количество cред разработки, видеоуроков, исходников, учебников C++ как для начинающих, так и для продвинутых!

Поиск по этому блогу

Каталог статей

среда, 27 октября 2010 г.

Одномерный массив в C++ как параметр

Чтобы передать массив в функцию, ей надо сообщить адрес начала массива и количество его элементов. Это можно сделать при помощи двух параметров.

Пример. Определить функцию, которая возвращает сумму всех элементов массива.

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


1 комментарий:

Объектно-ориентированное программирование на языке C++