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

}

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

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


 

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

47521. ГРОШІ ТА КРЕДИТ 162 KB
  Сутність та функції грошей СУТНІСТЬ ТА ФУНКЦІЇ ГРОШЕЙ Походження та сутність грошей. Форми грошей та їх еволюція. Формування цінності неповноцінних грошей.
47523. Бухгалтерский учет, анализ и аудит. Методические рекомендации 333 KB
  Рекомендуемая тематика и планы дипломных работ по бухгалтерскому учету аудиту и экономическому анализу Цель и задачи дипломной работы Подготовка и защита дипломной работы является завершающим этапом учебного процесса по подготовке специалистов высокой квалификации в области бухгалтерского учета экономического анализа и аудита. Задачами дипломной работы являются: Систематизация расширение и закрепление полученных теоретических знаний и практических навыков по бухгалтерскому учету экономическому анализу и аудиту; Овладение методикой...
47524. Дипломные работы. Методика проведения и оформления 791.5 KB
  Учебное пособие знакомит студентов с требованиями, которые предъявляются к дипломной работе на всех этапах ее создания. Учебное пособие поможет правильно выбрать и сформулировать тему исследования, подобрать литературу, написать текст, оформить его, успешно защитить свою работу. В пособии содержится большое количество примеров, иллюстрирующих наиболее важные аспекты создания научного произведения.
47525. Методические указания. Информационные системы и технологии 156 KB
  Акмуллы Институт профессионального образования и информационных технологий МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ И ОФОРМЛЕНИЮ КВАЛИФИКАЦИОННОЙ ДИПЛОМНОЙ РАБОТЫ Специальность 230201 Информационные системы и технологии Уфа 2012 Методические указания по выполнению и оформлению квалификационной дипломной работы предназначенной для студентов дневной обучения по специальности 230201 Информационные системы и технологии. Организация написания дипломной работы 1. Структура дипломной работы и правила...
47528. Методичні рекомендації. Банківська справа 411 KB
  Укладачі: Пшик Богдан Іванович кандидат економічних наук доцент Рисін Віталій Васильович кандидат економічних наук доцент Рецензенти: Слав’юк Ростислав Анатолійович доктор економічних наук професор заступник директора з наукової роботи Вербицька Тетяна Петрівна заступник директора Львівської філії АТ Укрінбанк†кандидат економічних наук Відповідальна за випуск: Табачук Галина Прокопівна кандидат економічних наук...