4965

Создание новых типов данных

Лекция

Информатика, кибернетика и программирование

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

Русский

2012-11-30

30.5 KB

2 чел.

Создание новых типов данных

Для представления данных о сложных физических и математических объектах необходимо создавать новые типы данных на основе базовых и ранее созданных.

Структуры

Наиболее простым способом создания нового типа данных является организация структуры.

Структура представляет собой последовательность элементов данных разных типов. Элементы данных называют полями структуры. Каждое поле структуры служит для описания некоторого свойства объекта, описываемого с помощью структуры.

Для создания структуры необходимо создать структурированный тип данных. На языке С++ он описывается следующим образом:

struct имя_типа

{тип_поля1 имя поля1;

тип_поля2 имя поля2;

тип_поля3 имя поля3;

};

Пример структурированного типа

struct Person

{char fam[10];

 int age;

}

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

Пример структурированных переменных, указателей и массивов

Person A;

Person B[3];

Person *p;

Очевидно, что формат  описания переменной нового типа данных практически ничем не отличается от переменной, например, целочисленного типа данных:

int i;

Для доступа к полям структуры используется операция .

Формат операции . следующий:

Имя_структуры.имя_поля

Пример доступа к полям структур

A.age=25;

Доступ к полям структур, являющихся элементами массива структур, выглядит следующим образом:

имя_массива[номер_структуры].имя_поля

Пример доступа к полям структур в массиве структур

B[1].age=30;

Над структурами стандартом языка С разрешена только операция присваивания. Все остальные операции могут быть только над полями структуры.

Действия над структурами

Обычно действия над структурами и массивами оформляется в виде отдельных функций. Сами структуры или адреса массивов структур передаются в функции через параметры.

Пример программы вычисления среднего значения поля age по массиву структур

#include <stdio.h>

#include <conio.h>

struct Person

{char fam[10];

 int age;

}

int fSred(Person *p, int n);

int fSred(Person *p, int n)

{

int i, s=0;

for(i=0; i<n;i++)

s+=p[i];

return(s/n);

}

main()

{

Person B[3];

int n =3, i, sr;

for(i=0; i <n;i++)

{printf("Input name");

  scanf("%s",p[i].fio);

  printf("Input age");

  scanf("%d",&p[i].age);

}

sr=fSred(B,3);

printf (sr="%d\n",sr);

getch( );

}

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

Объединение данных и действий над ними в виде класса, в котором вводятся ограничения на доступ к данным, породило технологию объектно-ориентированного программирования.


 

А также другие работы, которые могут Вас заинтересовать

41840. Исследование конструкции системы отопления пассажирского вагона 588.5 KB
  Цель занятия: Исследовать конструкцию основных элементов системы отопления пассажирского вагона. Котел системы отопления. Схемы систем отопления.
41841. Поиск информации в сети Internet 344.59 KB
  В дополнение к этому существует ряд альтернативных средств поиска способных вам пригодиться включая утилиты которые работая совместно с браузером добывают информацию из Web и так называемые экспертные узлы где с вашими запросами работают живые люди. Поисковые машины и каталоги При всем изобилии методов поиска в Internet наиболее распространенными средствами нахождения информации попрежнему остаются поисковые машины и каталоги. Поисковые машины – это комплекс специальных программ для поиска в сети. Хранит ссылки на страницы словарь...
41842. Основные характеристики и испытание интегральных преобразователей кодов (дешифратора, шифратора, демультиплексора и мультиплексора) 457.22 KB
  На одном из m выходов дешифратора появляется логическая 1 а именно на том номер которого соответствует поданному на вход двоичному коду. На всех остальных выходах дешифратора выходные сигналы равны нулю. Условное изображение дешифратора 4х16 читаемого четыре в шестнадцать на схемах дано на рис.
41843. Изучение и анализ конструкций коробок передач транспортных автомобилей 81.94 KB
  Контрольные вопросы дайте классификацию коробкам передач назначение устройство и принцип работы двух и трехвальной механической коробки передач устройство и работа гидромеханической коробки передач конструктивные особенности различных видов коробок передач их преимущества и недостатки применяемые материалы для изготовления элементов и узлов коробок передач назначение устройство и работа синхронизаторов автомобилей ВАЗ и ЗиЛ каким образом предотвращают произвольное выключение передач каким образом предотвращают...
41845. Назначение и устройство узлов и агрегатов 209.85 KB
  Назначение и устройство узлов и агрегатов Топливный насос высокого давления предназначен для подачи к форсункам двигателя порций топлива под высоким давлением в определенной последовательности. На передней части топливного насоса высокого давления установлен всережимный регулятор который изменяя количество подаваемого топлива в зависимости от нагрузки поддерживает заданную водителем частоту вращения коленчатого вала двигателя. На заднем конце кулачкового вала насоса расположена муфта впрыска топлива...
41846. Поиск информации на государственных образовательных порталах 144.88 KB
  Поиск информации на государственных образовательных порталах Лит. Листов 8 Тема: Поиск информации на государственных образовательных порталах Цель: изучение информационной технологии организации поиска информации на государственных образовательных порталах. В таких службах используется обычный принцип поиска в неструктурированных документах– по ключевым словам. Поисковая система– это комплекс программ и мощных компьютеров способные принимать анализировать и обслуживать запросы пользователей по...
41847. ИССЛЕДОВАНИЕ ОПЕРАЦИОННЫХ УСИЛИТЕЛЕЙ И СХЕМ НА ЕГО ОСНОВЕ 119.73 KB
  Изучение принципов построения схем сумматора вычитающего устройства дифференцирующего устройства с использованием операционного усилителя. Рисунок 1 Схема электрическая принципиальная усилителя Рисунок 2 – Осциллограмма суммирующего устройства. Uвх t Uвх t Рисунок 3 – Осциллограмма вычитающего устройства. Uвх t Рисунок 4 – Осциллограмма интегрирующего устройства.