Наш спонсор. Рекомендуем посетить.

120x90-p2m001.gif (6930 bytes)

Партнерская программа для русскоязычных сайтов

5.4. Ещё кое-что о массивах.

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

В программе объявлен массив из 12 элементов целого типа. Элементам массива присвоены начальные значения, при этом список значений заключён в фигурные скобки, а сами значения разделены запятой.

Для сравнения, посмотрим, как этот массив был бы описан в программе на Паскале:

const monthlen :array [1..12] of integer=(31,28,31,30,31,30,31,31,30,31,30,31);

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

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

Всё сказанное, относится к массивам любого типа. Кроме того, язык Си, предусматривает инициализацию массива указателей, когда элементам массива назначаются конкретные адреса некоторых заданных строк при объявлении. Например:

char *name[]={

январь”,”февраль”,”март”,

”апрель”,”май”,”июнь”,

”июль”,”август”,”сентябрь”,

”октябрь”,”ноябрь”,”декабрь”};

Google
Rambler's Top100 Яндекс цитирования PageRank

Регистрация доменов .RU по минимальной ценеРегистрация в системе обмена ссылками