русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Основные сведения


Дата добавления: 2015-01-16; просмотров: 421; Нарушение авторских прав


Давайте снова обратимся к процедурам преобразования датыиз главы 5. Дата состоит из нескольких частей таких, какдень, месяц, и год, и, возможно, день года и имя месяца. Этипять переменных можно объеденить в одну структуру вида: STRUCT DATE \( INT DAY; INT MONTH; INT YEAR; INT YEARDAY; CHAR MON_NAME[4]; \); Описание структуры, состоящее из заключенного в фигурныескобки списка описаний, начинается с ключевого слова STRUCT.За словом STRUCT может следовать необязательное имя, называ-емое ярлыком структуры (здесь это DATе). Такой ярлык именуетструктуры этого вида и может использоваться в дальнейшем каксокращенная запись подробного описания. Элементы или переменные, упомянутые в структуре, называ-ются членами. Ярлыки и члены структур могут иметь такие жеимена, что и обычные переменные (т.е. Не являющиеся членамиструктур), поскольку их имена всегда можно различить по кон-тексту. Конечно, обычно одинаковые имена присваивают толькотесно связанным объектам. Точно так же, как в случае любого другого базисного ти-па, за правой фигурной скобкой, закрывающей список членов,может следовать список переменных.Оператор STRUCT \( ...\) X,Y,Z; синтаксически аналогичен INT X,Y,Z; в том смысле, что каждый из операторов описывает X , Y и Z вкачестве переменных соотвествующих типов и приводит к выде-лению для них памяти. Описание структуры, за которым не следует списка пере-менных, не приводит к выделению какой-либо памяти; оно толь-ко определяет шаблон или форму структуры. Однако, если такоеописание снабжено ярлыком, то этот ярлык может быть исполь-зован позднее при определении фактических экземпляров струк-тур. Например, если дано приведенное выше описание DATE, то STRUCT DATE D; определяет переменную D в качестве структуры типа DATE.Внешнюю или статическую структуру можно инициализировать,поместив вслед за ее определением список инициализаторов дляее компонент: STRUCT DATE D=\( 4, 7, 1776, 186, "JUL"\); Член определенной структуры может быть указан в выраже-нии с помощью конструкции вида имя структуры . Член --------------------Операция указания члена структуры "." связывает имя структу-ры и имя члена. В качестве примера определим LEAP (признаквисокосности года) на основе даты, находящейся в структуреD, LEAP = D.YEAR % 4 == 0 && D.YEAR % 100 != 0 \!\! D.YEAR % 400 == 0; или проверим имя месяца IF (STRCMP(D.MON_NAME, "AUG") == 0) ... Или преобразуем первый символ имени месяца так, чтобы ононачиналось со строчной буквы D.MON_NAME[0] = LOWER(D.MON_NAME[0]); Структуры могут быть вложенными; учетная карточка служа-щего может фактически выглядеть так: STRUCT PERSON \( CHAR NAME[NAMESIZE]; CHAR ADDRESS[ADRSIZE]; LONG ZIPCODE; /* почтовый индекс */ LONG SS_NUMBER; /* код соц. Обеспечения */ DOUBLE SALARY; /* зарплата */ STRUCT DATE BIRTHDATE; /* дата рождения */ STRUCT DATE HIREDATE; /* дата поступления на работу */ \); Структура PERSON содержит две структуры типа DATE . Если мыопределим EMP как STRUCT PERSON EMP; то EMP.BIRTHDATE.MONTH будет ссылаться на месяц рождения. Операция указания членаструктуры "." ассоциируется слева направо.


<== предыдущая лекция | следующая лекция ==>
Указатели на функции | Структуры и функции


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.018 сек.