Структури

1) Визначення і опис структур

2) Визначення синоніму типу структури

3) Вкладені структури

4) Операції над структурами

5) Ініціалізація структур

6) Розробка програм з використанням структур

7) Питання для самоперевірки

 

Визначення і опис структур

 

Cтруктура - це складний тип даних, в який входять елементи будь-яких типів, за винятком функцій. Елементи структури називаються полями. Кожне поле характеризується іменем і типом.

Формат опису структури:

struct <ім¢я структури>

{

<тип поля 1> <ім¢я поля 1>;

<тип поля 2> <ім¢я поля 2>;

. . .

<тип поля n> <ім¢я поля n>;

};

<ім¢я структури> - це тег (позначення) структури, може розглядатись як новий тип даних, визначений користувачем. Щоб використовувати структуру в програмі, необхідно визначити змінну цього типу. Наприклад:

struct STUDENT

{ char fio[20];

int God_rogd;

char pol;

char grupa[15];

};

STUDENT stud1,stud2;

 

Змінні можна описати разом з описом структури. Наприклад:

struct STUDENT

{ char fio[20];

int God_rogd;

char pol;

char grupa[15];

}stud1,stud2;

 

Для доступу до елементів полів використовується складне ім¢я, що складається з імені змінної типу структури і імені поля, розділених крапкою. Наприклад, stud1.fio, stud2.God_rogd. В цьому випадку ім¢я структури (STUDENT) вказувати не обов¢язково, тобто допускається опис

struct

{ char fio[20];

int God_rogd;

char pol;

char grupa[15];

}stud1,stud2;

 

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

 

Визначення синоніму типу структури

 

Для визначення свого типу можна використати оператор typedef.

typedef struct STUDENT

{ char fio[20];

int God_rogd;

char pol;

char grupa[15];

}ТSTUDENT;

В приведеному описі ТSTUDENT є новим типом даних, а STUDENT залишається ім¢ям структури, яке можна опустити:

typedef struct

{ char fio[20];

int God_rogd;

char pol;

char grupa[15];

}ТSTUDENT;

Опис змінних: ТSTUDENT stud1,stud2;

 

Вкладені структури

 

Можна використовувати вкладені структури, описуючи їх до опису головної структури або в її описі. Наприклад, дату народження опишемо як структуру, що складається з трьох цілих значень: число, місяць, рік.

Перший випадок; попередній опис:

Struct data

{ int d,m,g;};

struct STUDENT

{ char fio[20];

data Data_rogd;

char pol;

char grupa[15];

}stud1,stud2;

 

Другий випадок: опис в структурі:

struct STUDENT

{ char fio[20];

Struct {int d,m,g;} Data_rogd;

char pol;

char grupa[15];

}stud1,stud2;

 

І в першому і в другому випадку для доступу до елементів вкладеної структури використовуються операції доступу до елементів структури, тобто складні імена, що складаються з імені структурної змінної, імені структурного поля і імені поля вкладеної структури, розділених крапкою: stud1.Data_rogd.d, stud1.Data_rogd.d.

 

Операції над структурами

 

Допустимими операціями для структур є:

– операція присвоєння для однотипних структур. Наприклад, stud1=stud2;

– операція адреси (&) структури;

– операція sizeof для визначення розміру структури;

– операція доступу до елементів структури.

 

Ініціалізація структур

 

Структури можуть бути ініціалізовані таким же чином, як і масиви. Наприклад:

ТSTUDENT stud1= {“Іванов І.І”,1987, ‘м’,”ПМ 04 1/9” };

ТSTUDENT stud2= {“Петрова А.А.” }; Не заданим значенням присвоюється нульове значення.

 








Дата добавления: 2015-08-26; просмотров: 565;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.