Читайте также: |
|
Тема: Складання програм на використання структур даних
Мета роботи: Вивчити способи опису і ініціалізації масивів структур та здобути практичні навики роботи з ними.
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 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Лабораторна робота № 16 | | | Struct data data1; |