Unetway

C++ - Массивы

C ++ предоставляет структуру данных, массив , в котором хранится последовательный набор фиксированного размера элементов того же типа. Массив используется для хранения коллекции данных, но часто бывает полезно придумать массив как набор переменных того же типа.

Вместо объявления отдельных переменных, таких как number0, number1, ... и number99, вы объявляете одну переменную массива, такую ​​как числа, и используете числа [0], числа [1] и ..., числа [99] для представления отдельные переменные. К конкретному элементу массива обращается индекс.

Все массивы состоят из смежных областей памяти. Нижний адрес соответствует первому элементу и наивысшему адресу последнего элемента.

Объявление массивов

Чтобы объявить массив в C ++, программист задает тип элементов и количество элементов, требуемых массивом, следующим образом:

type arrayName [ arraySize ];

Это называется одноразмерным массивом. ArraySize должен быть целое число константы больше нуля и типа может быть любым допустимым С ++ типом данных. Например, чтобы объявить 10-элементный массив, называемый балансом типа 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;

Доступ к элементам массива

Доступ к элементу осуществляется путем индексации имени массива. Это делается путем размещения индекса элемента в квадратных скобках после имени массива. Например,

double salary = balance[9];

Вышеприведенный оператор будет принимать 10- й элемент из массива и присваивать значение переменной зарплаты. Ниже приведен пример, который будет использовать все вышеупомянутые три концепции, а именно: объявление, назначение и доступ к массивам -

#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 ++ позволяет функции возвращать массив.