C ++ предоставляет структуру данных, массив , в котором хранится последовательная коллекция фиксированного размера элементов одного типа. Массив используется для хранения коллекции данных, но часто более полезно думать о массиве как о коллекции переменных одного типа.
Вместо того, чтобы объявлять отдельные переменные, такие как number0, number1, … и number99, вы объявляете одну переменную массива, такую как числа, и используете числа [0], числа [1] и …, числа [99] для представления отдельные переменные. Определенный элемент в массиве доступен по индексу.
Все массивы состоят из смежных областей памяти. Самый низкий адрес соответствует первому элементу, а самый высокий адрес — последнему.
Объявление массивов
Чтобы объявить массив в C ++, программист указывает тип элементов и количество элементов, требуемых массивом, следующим образом:
type arrayName [ arraySize ];
Это называется одномерным массивом. ArraySize должен быть целочисленной константой, большей нуля, и тип может быть любым допустимым типом данных C ++. Например, чтобы объявить массив из 10 элементов с именем balance типа double, используйте этот оператор —
double balance[10];
Инициализация массивов
Вы можете инициализировать элементы массива C ++ либо один за другим, либо используя один оператор следующим образом:
double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};
Число значений в фигурных скобках {} не может быть больше, чем количество элементов, которые мы объявляем для массива в квадратных скобках []. Ниже приведен пример назначения одного элемента массива:
Если вы опустите размер массива, будет создан массив, достаточно большой, чтобы вместить инициализацию. Поэтому, если вы напишите —
double balance[] = {1000.0, 2.0, 3.4, 17.0, 50.0};
Вы создадите точно такой же массив, как и в предыдущем примере.
balance[4] = 50.0;
Приведенный выше оператор присваивает элементу номер 5 в массиве значение 50,0. Массив с 4- м индексом будет 5- м , т. Е. Последним элементом, поскольку все массивы имеют 0 в качестве индекса их первого элемента, который также называется базовым индексом. Ниже приведено графическое представление того же массива, который мы обсуждали выше:
Доступ к элементам массива
Доступ к элементу осуществляется путем индексации имени массива. Это делается путем помещения индекса элемента в квадратные скобки после имени массива. Например —
double salary = balance[9];
Приведенный выше оператор возьмет 10- й элемент из массива и присвоит значение переменной salary. Ниже приведен пример, который будет использовать все три вышеупомянутых понятия, а именно. декларация, назначение и доступ к массивам —
#include <iostream> using namespace std; #include <iomanip> using std::setw; int main () { int n[ 10 ]; // n is an array of 10 integers // initialize elements of array n to 0 for ( int i = 0; i < 10; i++ ) { n[ i ] = i + 100; // set element at location i to i + 100 } cout << "Element" << setw( 13 ) << "Value" << endl; // output each array element's value for ( int j = 0; j < 10; j++ ) { cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl; } return 0; }
Эта программа использует функцию setw () для форматирования вывода. Когда приведенный выше код компилируется и выполняется, он дает следующий результат —
Element Value 0 100 1 101 2 102 3 103 4 104 5 105 6 106 7 107 8 108 9 109
Массивы в C ++
Массивы важны для C ++ и должны требовать большего количества деталей. Есть несколько важных понятий, которые должны быть понятны программисту C ++:
C ++ поддерживает многомерные массивы. Простейшей формой многомерного массива является двумерный массив.
Вы можете сгенерировать указатель на первый элемент массива, просто указав имя массива без индекса.
Вы можете передать функции указатель на массив, указав имя массива без индекса.
C ++ позволяет функции возвращать массив.