Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Руководство_по_C++_CLI.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
8.1 Mб
Скачать

25.Введение в массивы

25.1 Описание

25.1.1 Определение

Коллекция представляет собой ряд элементов, которые имеют одинаковые типы, то есть они могут быть описаны с использованием тех же критериев. Например, имея группу домов, каждый из которых может быть описан с использованием тех же параметров, что и другие дома: тип дома, количество спален, год постройки дома и т.д. Коллекция должна иметь, по крайней мере, один элемент. Каждый элемент коллекции должен быть четко определен, т.е. его характеристики должны быть определены. В любой конкретный момент времени при доступе к коллекции она должна иметь размер. Размер коллекции – количество элементов, содержащихся в ней. По этому признаку существует два типа коллекций: те, которые имеют фиксированный размер, и те, размер которых может увеличиваться или уменьшаться.

Массив представляет собой совокупность элементов, которые имеет фиксированный размер. Это означает, что, когда создается массив, его размер должен быть определен, и он не может измениться. Когда вы создаете массив, вы должны определить тип элементов массива и их количество в массиве. На основании типа значения элемента массива компилятор готовится резервировать область памяти для каждого из них. Зная число элементов массива, компилятор сможет вычислить общий объем памяти для размещения массива.

25.1.2Создание массива

Программируя на C++/CLI, мы можем использовать два типа массивов: «обычные» (regular) массивы и управляемые (managed) массивы. Рассмотрим здесь первый вид массивов, а второй – далее.

Исходя из того, что мы уже упоминали до сих пор о коллекциях и массивах, формат создания массива можно представить так:

Имя_типа Имя_массива [число_элементов];

Имя типа может собой представлять любой тип: целочисленный, вещественный, логический тип, символьный и т.д. Пример определения массива:

Int main()

{

Int Numbers[5];

return 0;

}

После этого определения компилятор резервирует пять участков памяти в стеке. Каждый участок должен быть в состоянии вместить целое число. Элементы массива располагаются в памяти последовательно и каждый из них может быть идентифицирован по его индексу. Первый элемент имеет индекс 0. Второй элемент имеет индекс 1, и так далее. Последний элемент массива имеет индекс Size-1:

Начало формы

Конец формы

Element0

Element1

Element2

Element3

Element4

 

25.1.3Initializing an Array

Initializing an array consists of assigning a value to each of its elements. To locate an element of an array, you type the name of the array variable followed by an opening square bracket "[" and a closing square bracket "]":

Element[0]

Element[1]

Element[2]

Element[3]

Element[4]

Once you have identified an element, you can assign it the desired value. Here are examples:

int main()

{

int Numbers[5];

Numbers[0] = 192;

Numbers[1] = 36;

Numbers[2] = 48007;

Numbers[3] = -53;

Numbers[4] = 6;

return 0;

}

In the same way, to retrieve the value of an element, access it by its index:

using namespace System;

int main()

{

int Numbers[5];

Numbers[0] = 192;

Numbers[1] = 36;

Numbers[2] = 48007;

Numbers[3] = -53;

Numbers[4] = 6;

Console::WriteLine(L"Number[0]: {0}", Numbers[0]);

Console::WriteLine(L"Number[1]: {0}", Numbers[1]);

Console::WriteLine(L"Number[2]: {0}", Numbers[2]);

Console::WriteLine(L"Number[3]: {0}", Numbers[3]);

Console::WriteLine(L"Number[4]: {0}\n", Numbers[4]);

return 0;

}

This would produce:

Number[0]: 192

Number[1]: 36

Number[2]: 48007

Number[3]: -53

Number[4]: 6

Press any key to continue . . .

When initializing an array, instead of accessing each element and assigning it a value, after declaring the array but before the semi-colon, you can assign the list the values of the elements inside of curly brackets. The values must be separated by commas. Here is an example:

using namespace System;