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

Для объявления массива в языке Си используется следующий синтаксис:

тип имя [размерность]={инициализация};

Инициализация представляет собой набор начальных значений элементов массива, разделенных запятыми.

int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; // массив a из 10 целых чисел

int a[10] = {0}; // массив a из 10 элементов, инициализированных 0

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

int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9};

При обращении к элементам массива индекс требуемого элемента указывается в квадратных скобках [].

Пример

#include <stdio.h>
int main()

{

int a[]={5, 4, 3, 2, 1}; // массив a содержит 5 элементов

printf("%d %d %d %d %d\n",a[0], a[1], a[2], a[3], a[4]);

getchar();

return 0;
}

Результат выполнения программы:
Объявление и инициализация массивов - student2.ru

Однако часто требуется задавать значения элементов массива в процессе выполнения программы. При этом используется объявление массива без инициализации. В таком случае указание количества элементов в квадратных скобках обязательно.

int a[10];

Для задания начальных значений элементов массива очень часто используется параметрический цикл:

#include <stdio.h>
int main()

{

int a[5]; // объявлен массив a из 5 элементов

int i;

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

for(i=0; i<5; i++)

{

printf("a[%d] = ", i);

scanf("%d", &a[i]); // &a[i] - адрес i-го элемента массива

}

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

for(i=0;i<5;i++)

{

printf("%d ",a[i]); // пробел в формате печати обязателен

}

getchar();

getchar();

return 0;
}

Результат выполнения программы
Объявление и инициализация массивов - student2.ru

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

В языке Си могут быть также объявлены многомерные массивы. Отличие многомерного массива от одномерного состоит в том, что в одномерном массиве положение элемента определяется одним индексом, а в многомерном — несколькими. Примером многомерного массива является матрица.

Общая форма объявления многомерного массива

тип имя [размерность1] [размерность 2]...[размерность m];

Элементы многомерного массива располагаются в последовательных ячейках оперативной памяти по возрастанию адресов. В памяти компьютера элементы многомерного массива располагаются подряд, например массив, имеющий 2 строки и 3 столбца,

int a[2][3];

будет расположен в памяти следующим образом

Объявление и инициализация массивов - student2.ru
Общее количество элементов в приведенном двумерном массиве определится как
КоличествоСтрок * КоличествоСтолбцов = 2 * 3 = 6.
Количество байт памяти, требуемых для размещения массива, определится как
КоличествоЭлементов * РазмерЭлемента = 6 * 4 = 24 байта.

Наши рекомендации