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

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

Массивы в C++

Это руководство охватывает массивы в C++ — как объявлять, инициализировать, обращаться к элементам и манипулировать ими — с практическими примерами кода.

В C++ массив — это единственная переменная, хранящая последовательность элементов одного типа фиксированного размера. Например, класс с 27 студентами может хранить их оценки в одном массиве:

double grade[27];

Здесь grade может содержать до 27 значений double. После объявления массива его размер и тип элементов неизменны.


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

dataType arrayName[arraySize];

Например:

int x[6];

Пояснение:


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

Каждый элемент массива идентифицируется индексом, начиная с 0. Получить или изменить элемент можно так:

// синтаксис доступа к элементам массива
array[index];

Рассмотрим массив x выше.

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

Ключевые моменты


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

Массивы можно инициализировать при объявлении:

// объявление и инициализация массива
int x[6] = {19, 10, 8, 17, 9, 15};
Освоение массивов в C++: объявление, инициализация и практические примеры

Альтернативно, пусть компилятор выведет размер:

// объявление и инициализация массива
int x[] = {19, 10, 8, 17, 9, 15};

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

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

Вставка и вывод элементов массива

int mark[5] = {19, 10, 8, 17, 9};
// изменить 4-й элемент на 9
mark[3] = 9;
// ввод от пользователя и сохранение в третьей позиции
cin >> mark[2];
// ввод от пользователя и вставка в i-ю позицию
cin >> mark[i-1];
// вывод первого элемента
cout << mark[0];
// вывод i-го элемента
cout >> mark[i-1];

Пример 1: вывод элементов массива

#include <iostream>
using namespace std;
int main() {
    int numbers[5] = {7, 5, 6, 12, 35};
    cout << "The numbers are: ";
    // Вывод элементов массива через range-based for
    for (const int &n : numbers) {
        cout << n << " ";
    }
    cout << "\nThe numbers are: ";
    // Вывод через традиционный for
    for (int i = 0; i < 5; ++i) {
        cout << numbers[i] << " ";
    }
    return 0;
}

Результат

The numbers are: 7 5 6 12 35
The numbers are: 7 5 6 12 35

Оба цикла дают одинаковый результат. Range-based цикл предпочтителен, когда нужно только читать значения, так как он избегает лишнего копирования.

Примечание: Использование const int &n эффективнее int n, так как передает элементы по ссылке и предотвращает случайное изменение.


Пример 2: чтение пользовательского ввода в массив

#include <iostream>
using namespace std;
int main() {
    int numbers[5];
    cout << "Enter 5 numbers: " << endl;
    // Сохранение пользовательского ввода в массив
    for (int i = 0; i < 5; ++i) {
        cin >> numbers[i];
    }
    cout << "The numbers are: ";
    // Вывод элементов массива
    for (int n = 0; n < 5; ++n) {
        cout << numbers[n] << " ";
    }
    return 0;
}

Результат

Enter 5 numbers:
11 12 13 14 15
The numbers are: 11 12 13 14 15

Пример 3: сумма и среднее значение элементов массива

#include <iostream>
using namespace std;
int main() {
    double numbers[] = {7, 5, 6, 12, 35, 27};
    double sum = 0;
    double count = 0;
    double average;
    cout << "The numbers are: ";
    // Вывод элементов и расчет суммы через range-based for
    for (const double &n : numbers) {
        cout << n << " ";
        sum += n;
        ++count;
    }
    cout << "\nTheir Sum = " << sum << endl;
    average = sum / count;
    cout << "Their Average = " << average << endl;
    return 0;
}

Результат

The numbers are: 7 5 6 12 35 27
Their Sum = 92
Their Average = 15.3333

Этот пример демонстрирует, как range-based цикл упрощает обход, когда размер массива неизвестен на этапе компиляции.


Выход за границы массива в C++

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

Язык C

  1. Массивы в C#: объявление, инициализация и операции
  2. Многомерные массивы в C#: двумерные массивы с примерами кода
  3. Зубчатые массивы в C#: объявление, инициализация и доступ
  4. Освоение операторов C++: полное руководство с практическими примерами
  5. Комментарии в C++: лучшие практики для читаемого и поддерживаемого кода
  6. Как передавать массивы в функции в C++: практическое руководство
  7. Техники копирования массивов в Java: подробное руководство
  8. Массивы в C++: объявление, инициализация и работа с указателями
  9. Динамическое выделение массивов в C++: практическое руководство с примерами кода
  10. MATLAB: Мастерство работы с многомерными и специальными массивами