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( );

}

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

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


 

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

19505. Этапы построения локальных систем автоматизации. Краткая характеристика этапов 24.5 KB
  Этапы построения локальных систем автоматизации. Краткая характеристика этапов. 1.Анализ технологического процесса как объекта управления выявление его существенных особенностей важных с точки зрения задач автоматизации. На этом этапе: – Определяется производ
19506. Методологические принципы проектирования АСУТП 27.5 KB
  Методологические принципы проектирования АСУТП Разработка проекта заключается в координации всей работы головной организацией несущей ответственность за внедрение АСУ в целом. Проект АСУТП – это модель будущей системы в терминах некоторых языков схемы т...
19507. Что называется автоматическим управлением? Структурная схема замкнутой системы автоматического управления 34 KB
  Что называется автоматическим управлением Структурная схема замкнутой системы автоматического управления Управление каким либо объектом это воздействие на него в целях достижения требуемых процессов или состояний. В качестве объекта можем рассматриваться люба...
19508. Принципы управления 51 KB
  Принципы управления Основные принципы автоматического управления. Рассмотрим 3 принципа. разомкнутое управление Принцип конденсации. Принцип обратной связи Разомкнутое управление Принцип разомкнутого управления. Обеспечивает достаточно в...
19509. Переходная характеристика объекта. Кривая разгона 25.5 KB
  Переходная характеристика объекта. Кривая разгона. Переходная характеристика обозначается ht и представляет собой переходный процесс изменения во времени выходного сигнала при подаче на вход объекта единичного ступенчатого воздействия. Единичное воздействие – э
19510. Импульсная переходная ункция 23.5 KB
  Импульсная переходная ункция. Импульсная функция обозначает ωt представляет собой реакцию объекта на единичный импульс. Единичный импульс – это сигнал высота которого равна бесконечности при ширине равной 0. Площадь единичного импульса равна 1 Связь между переходн
19511. Передаточная функция 35.5 KB
  Передаточная функция Одной из основных характеристик объектов широко применяемых в ТАУ является передаточная функция. Передаточной функцией называют отношение преобразованное по Лапласу выходного к преобразованному по Лапласу входному сигналов. Передаточная функ
19512. Частотные характеристики 43.5 KB
  Частотные характеристики. Эти характеристики описывают установившиеся вынужденные колебания на выходе объекта при подаче на его вход гармонического воздействия. Пусть на вход объекта подаётся гармонический сигнал следующего вида: А – амплитуда ω – угловая частота. П...
19513. Статическое идеальное звено 6.88 MB
  Статическое идеальное звено. Идеальное статическое звено: Усилительное или пропорциональное Эго уравнение и в статике и в динамике имеет вид: Таким образом сигнал усилительного звена в любой момент времени равен входному сигналу умноженного на постоянный коэффиц...