русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Структурный тип данных.


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


В простейших задачах каждый элемент данных представлен в виде переменной, определенной встроенным типом float, int, char, но при программировании реальных задач приходится иметь дело с объектами, организованными более сложно, в состав которых входит не одна переменная. В этом случае используется структурный тип данных.

Cтруктура - это совокупность элементов, каждый из которых может иметь любой тип кроме функции. В отличии от массива, который состоит из элементов одинакового типа, структура может состоять из разнотипных элементов.

Приведем простой пример использования структур. Если в программе необходимо использовать дату, то под каждое поле данных необходимо выделить отдельную переменную, например, так:

int day; // день

char month[10]; // месяц

int year; // год

Чтобы эти три переменные рассматривались как единое понятие «дата», их требуется объединить в структуру.

Первым шагом в создании взаимосвязанного множества переменных является определение структурного (пользовательского) типа данных. Определение дает структуре имя и указывает компилятору имя и тип каждого элемента (поля) структуры.

 

Пример: определение нового структурного типа date, состоящего из 3-х полей (элементов):

sruct date

{ int day;

char month[10]; // статический символьный массив

int year;

};

Синтаксис определения полей структуры аналогичен синтаксису определения переменной - необходимо указать тип данных каждого поля и размер всех строк и массивов.

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

Определив структуру, можно пользоваться новым структурным типом данных - создавать объекты в памяти - переменные, указатели, массивы, и тому подобное. Название нового типа в нашем примере будет sruct date.



Можно совместить описание структуры и создание переменных (выделение памяти), например:

struct date

{ int day;

char month[10];

int year;

} a, b, c;

 

При этом выделяется соответствующая память под переменные a,b,c (каждая из переменных содержит по два int-поля и массив из 10 char-элементов ). После того, как новый тип (struct date) введен, его можно использовать для объявления структурных переменных в любом месте программы, например:

struct date d1;

 

Переменная d1 имеет тот же тип, что и a,b,c (struct date).

Переменные, подобные a, b, c называют объектами структурного типа или же структурными переменными, но чаще всего - структурами. Из-за этого может возникнуть некоторая терминологическая путаница. Обращаю ваше внимание, на то, что определение структуры – это создание нового типа данных (без выделения памяти), а объявление структуры – это выделение памяти под объект структурного типа.

 

 

Примеры использования структурного типа для создания различных объектов:

struct date b; // переменная-структура b

struct date week2[7]; // массив структур week2

struct date *poin_d ; // указатель point_d на структуру date

 




<== предыдущая лекция | следующая лекция ==>
Динамическое выделение памяти для массивов. | Доступ к элементам структуры.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.536 сек.