|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Инициализация и присваивание структурИнициализация и присваивание структур. Инициализация структур похожа на инициализацию массивов. Непосредственно в определении конкретной структуры после ее имени и знака '=' в фигурных скобках размещается список начальных значений элементов. Например:
Сравнивая структуры с массивами, нужно обратить внимание на одну особенность, связанную с операцией присваивания. Если определены два массива одного и того же типа и одинаковых размеров, то присвоить элементам одного массива значения элементов другого массива можно только с помощью явного перебора элементов, например, в цикле
Попытка использовать имена массивов без индексов в операции присваивания будет обречена на провал (ведь имя массива есть неизменяемый указатель):
В то же время стандарт языка Си разрешает присваивание структур. Если не обращать внимание на смысл имен введенных выше структур типа struct goods (tea - чай; coat - пиджак), то допустимо следующее присваивание:
Определив структуру типа complex, можно выполнить, например, такое присваивание (структура sigma того же типа определена и инициализирована выше):
Отметим, что для структур не определены операции сравнения даже на равенство. И сравнивать структуры нужно только поэлементно.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.) |