Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Массивы в C++ | Объявить | Инициализировать | Указатель на примеры массивов

Что такое массив?

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

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

Из этого руководства по C++ вы узнаете:

Зачем нужны массивы?

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

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

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

04

Правила объявления одномерного массива в C++.

Например, вы можете создать массив с именем age и сохранить возраст 5 учеников следующим образом:

13

Массив age будет хранить 5 целых чисел, представляющих возраст разных учеников.

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

Инициализация массива — это процесс назначения/сохранения элементов массива. Инициализация может быть выполнена в одном операторе или по одному. Обратите внимание, что первый элемент в массиве хранится с индексом 0, а последний элемент хранится с индексом n-1, где n — общее количество элементов в массиве.

В случае массива age первый элемент будет сохранен с индексом 0, а последний элемент будет сохранен с индексом 4.

Давайте воспользуемся массивом age, чтобы продемонстрировать, как можно выполнить инициализацию массива:

21

Общее количество элементов в {} не может превышать значение, указанное в []. Элемент 19 находится в индексе 0, 18 в индексе 1, 21 в индексе 2, 20 в индексе 3 и 17 в индексе 4. Если вы не укажете количество элементов, которые будут храниться в массиве в пределах [ ], массив будет достаточно большим, чтобы вместить элементы, добавленные в { }. Например:

35

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

43

Приведенный выше оператор сохранит значение 20 в индексе 3 массива с именем age. Это означает, что 20 будет 4 й элемент массива.

Типы массивов

Существует два типа массивов C++:

Одномерный массив

Это массив, в котором элементы данных располагаются линейно только в одном измерении. Его обычно называют одномерным массивом. Синтаксис:

52

Например:

64

Вывод:

Вот скриншот кода:

Пояснение кода:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main(), внутри которой должна быть добавлена ​​логика программы.
  4. Начало тела функции main().
  5. Объявление массива с именем age для хранения 5 целых чисел. 5 целых чисел также были инициализированы.
  6. Создайте целочисленную переменную x с помощью цикла for.
  7. Начало тела цикла for.
  8. Использование переменной цикла x для перебора значений массива age и вывода их на консоль. «\n» — это символ новой строки, который печатается с новой строки после каждой итерации.
  9. Конец тела цикла for.
  10. Конец тела функции main().

Многомерный массив

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

76

Имя массива — это имя массива, который будет иметь n измерений. Например:

Двумерный массив

Двумерный массив хранит данные в списке с одномерным массивом. Это матрица со строками и столбцами. Чтобы объявить двумерный массив, используйте следующий синтаксис:

83

Тип должен быть допустимым типом данных C++. Посмотрите на двумерный массив как на таблицу, где x обозначает количество строк, а y обозначает количество столбцов. Это означает, что вы идентифицируете каждый элемент в двумерном массиве, используя форму a[x][y], где x — номер строки, а y — количество столбцов, которым принадлежит элемент.

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

93

В приведенном выше примере у нас есть двумерный массив, который можно рассматривать как матрицу 2 × 3. Есть 2 строки и 3 столбца. К элементу 0 можно получить доступ как [0][1], поскольку он расположен на пересечении строки с индексом 0 и столбца с индексом 1. К элементу 3 можно получить доступ как [1][2], поскольку он расположен в пересечение строки с индексом 1 и столбца с индексом 2.

Обратите внимание, что мы просто добавили фигурные скобки, чтобы различать разные строки элементов. Инициализацию также можно было бы выполнить следующим образом:

100 

В следующем примере C++ показано, как инициализировать и перемещаться по двумерному массиву:

118

Вывод:

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

Пояснение кода:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main(), в которую следует добавить код.
  4. Начало тела функции main().
  5. Комментарий. Компилятор C++ пропустит это.
  6. Объявление двумерного массива из 3 строк и 2 столбцов. Элементы также были добавлены в массив.
  7. Комментарий. Компилятор C++ пропустит это.
  8. Создание переменной i с использованием цикла for. Эта переменная будет перебирать индексы строк массива.
  9. Создание переменной j с использованием цикла for. Эта переменная будет перебирать индексы столбцов массива.
  10. Начало тела цикла.
  11. Выведите значения переменных i и j на консоли внутри квадратных скобок на консоли.
  12. Выведите значение, хранящееся в индексе [i][j] массива a.
  13. Конец тела цикла.
  14. Функция main() должна возвращать целочисленное значение, если программа работает нормально.
  15. Конец тела функции main().

Трехмерный массив

Трехмерный массив — это массив массивов. Каждый элемент трехмерного массива идентифицируется набором из трех индексов. Чтобы получить доступ к элементам трехмерного массива, мы используем три цикла for. Например:

123

Вывод:

Вот скриншот кода:

Пояснение кода:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main(), внутри которой должна быть добавлена ​​логика программы.
  4. Начало тела функции main().
  5. Объявление трехмерного массива с именем an размером 2x3x2. Значения массива также были инициализированы.
  6. Доступ к элементу, хранящемуся по индексу [0][1][0] массива, и вывод его на консоль.
  7. Доступ к элементу, хранящемуся по индексу [0][1][1] массива, и вывод его на консоль.
  8. Конец тела функции main().

Указатель на массив

Указатель — это переменная, содержащая адрес. Помимо использования указателя для хранения адреса переменной, мы можем использовать его для хранения адреса ячейки массива. Имя массива постоянно указывает на его первый элемент. Рассмотрим объявление, данное ниже:

137

Возраст — это указатель на $age[0], адрес первого элемента массива с именем age. Рассмотрим следующий пример:

140

Вывод:

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

Вот скриншот кода:

Пояснение кода:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main(), внутри которой должна быть добавлена ​​логика программы.
  4. Начало тела функции main().
  5. Объявление переменной-указателя с именем *john.
  6. Объявление массива целых чисел с именем age для хранения 5 целых чисел. Значения целых чисел также были инициализированы.
  7. Присвоение переменной john значения адреса элемента, хранящегося в первом индексе массива age.
  8. Вывод значения переменной john, которая представляет собой адрес элемента, хранящегося в первом индексе массива age.
  9. Печать первого значения, сохраненного в массиве age.
  10. Конец тела функции main().

Имена массивов можно использовать как константные указатели, и наоборот. Это означает, что вы можете получить доступ к значению, хранящемуся в индексе 3 массива age, с помощью *(age + 3). Например:

152

Вывод:

Вот скриншот кода:

Пояснение кода:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main() и начало тела функции main().
  4. Комментарий. Компилятор C++ пропустит это.
  5. Объявление массива с именем age для хранения 5 целых чисел.
  6. Создание целочисленного указателя p.
  7. Присвоение p значения адреса первого элемента массива age.
  8. Комментарий. Компилятор C++ пропустит это.
  9. Выведите текст на консоль.
  10. Создайте целое число x, используя цикл for. Символ { отмечает начало тела цикла for.
  11. Выведите значения x в сочетании с другим текстом на консоли.
  12. Выведите значения *(p + x) на консоль.
  13. Конец тела цикла for.
  14. Выведите текст на консоль.
  15. Создайте переменную x, используя цикл for. Символ { отмечает начало тела цикла for.
  16. Выведите значения x от 0 до 4 вместе с другим текстом.
  17. Выведите значения *(возраст + x).
  18. Конец тела цикла for.
  19. Возвращает значение, если программа работает успешно.
  20. Конец тела функции main().

Доступ к значениям массива

Доступ к элементам массива осуществляется с использованием их соответствующих индексов. Индекс элемента, к которому осуществляется доступ, добавляется в квадратных скобках [ ] сразу после имени массива. Например:

169

В приведенном выше примере мы просто указываем, что возраст Джона хранится в индексе 2 массива с именем age. Это означает, что возраст Джона — 3 rd значение в массиве age. Вот полный пример C++, который показывает, как получить доступ и распечатать это значение:

172

Вывод:

Вот скриншот кода:

Пояснение кода:

  1. Включение файла заголовка iostream в наш код. Это позволит нам читать и писать в консоль.
  2. Включая пространство имен std, чтобы использовать его классы и функции, не вызывая его.
  3. Вызов функции main(), в которую следует добавить код.
  4. Начало тела функции main().
  5. Объявление массива с именем age для хранения 5 целочисленных элементов.
  6. Доступ к значению, хранящемуся в индексе 2 массива age, и сохранение его значения в переменной с именем john.
  7. Вывод значения переменной john на консоль вместе с другим текстом.

Преимущества массива в C++

Вот плюсы/преимущества использования Array в C++:

  • Элементы массива легко перемещаются.
  • Легко манипулировать данными массива.
  • К элементам массива можно обращаться произвольно.
  • Массивы облегчают оптимизацию кода; следовательно, мы можем выполнять большую работу, используя меньше кода.
  • Легко сортировать данные массива.

Недостатки массива в C++

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

Обзор

  • Массив – это структура данных, в которой хранятся элементы одного типа данных.
  • Элементы массива хранятся последовательно.
  • Элементы массива обозначаются соответствующими индексами. Первый элемент имеет индекс 0, а последний элемент имеет индекс n-1, где — общее количество элементов массива.
  • Объявление массива включает определение типов данных элементов массива, а также количества элементов, которые должны храниться в массиве.
  • В одномерном массиве элементы хранятся последовательно.
  • Двумерный массив хранит элементы в строках и столбцах.
  • Трехмерный массив – это массив массивов.
  • Элементы можно добавлять в массив с помощью их индексов.
  • Доступ к элементам массива осуществляется с помощью их индексов.
  • Многомерный массив имеет более одного измерения.
  • Имя массива указывает на его первый элемент.
  • Массивы имеют фиксированный размер, а это означает, что новые элементы не могут быть добавлены в массив после его инициализации.

Язык C

  1. С# Массивы
  2. Передача массива в функцию в программировании на C++
  3. Массивы копирования Java
  4. Цикл C++ do…while с примерами
  5. C++ динамическое выделение массивов с примером
  6. Указатели C++ с примерами
  7. Тип данных Char C++ с примерами
  8. Перегрузка оператора C++ с примерами
  9. Функции C++ с примерами программ
  10. Учебное пособие по коллекциям C# с примерами