Пример. Определить функцию, которая возвращает сумму всех элементов массива.
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
что?
ОтветитьУдалить