Слайд 2Массив
Массив — это структура данных, представляющая собой набор переменных одинакового типа, имеющих
общее имя.
Массивы удобно использовать для хранения однородной по своей природе информации, например, таблиц и списков.
Слайд 3Пример инициализации массива
Возьмем группу студентов из десяти человек. Создадим массив, в котором
будут храниться фамилии всех студентов.
string students[10] = {
"Иванов", "Петров", "Сидоров",
"Ахмедов", "Ерошкин", "Выхин",
"Андеев", "Вин Дизель", "Картошкин", "Чубайс"
};
Слайд 4Описание синтаксиса
Массив создается почти так же, как и обычная переменная. Для хранения
десяти фамилий нам нужен массив, состоящий из 10 элементов. Количество элементов массива задается при его объявлении и заключается в квадратные скобки.
Массив типа int из 10 элементов описывается с помощью адреса его первого элемента и количества байт, которое может вместить этот массив. Если для хранения одного целого числа выделяется 4 байта, то для массива из десяти целых чисел будет выделено 40 байт.
Слайд 5Вывод первого элемента массива
#include
#include
int main()
{ std::string students[10] = {
"Иванов",
"Петров", "Сидоров", "Ахмедов", "Ерошкин", "Выхин",
"Андеев", "Вин Дизель", "Картошкин", "Чубайс" };
std::cout << students[0] << std::endl;
return 0; }
Слайд 6Вывод элементов массива через цикл
#include
#include
int main()
{ std::string students[10] = {
"Иванов", "Петров", "Сидоров", "Ахмедов", "Ерошкин", "Выхин",
"Андеев", "Вин Дизель", "Картошкин", "Чубайс" };
for (int i = 0; i < 10; i++) { std::cout << students[i] << std::endl; }
return 0; }
Слайд 7Объявление массива без инициализации
string students[10];
// или
string teachers[5];
Элементы такого массива обычно содержат в
себе «мусор» из выделенной, но еще не инициализированной, памяти. Некоторые компиляторы, такие как GCC, заполняют все элементы массива нулями при его создании.
Слайд 8Статический массив
При создании статического массива, для указания его размера может использоваться только
константа. Размер выделяемой памяти определяется на этапе компиляции и не может изменяться в процессе выполнения.
Слайд 9Динамический массив
При создании динамического массива выделяется определенное количество памяти для массива, значение
которого изначально неизвестно.
Например, необходимо создать динамический массив из N элементов, где значение N задается пользователем.
Синтаксис выделения памяти для массива имеет вид указатель = new тип[размер]. В качестве размера массива может выступать любое целое положительное значение.
Слайд 10Создание динамического массива
#include
using namespace std;
int main()
{ int num; // размер массива
cout << "Enter integer value: ";
cin >> num; // получение от пользователя размера массива
int *p_darr = new int[num]; // Выделение памяти для массива
for (int i = 0; i < num; i++) { // Заполнение массива и вывод значений его элементов
p_darr[i] = i;
cout << "Value of " << i << " element is " << p_darr[i] << endl; }
delete [] p_darr; // очистка памяти
return 0; }
Слайд 11Многомерные массивы
Кроме одномерных массивов в C++ есть многомерные. Элементы таких массивов сами
в свою очередь являются массивами, в которых также элементы могут быть массивами. Например, определим двухмерный массив чисел:
int numbers[3][2] = { {1, 2}, {4, 5}, {7, 8} };
Чтобы обратиться к элементам вложенного массива, потребуется два индекса:
numbers[1][0] = 12;
Слайд 12Класс Array
Описывает объект, управляющий последовательностью из элементов N типа T. Последовательность хранится
как массив T в объекте array.
template
class array;