Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Лабораторна робота № 17-18

Читайте также:
  1. Word. Робота з великими документами
  2. Вешалка для игл лабораторная
  3. Глава 36. Лабораторная крыса
  4. Глава IV Робота Суду
  5. Дипломних проектах (роботах)
  6. Індивідуальна робота вчителя-вихователя у навчально-виховному процесі. Робота з важковиховуваними учнями.
  7. Індивідуально – консультативна робота студентів

 

Тема: Складання програм на використання структур даних

Мета роботи: Вивчити способи опису і ініціалізації масивів структур та здобути практичні навики роботи з ними.

1 Короткі теоретичні відомості

Структури це складні конструкції даних на мові С. Структура являє собою нестандартний об’єкт для зберігання різних даних.

Прості структури. Опис і визначення структур. Структура - це сукупність декількох змінних під одним іменем., які розглядаються як одне ціле. На відміну від масивів змінні в структурах можуть мати різні типи. Змінні в структурі називаються її членами або полями. Структури можуть містити дані будь-яких типів, в тому числі масиви і інші структури.

Наприклад, координати точки містять горизонтальну і вертикальну складові, тому

Struct coord

{ int x;

iny y; }

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

1. Список імен змінних ставиться після визначення структури

Struct coord

{ int x;

iny y; } x1, y1;

В цьому операторі визначається структурний тип coord і описуються дві структури цього типу x1, y1. Ці дві структури є екземплярами типу coord - кожна з них містьть дві цілочисельні змінні x і y. При такому способі визначення структурного типу суміщається з описом його екземплярів.

2. Опис екземплярів поміщається окремо від визначення типу. Приклад

Struct coord

{ int x;

iny y; }

оператори;

Struct coord x1, y1;

Звернення до полів структури. Окремі елементи структури можуть використовуватися як прості змінні. Щоб одержати їх значення з структури, використовується знак операції звернення до елементів структури. (.)., який являє собою крапку між іменем структури і іменем елемента поля. Щоб структура x1 містила координати x=50 і y=100, треба записати.

x1.x=50; x1.y=100;

Вивід елементів структури y1:

printf(“%d, %d”, y1.x, y1.y);

Перевага структур та, що копіювати інформацію з одної структури в іншу можна простим присвоюванням.

х1=y1; Цей оператор еквівалентний двом операторам

x1.x=y1.x; x1.y=y1.y;

Якщо в програмі використовуються складні структури з великою кількістю елементів, то такий запис може зекономити час. Приклад

#include <stdio.h>

#include <stdlib.h>

int length, width;

long area;

struct coord{

int x; /* Тіло структури*/

int y;

} k /*описаний екземпляр структури coord - змінна k типу структури */;

void main(){

k.x = 12;

k.y = 15;

printf("\Координати точки: (%d, %d).",

k.x, k.y); }

/* Результат Координати точки: (12, 14). */

Це можна було записати

struct coord k;

Ключове слово struct. (синтаксис).

Struct мітка {

елементи структури;

/* Додаткові оператори */ } екземпляр;

З допомогою ключового слова struct визначаються структурні типи і описуються структури. Елементами структури є прості змінні, вказівники і інші структури.

Приклад 1./*Визначення шаблону структури під іменем s1*/

struct s1 {

int a1;

char a2;

short a3;

int a4; }

/* Використання шаблону для опису структури nst1*/

struct s1 nst1;

Структури, які містять масиви. Структури в ролі елементів(полів) містять масиви. В прикладі визначений структурний тип data, який містить цілочисельний масив з 4-х елементів і символьний масив з 10-ти елементів.

struct data

{ int x[4];

char y[10]; };

Опис змінної record цього типу


Дата добавления: 2015-07-17; просмотров: 137 | Нарушение авторских прав


Читайте в этой же книге: Постановка завдання | Лабораторна робота № 6-7 | Лабораторна робота № 8 | Постановка завдання | Лабораторна робота № 9 | Лабораторна робота № 10 | Лабораторна робота № 11-12 | Лабораторна робота № 13-14 | Лабораторна робота № 15 | Int putchar(int c); |
<== предыдущая страница | следующая страница ==>
Лабораторна робота № 16| Struct data data1;

mybiblioteka.su - 2015-2024 год. (0.007 сек.)