русс | укр

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

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

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

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


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

Вложенные структуры


Дата добавления: 2013-12-24; просмотров: 936; Нарушение авторских прав


Операции со структурой как единым целым

Обращение к полям структуры

Объявление структурных переменных

Как уже отмечалось само описание структуры не приводит к выделению под нее места в ОП. Теперь необходимо создать нужное количество переменных с приведенной структурой и сделать это можно двумя способами.

Способ 1. В любом месте программы для декларации структурных переменных, массивов, функций и т.д., используется объявленный в шаблоне структурный тип, например:

struct Stud_type student; - структурная переменная;

Stud_type Stud[100]; - массив структур;

int Fun(Stud_type W); - прототип функции с параметром стру­ктур­ного типа,

(Слово struct в первом примере является необязательным, и в остальных примерах оно опущено).

 

Способ 2: в шаблоне структуры между закрывающейся фигурной скобкой и символом «;» указывают через запятые идентификаторы структурных данных.

Для нашего примера, используя, можно записать:

struct Stud_type {

char Number[10], Fio[40];

double S_b;

} student, Stud[100];

Если дальше в программе не понадобится вводить новые данные объявленного структурного типа, имя типа «Stud_type» можно не указывать.

При декларации структурных переменных возможна их одновременная инициализация

Например:

struct Stud_type {

char Number[10], Fio[40];

double S_b;

} student = {“123456”, “Иванов И.И.”, 6.53 };

или:

Stud_Type stud1 = {“123456”, “Иванов И.И.” };

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

 

Обращение к полю структуры производится при помощи составных имен, которые образуются с использованием операции принадлежности (.) в виде:



ID_структуры .ID_поля

 

Пример обращения для объявленного ранее шаблона:

Stud_Type s1, s2;

Обращение к полям этих структур будет иметь вид:

s1. Number, s1. Fio, s1. S_b;

s2. Number, s2. Fio, s2. S_b;

 

Примеры операторов с обращением к их полям:

s1.S_b=7;

s2.S_b=6.5;

int k=strcmp(s1. Number, s2. Number);

 

Для структур одинакового типа допустимы следующие операции:

1) Присваивание: s1=s2;

2) Сравнение на равенство и неравенство: s1==s2 либо s1!=s2

3) Подстановка в качестве аргумента на место параметра функции:

int Fun(Stud_type W);

...

int d=Fun(S1);

 

Структуры могут быть вложенными, т.е. поле структуры может cамо быть структурой, описание которой должно предшествовать описанию внешней структуры.

Например, в структуре person, содержащей сведения - Ф.И.О., дата рождения, можно сделать дату рождения внутренней структурой date по отношению к структуре person. Тогда шаблон такой конструкции будет выглядеть так:

struct date {

int day, month, year;

};

struct person {

char fio[40];

struct date f1;

} ;

Объявляем переменную такой структуры:

struct person a;

Тогда, обращение к полям структурной переменной a будет выглядеть следующим образом:

a .fio a.f1.day a.f1.month a.f1.year

 



<== предыдущая лекция | следующая лекция ==>
Декларация структурного типа данных | Битовые поля


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


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

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

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


 


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

 
 

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

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