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

      Комментарии к записи Объявление и инициализация массивов отключены

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

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

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

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
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;
}

Результат выполнения программы:

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

int a[10];

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

#include
int main() {

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

int i;

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

for(i=0; i

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

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

}

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

for(i=0;i

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

}

getchar();

getchar();

return 0;
}

Результат выполнения программы

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

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

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

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

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

int a[2][3];

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


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

Статьи к прочтению:

Урок 7.1. Массивы Java


Похожие статьи:

  • Инициализация многомерных массивов

    Для инициализации многомерного массива достаточно заключить в фигурные скобки список инициализаторов каждого его размера. Ниже в качестве примера…

  • Объявление одномерного массива

    Понятие массива Поскольку при решении очень многих задач требуется именно такая обработка, для нее в любом процедурном языке существует понятие массива –…