Описание структур и структурных переменных

Общие методические указания по выполнению лабораторных работ

Цель работы: а) освоение приемов алгоритмизации и программирования вычислительных процессов, обрабатывающих сложные объекты данных; б) ознакомление со средствами языка Си и функциями файлового ввода-вывода данных; в) практическое освоение правил составления и набора сложных Си-программ; г) освоение приемов отладки программ в диалоговом режиме.

Содержание работы. Выполнение работы включает следующие этапы:
а) ознакомление с условиями задачи и разработка схемы алгоритма ее решения; б) составление программы согласно схеме алгоритма; в) ввод программы и ее отладка с использованием среды Си-компилятора; г) ввод исходных данных и получение результатов решения задачи; д) составление отчета о лабораторной работе.

Работа со структурами данных (struct)

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

Описание структур и структурных переменных

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

1. Обозначение места в памяти, где располагается информация объекта, который называется структурной переменной. Отдельные составные части структурной переменной (компоненты стуктуры) называют полями.

2. Описание типа структуры (или шаблона), то есть правил формирования структурной переменной, которые используются для выделения ей места в памяти и организации доступа к её полям.

Описание структурной переменной состоит из двух шагов:

· описания типа (шаблона) структуры;

· описание конкретной структурной переменной.

Такое описание структурной переменной можно задать двумя способами.

Способ 1. Предварительное описание типа (шаблона) структуры, а затем использование имени типа для описания переменных, согласно схеме:

struct имя_структуры { тип_поля имя_поля; …;

}; /* описание типа заканчивается символом ‘;’ */

struct имя_структуры переменная, …; /* описание переменных */

где

struct – ключевое слово для типа структуры;

имя_структуры – идентификатор нового типа пользователя;

тип_поля – спецификаторы типа;

имя_поля, переменная – идентификатор простой переменной или с модификаторами (* – указатель, [ ] – массив).

Например, описание шаблона структуры:

struct STUDENT { /* новый тип данных */

char name [30]; /* символьный массив */

int ball [5]; /* массив целых чисел */

float sb; /* вещественная переменная */

}; /* конец описания шаблона */

описания структурных переменых:

struct STUDENT /* тип структуры */

st, /* простая структурная переменная */

gr [20], /* массив структур */

*pst, /* указатель на структуру */

*pgr [20]; /* массив указателей на структуру */

Способ 2. Совместное описание шаблона и структурных переменных, например:

struct STUDENT { char name [30]; /* поля структуры */

int ball [5];

float sb;

} st, gr [20], *pst, *pgr [20]; /* структурные объекты */

Такое описание удобно, если шаблон используется в программе только один раз, а если он является единственным в программе, то его имя, например, student, можно опускать.

При описание структурной переменной можно выполнить инициализацию полей структуры, например:

struct { сhar name [30]; int ball [4];

} st1= {“ Иванов А.И ”, {5, 4, 5, 3}},

st2= {“ Петров С.А “, {4, 5, 5, 5}};


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: