

Типы данных в языке C++__________________________________711

void F(const int Ar [ ] , int N) ;

Пусть, например, вы хотите написать функцию, подсчитывающую сумму эле-
ментов массива целых. Тогда вы можете оформить ее следующим образом:

int Sumfconst int А[], int N)
{

// N — размер массива

int S = А[0];

for(int i = 1; i < N; i++) S += A[i];

return S;

)

Ниже приведен пример тестирования этой функции.

ftdefine Bmax 10
int B[10] = (1,2,3,4,5,6,7,8,9,10};

ShowMessage("Сумма равна " + IntToStr(Sum(B,Вшах)));

При вызове функции не обязательно передавать весь массив. Можно передать
только какую-то его часть. Например, вы можете передать в функцию параметр
размера массива меньший истинного. Если вы в приведенном примере в качестве
второго параметра передадите в функцию не Bmax, a Bmax — 2, то функция будет
обрабатывать только восемь первых элементов с индексами от 0 до 7. Можно и в
качестве начала массива передать в функцию указатель на какой-то элемент мас-
сива. Например, если вы обратитесь к функции так:

Sum(В + 2, Bmax - 2)

то вы передадите в нее указатель не на первый, а на третий элемент. Поэтому,
когда функция будет обращаться к элементам массива от 0 до 7, в действительно-
сти она будет работать с элементами, индексы которых от 2 до 9. Т.е. сумма будет
посчитана по элементам, начиная с третьего.

Если в функцию передается многомерный массив, то в заголовке только квад-
ратные скобки первой размерности остаются пустыми, а в скобках следующих раз-
мерностей должны указываться константами их размеры. Например, если функ-
ция F2 должна принимать двумерный массив размером 3 на 3, то ее заголовок мо-
жет иметь вид:

void F(const int Ar[][3]);

Вызов этой функции производится обычной передачей в нее имени массива.
Например, F(A).

12.11 Структуры

12.11.1 Структуры в стиле С

Структуры — это составные типы данных, построенные с использованием дру-
гих типов. Они представляет собой объединенный общим именем набор данных
различных типов. Именно тем, что в них могут хранится данные разных типов,
они и отличаются от массивов, хранящих данные одного типа.

Отдельные данные структуры называются элементами или полями. Все это на-
поминает запись в базе данных, только хранящуюся в оперативной памяти компь-
ютера.

Простейший вариант объявления структуры может выглядеть следующим об-
разом:

struct TPers (

AnsiString Fam,Nam,Par;

unsigned   Year;