Массивы в C: Учебник для начинающих

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

Создание и инициализация массивов

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

тип_данных имя_массива[размер];

Например, для создания массива из пяти целых чисел:

int arr[5];

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

int arr[5] = {1, 2, 3, 4, 5};

Или позже:

int arr[5];
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
arr[3] = 40;
arr[4] = 50;

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

int arr[] = {1, 2, 3, 4, 5}; // Размер массива будет 5

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

Доступ к элементам осуществляется по индексу, начиная с 0. Первый элемент имеет индекс 0, второй – 1 и так далее.

int arr[5] = {10, 20, 30, 40, 50};
int firstElement = arr[0]; // firstElement будет равен 10
int thirdElement = arr[2]; // thirdElement будет равен 30

Значения элементов можно изменять:

arr[0] = 100; // Теперь первый элемент равен 100

Типы данных и строки

Массивы могут хранить данные разных типов:

float numbers[3] = {1.1, 2.2, 3.3}; // Массив вещественных чисел
char word[6] = {'H', 'e', 'l', 'l', 'o', ''}; // Массив символов (строка)

Обратите внимание на в конце массива символов – нулевой символ, обозначающий конец строки. Удобнее создавать массивы символов (строки) так:

char word[] = "Hello"; // Компилятор сам добавит 

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

Двумерный массив – массив массивов, используется для представления табличных данных (матриц).

int matrix[2][3] = {
    {1, 2, 3},
    {4, 5, 6}
};

matrix – двумерный массив 2×3. Доступ к элементам:

int element = matrix[1][2]; // element будет равен 6

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

Массивы – мощный инструмент для хранения и обработки данных в Си. Понимание их работы – ключевой аспект программирования на этом языке.

Что будем искать? Например,программа