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

}

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

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


 

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

47303. Теория и методика преподавания иностранных языков и культур 125.5 KB
  Методическое пособие по подготовке и защите выпускной квалификационной работы для студентов специальностей 031201. кандидат педагогических наук Челябинск 2008 НАЗНАЧЕНИЕ ВЫПУСКНОЙ КВАЛИФИКАЦИОННОЙ РАБОТЫ ОБЩИЕ ТРЕБОВАНИЯ ПО СОДЕРЖАНИЮ РАБОТЫ Одним из видов итоговой аттестации выпускника специальностей ТИМ и Перевод и переводоведение является защита выпускной квалификационной работы которая выполняется в форме дипломной работы. Написание дипломной работы имеет целью: систематизацию закрепление и расширение...
47304. Промышленное и гражданское строительство 404 KB
  Методические указания разработаны с учетом содержания учебного плана ГОУ ВПО ТюмГАСУ составленного на основании Государственного образовательного стандарта высшего и профессионального образования требований кафедры СПОФ и смежных кафедр к содержанию и объему соответствующих разделов дипломного проекта для студентов очной и заочной форм обучения специальности 270102 Промышленное и гражданское строительство.3 Методика работы над дипломным проектом. 7 2 Разработка отдельных разделов дипломного проекта.2 Вариантное...
47306. Основы обороны государства 807.2 KB
  Россия – одна из крупнейших стран мира, имеющая богатые исторические и культурные традиции. Ее экономический, научно–технический и военный потенциал, уникальное географическое положение на Евразийском континенте позволяют Российской Федерации играть важную роль в современном мире.
47307. Анализ производственной деятельности ОАО «Уссурремтехснаб» 1.19 MB
  В процессе выполнения сельскохозяйственных работ детали и узлы машин изнашиваются. Износ деталей вызывает простои машин из-за технических неисправностей и нарушение агротехнических сроков. Снижается качество работы, падает производительность и увеличиваются расходы на содержание машин.
47308. Обзор диагностических аппаратов медицинского назначений 438 KB
  Большое значение в медицине имеет развитие микропроцессорной техники. Это однокристальные системы, ориентированные на использование в функциях управления разными приборами контроля. Количество микроконтроллеров, выпускаемых сегодня, почти в 10 раз превышает количество традиционных микропроцессоров (МП).
47310. Разработка программного обеспечения для автоматизации учета договоров купли-продажи новых автомобилей в автосалоне 509 KB
  В случае утраты покупателем документа, удостоверяющего право собственности на транспортное средство или номерной агрегат, продавец обязан по заявлению владельца и предъявлению им паспорта или другого документа, его заменяющего, выдать новый документ с пометкой "дубликат" с указанием серии, номера и даты ранее выданного документа
47311. ПОДГОТОВКА КЕРАМИЧЕСКИХ ПЛИТОК К УКЛАДКЕ. СОРТИРОВКА КЕРАМИЧЕСКИХ ПЛИТОК 2.69 MB
  ПОДГОТОВКА КЕРАМИЧЕСКИХ ПЛИТОК К УКЛАДКЕСОРТИРОВКА КЕРАМИЧЕСКИХ ПЛИТОК Состав технологических операций. Сортировка плиток по размерам калибровка цвету и оттенку качеству лицевой поверхности; выбраковка дефектных плиток. Укладка отсортированных плиток в контейнеры или ящикикассеты. Шаблоны и приспособления для сортировки плиток.