Хелпикс

Главная

Контакты

Случайная статья





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



 

Массивы и строки в C

Массивы.

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

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

Первый параметр описывает адрес ячейки памяти, в которой расположено значение этого элемента, индекс описывает порядковый номер элемента в массиве. Стоит отметить, что в C массивы индексируются, начиная с 0.

Такое понятие как «размер массива» можно интерпретировать по-разному: в одном случае, под ним будет пониматься общее количество элементов в массиве, а в другом количество памяти, занимаемое им, выраженное в байтах.

Таким образом, длина массива определяется как произведение размера одного элемента и их общего количества.

Графически, размещение массива в памяти компьютера можно представить в виде непрерывной последовательности адресов:

Здесь, k – размер одного элемента массива, q – количество элементов, n – начальный адрес выделенной области памяти, определённый на основе идентификатора массива.

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

Синтаксис объявления массива выглядит следующим образом:

тип идентификаторМассива[размерность] = {значение элемента 0, …, значение элемента N};

Здесь под «типом» понимается тип данных одного элемента массива, которые будут храниться в массиве. Под «размерностью» понимается общее количество элементов массива. Размерность может быть задана только положительной константой или константным выражением.

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

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

Примеры объявления и инициализации массивов:

Пример 1. Инициализация группой значений. chara[8] = {“a”, “b”, “c”, “d”, “e”, “f”, “g”};
Пример 2. Инициализация одним значением. intb[9] = {0};
Пример 3. Использование массивов. // подсчитывается сумма элементов массива #include <iostream.h> int main(){ const int n = 10; int i, sum; int mas[n] = {3, 4, 5, 4, 4}; for (i = 0, sum = 0; i<n; i++) sum += mas[i]; cout << "Сумма элементов: " << sum; return 0; }


  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.