Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Звернення до елементів структури

Основи роботи зі структурами

Лекція 5.1: Структури та основи роботи з ними.

Розділ 5: Структури.

Мета:ознайомити студентів з поняттям структури та правилами їх визначення та створення. Розглянути особливості створення екземплярів структур та звертання до полів екземплярів.

План:

1. Поняття про структури.

2. Основи роботи зі структурами

 

Декларація структури та структурованої змінної. Правила звернення до елементу структури.

Структурою називаєтьсясукупність різнотипних даних, згуртованих під одним ім’ям. За допомогою структур зручно організовувати складні дані, так як завдяки їм групу елементів, пов’язаних друг з другом можна розглядати та обробляти набір елементів.

Найбільш типовим для С прикладом використання структур є опис точки парою координат.

Для початку створимо в якості прикладу кілька подібних структур. Точка є основним графічним об’єктом, вона описується парою координат х та у, при чому обидві координати – цілі числа.

Декларація структури посилається з ключового слова struct після нього вказується ім’я структурованого типу, дані в фігурних дужках слідує перелік полів структури. Таким чином оголошується така структура. Зазвичай поля структури мають різні типи. Після декларації структури оголошуються структуровані змінні. При оголошенні вказується ключове слово struct ім’я структурованого типу на ім’я самої змінної. Порядок виділення пам’яті під структуровані змінні наступний: при описанні структури місце пам’яті не резервується, пам'ять виділяється лише при оголошенні змінних типу структури (struct point A). При звертанні до поля структури спочатку вказується ім’я структурованої змінної, а потім через крапку ім’я поля, до якого іде звертання: ім’я_змін.ім’я_поля: (Ах)

Мова С дозволяє оптимізувати складні структури.

Звертання до елементів структури (при включенні їх до якогось виразу) виконується за допомогою наступної конструкції

Імя_структури.елемент

Тобто вивести координати точки можна наступним чином

Printf (“%d,%d,pt.x,pt,y)

Структури можна вкладати одна в одну.Вкладеною назив. така структура полями якої є інші структури. Так, одне з можливих представлень прямокутника – пара точок, що визначають два протилежні по діагоналі кути.

Приклад:

1) Нехай є прямокутник описаний за допомогою 2 точок (координати кінців діагоналі) створити структуру за допомогою якої описується точки на площині, і описати за її допомогою опис 2 точок, скласти складну структуру полями якої будуть 2 вказані точки. Знайти довжини сторін фігури та її площу.

#include <stdio.h>

void main ()

{

struct point A, B;

struct point {struct point A; struct point B;}

struct point 1p;

int AC, BC, S;

puts (“vv. coord x dlya A”); scanf (“%i”, &A.x);

puts (“vv. coord y dlya A”); scanf (“%i”, &A.y);

puts (“vv. coord x dlya B”); scanf (“%i”, &B.x);

puts (“vv. coord y dlya B”); scanf (“%i”, &B.y);

AC=A.B.x - P.A.x;

BC=P.A.y – P.B.y;

S=AC*BC;

Printf(“S=%i”, S);

}

2) Описати структурований тип полями якого будуть дані про доход кожного з членів родини. Опис 2 структур змінні і визначити в якій з родин сукупний прибуток більший.

#include <stdio.h>

void main ()

{

Flout R1, R2;

Struct rodina;

{

Flout M, B};

Struct rodina A, C;

Puts (“vv. M dlya A”);

Scanf (“%f”, &A.M);

Puts (“vv. B dlya A”);

Scanf (“%f”, &A.B);

Puts (“vv. M dlya C”);

Scanf (“%f”, &C.M);

Puts (“vv. B dlya C”);

Scanf (“%f”, &C.B);

R1=A.M+A.B;

R2=C.M+C.B;

If (R1>R2)

{ puts (“persha rodyana zaroblyae bil’she”);}

Else

{ puts (“druga rodyana zaroblyae bil’she”);}}

3) Полями структури є відомості про кількість книг одного з авторів. Оголосити 2 структуровані змінні і визначити книжок якого з авторів більше у кожній з змінних.

#include <stdio.h>

void main ()

{

Struct avtor;

{

Int A, B; }

Puts (“vv. A dlya chit”);

Scanf (“%i”, & chit A);

Puts (“vv. B dlya chit”);

Scanf (“%i”, & chit B);

Scanf (“%i”, & Chit 2 B);

Scanf (“%i”, & Chit 2 A);

If (chit A> Chit 2A);

Puts (“chit 1 prochit>avt A”);

Else

Puts (“chit 2 prochit > avt A”);

If (chit B> Chit 2 B);

Puts (chit1 proch>avt B);

Else

Puts (“Chit2 proch.>avt B”); }


Читайте також:

  1. II. За зміною ступенів окиснення елементів, які входять до складу реагуючих речовин
  2. III. Процедура встановлення категорій об’єктам туристичної інфраструктури
  3. Адаптивні організаційні структури управління.
  4. Аналіз асортименту й структури випуску продукції.
  5. Аналіз динаміки і структури валового нагромадження.
  6. Аналіз динаміки і структури витрат підприємства
  7. Аналіз динаміки та структури банківських доходів
  8. Аналіз динаміки та структури валютних операцій
  9. Аналіз показників складу, структури й технічного стану основних фондів.
  10. Аналіз рівня, динаміки і структури обсягу виробленої та реалізованої продукції
  11. Аналіз рівня, динаміки та структури фінансових результатів підприємства
  12. Аналіз складу та структури дебіторської заборгованості




Переглядів: 891

<== попередня сторінка | наступна сторінка ==>
РОЗГЛЯНУТО | Ступінь деталізації при блокуванні.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.004 сек.