Массивы C++ с примерами

Массивы C++Что такое массивы в C++? Зачем они нужны? Об этом мы и поговорим в данной статье. Вообще, массив в C++ можно просто определить как набор данных.

Если одно из приложений, которые мы разрабатываем, требует 100 переменных целочисленного типа данных. Затем, используя объявление переменной, нам придется объявить 100 различных целочисленных переменных. Это, в свою очередь, будет действительно обременительно.

А как насчет того, чтобы объявить одну переменную, содержащую 100 смежных ячеек памяти? Вот тут-то и появляются массивы.

Массивы в С++

Массив может быть определен как набор переменных одного типа данных и имеет непрерывные области памяти.

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

Представление массива в памяти

Как показано выше, 0…99 являются ячейками памяти для этого массива, и они непрерывны. Пустые панели — это фактические элементы массива. Доступ к отдельным элементам массива можно получить с помощью индекса. На приведенной выше диаграмме первый индекс массива равен 0, а последний индекс равен 99 (поскольку это массив из 100 элементов). 0 1 2 3 4 5 ……..….. 99.

Обратите внимание, что начальный индекс массива всегда равен 0. Таким образом, для массива из n элементов начальный индекс массива будет равен 0, а последний индекс будет равен n-1.

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

Объявление массива в C++ обычно выглядит так, как показано ниже:

Приведенное выше объявление предназначено для одномерного массива. Здесь тип данных — это любой тип данных, допустимый в C++. ‘arrayName’ — это имя создаваемого нами массива, а arraySize, который всегда заключен в квадратные скобки ([]), — это количество элементов, которые будет содержать массив. arraySize всегда должен быть постоянным выражением.

Читать также:  Цикл (FOR-DOWNTO-DO) в языке программирования Паскаль

Например, если нам нужно объявить массив с именем myarray с 10 элементами типа Integer, то объявление будет выглядеть так:

Точно так же объявление для массива ‘salary’ типа double с 20 элементами будет выглядеть так, как показано ниже:

Инициализация массива

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

Итак, давайте объявим массив размером 5, напечатаем целое число и назовем его myarray.

Мы можем присвоить значения элементам массива один за другим следующим образом:

Вместо инициализации каждого отдельного элемента мы также можем инициализировать весь массив во время самого объявления, как показано ниже:

Как видно выше, инициализация элементов массива значениями выполняется с помощью фигурных скобок ({}).

В результате описанной выше инициализации массив будет выглядеть так, как показано ниже:

Инициализация массива

Мы также можем инициализировать массивы без указания размера, просто указав элементы.

Делаем, как показано ниже:

В этом случае, когда размер массива не указан, компилятор присваивает размер, равный количеству элементов, которыми инициализируется массив. Таким образом, в приведенном выше случае размер myarray будет равен 5.

Читать также:  Шаблоны в C++ с примерами

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

Доступ к элементам массива можно получить с помощью индекса массива. Индекс массива всегда начинается с 0 и идет до arraySize-1.

Синтаксис доступа к элементам массива следующий:

В качестве примера возьмем объявленный выше массив myarray.

Если нам нужно получить доступ к 4 -му элементу myarray, то мы можем сделать это следующим образом:

Если нам нужно присвоить 2- й элемент myarray целочисленной переменной, то мы делаем это следующим образом:

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

Если нам нужно получить доступ ко всем элементам массива одновременно, мы можем использовать итерационные конструкции C++, которые позволят нам пройти через все элементы массива и получить к ним доступ с помощью индексной переменной.

Из всех конструкций цикл for идеально подходит для доступа к массивам, поскольку цикл for по определению использует индексную переменную для прохождения последовательности, а также автоматически увеличивает значение после каждой итерации.

Например, возьмем тот же массив myarray, определенный ранее. Использование цикла for для доступа к элементам myarray показано ниже:

В приведенном выше коде myarray используется с индексной переменной I от 0 до 5, и элементы печатаются после каждой итерации.

Вывод данных приведенного выше кода:

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

Читать также:  Операции ввода-вывода файла в C++

Рассмотрим следующую программу, которая показывает сумму всех элементов массива:

В приведенном выше коде мы объявляем и инициализируем массив с именем myarray. Мы также инициализируем переменную sum равным 0. Затем мы обходим myarray с помощью цикла for и добавляем каждый элемент массива в sum.

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

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

Вывод

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

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

С Уважением, МониторБанк

Добавить комментарий