8.6.1 Список Инициализаторов

8.6.1 Список Инициализаторов

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

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

Например,

int x[] = (* 1, 3, 5 *);

описывает и инициализирует x как одномерный массив, имющий три элемента, поскольку размер не был указан и дано три инициализатора.

float y[4][3] = (* (* 1, 3, 5 *), (* 2, 4, 6 *), (* 3, 5, 7 *) *);

является полностью снабженной квадратными скобками инциализацией: 1,3 и 5 инициализируют первый ряд массива y[0], а именно, y[0][0], y[0][1] и y[0][2]. Аналогично, следующие две строки инициализируют y[1] и y[2]. Инициализатор заканчвается раньше, поэтому y[3] инициализируется 0-ями. В тоноcти тот же эффект может быть достигнут с помощью

float y[4][3] = (* 1, 3, 5, 2, 4, 6, 3, 5, 7 *);

Инициализатор для y начинается с левой фигурной скобки, но не начинается с нее инициализатор для y[0], поэтому ипользуется три значения из списка. Аналогично, следующие три успешно используются для y[1] и следующие три для y[2]. Так же

float y[4][3] = (* (* 1 *), (* 2 *), (* 3 *), (* 4 *) *);

инициализирует первый столбец y (рассматриваемого как двумерный массив) и оставляет остальные элементы нулями.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

23.4.4. Список

Из книги автора

23.4.4. Список Виджит CList представляет собой список, состоящий из нескольких колонок. Ячейки такого списка могут содержать текстовые значения. Мы можем обратиться отдельно к каждой ячейке списка. Создать список можно одной из функций:GtkWidget *gtk_clist_new(gint columns);GtkWidget


Список кораблей

Из книги автора

Список кораблей Едва ли не каждого, кто хоть как-то связан по роду деятельности с Интернетом, занимал вопрос: что за путь изберут для запуска открытой регистрации?Кириллический домен с самого начала проектировали как домен, получить имя в котором сможет каждый.Обсуждение


4.3.2. Черный список

Из книги автора

4.3.2. Черный список Иногда возникает ситуация, когда вы не хотите больше получать письма от кого-либо из отправителей. Речь не о спаме, просто испортились отношения. Тогда можно добавить этого отправителя в черный список. Рассмотрим, как это сделать в веб-интерфейсе сервиса


Контрольный список

Из книги автора

Контрольный список Итак, вы узнали, как собрать 100 000 друзей на вашу страницу Facebook. Пора за работу! Вот список задач, которые вам предстоит решить:– Создать страницу на Facebook (если нет).Это сделать легко, зайдите на Facebook.com. Если есть вопросы, прочитайте раздел «Помощь». От


3. Список

Из книги автора

3. Список «10 способов, как сделать то-то», «17 секретов, как добиться успеха», «Пять способов, как избежать неудачи» – статья, видеоурок или скрин-каст. Это делается легко, потому что любой вопрос можно разбить на несколько частей, секретов, фишек и технологий, и описать их в


1.10. Список литературы

Из книги автора

1.10. Список литературы Составление списка литературы – важный этап в написании работы. Этот небольшой раздел сразу привлекает внимание проверяющих. Поэтому рекомендуется отнестись к созданию и оформлению перечня использованных источников особо тщательно.Список


СПИСОК ЛІТЕРАТУРИ

Из книги автора

СПИСОК ЛІТЕРАТУРИ 1. Basilli V.R. Viewing Maintenance as Reuse-Oriented Software Development/V.R. Basilli //IEEE Software. 1990. - June. -P. 19-25.2. Boehm B.W. Improving Software Productivity / B.W. Boehm // Computer. - 1987. - Vol. 20, n.9. - P. 43 - 57.3. Boehm B.W. Software Engineering Economics / B.W. Boehm - Englewood Cliffs, Ш.: Prentice-Hall, 1981. - 257 p.4. Boehm B.W. Spiral Model of software Development and Enhancement / B.W. Boehm // Computer. - 1988, - May. - P.


Список литературы

Из книги автора

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


1.10. Список литературы

Из книги автора

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


Список типов .NET

Из книги автора

Список типов .NET * Целые типы Вещественные типы Логический тип Символьный тип Перечислимый и диапазонный типы Статические массивы Динамические массивы Записи Множества Файлы Указатели Процедурный тип Последовательности


Список литературы

Из книги автора

Список литературы 1. Анрах Дж. Т. Удивительные фигуры: оптические иллюзии, поражающие воображение / Пер. с англ. Т. С. Курносенко. М.: ООО «Издательство АСТ»: ООО «Издательство Астрель», 2002. — 125 с.2. Баранова И. В. КОМПАС-3В для школьников. Черчение и компьютерная графика.


9.3.4. Список контактов

Из книги автора

9.3.4. Список контактов Skype — это не только виртуальный телефон. Щелкните на контакте правой кнопкой, и вы увидите дополнительные возможности Skype (рис. 9.38). Вы можете:? Начать Чат — Skype позволяет заменить сервисы обмена короткими сообщениями вроде ICQ. Да, вы можете не только


Список каналов

Из книги автора

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