Лекция 10 Структуры. Классификация типов данных Простые Целые, вещественные, void, перечисления Являются атомарными не состоят из других типов Адресные.

Презентация:



Advertisements
Похожие презентации
Функции Функция – именованная последовательность описаний и операторов, выполняющая некоторое действие. Может иметь параметры и возвращать значение. Функция.
Advertisements

Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
Лекция 9 Приведение типов. Классификация типов Типы С++ Пользовательские Встроенные (Фундаментальные) Адресные Арифтметические void Указатели Ссылки Массивы.
Лабораторная работа 4. Подпрограммы. Задание на лабораторную работу Написать программу, реализующую хранение информации, указанной в вариантах индивидуальных.
Структуры и алгоритмы обработки данных Лекция. Структуры. Связные списки. Заикин Олег Сергеевич zaikin.all24.org.
Практическое занятие 6. Функции. Большинство языков программирования используют понятия функции и процедуры. C++ формально не поддерживает понятие процедуры,
Лекция 7 Приведение типов. Классификация типов Типы С++ Пользовательские Встроенные (Фундаментальные) Адресные Арифтметические void Указатели Ссылки Массивы.
Статичні структури даних.. 2 Статические данные переменная (массив) имеет имя, по которому к ней можно обращаться размер заранее известен (задается при.
Лекция 8 Область видимости Время жизни. Область видимости Область видимости – характеристика именованного объекта Область видимости - часть текста программы,
МАССИВЫ 4 Определение 4 Описание 4 Обращение к элементам массива 4 Связь массивов с указателями 4 Примеры программ.
Лекция 14 Динамические данные. Виды памяти Существует три вида памяти: статическая, стековая и динамическая. Статическая память выделяется еще до начала.
Лекция 2Лекция 2Структура программы Директивы препроцессора main () { Описания переменных Операторы }
Краткое введение в язык программирования С Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Томский политехнический университет.
Защита от взлома Лекция 10Защита от взлома Лекция 10.
Массивы и строки Лекция 5. Одномерные массивы. Объявление. Общая форма объявления: тип имя_переменной[размер]; Пример: double balance[100]; balance[3]
Лекция 5 Адресные типы. Указатели адрес (размещение в памяти) объекта Массивы последовательность однотипных данных Ссылки альтернативное имя объекта.
Программирование на языке Паскаль ЗАПИСИ в Паскале (RECORD)
В языках высокого уровня обращение к ячейкам памяти происходит не через числовые адреса, а посредством описательных имен. Такие имена называются переменными.
Лекция 14 Динамические данные. Виды памяти Существует три вида памяти: статическая, стековая и динамическая. Статическая память выделяется еще до начала.
Транксрипт:

Лекция 10 Структуры

Классификация типов данных Простые Целые, вещественные, void, перечисления Являются атомарными не состоят из других типов Адресные Указатели, массивы, ссылки Порождаются другими типами Составные Структуры, объединения Состоят из данных других типов

Задача составных типов Представление свойств сущности Пример: Животное Кличка Тип Порода Группировка различных данных в одной переменной Пример: Точка на плоскости: координата по x координата по y цвет

Структуры vs массивы Массив Последовательность однотипных данных Структура Последовательность разнотипных данных

Задание структуры Объявление структуры Определение структуры Безымянные структуры struct Point ; struct Point { int x ; int y ; }; struct Point { int x ; int y ; }; struct { int head ; int tail ; }; struct { int head ; int tail ; };

Правила определения структур Общепринято задание вне функций Применение локальных структур очень ограниченно и никогда не используется. Задают тип, а не переменную Чтобы обратиться к данным, необходимо иметь переменную данного типа Данные хранятся в порядке указания Порядок объявления данных определяет порядок создания и размещения данных в памяти

Использование структур (POD) Создание переменной Инициализация Обращение к полям Point p1 ; Point p2 ; Point p1 ; Point p2 ; p1.x = 4 ; p2.x = 3 ; p2.y = p1.y = 8 ; p1 = p2 ; p1.x = 4 ; p2.x = 3 ; p2.y = p1.y = 8 ; p1 = p2 ; Point p3 = { 3, 8 }; Point p4 = { 7, 1 }; Point p3 = { 3, 8 }; Point p4 = { 7, 1 };

Пример struct Point { int x ; int y ; }; int crossProduct ( Point const & a, Point const & b ) { return a.x * b.x + a.y * b.y ; } void main () { Point pts[3]={{0,0},{1,1},{2,2}}; bool acute = true ; for ( int i = 0 ; i < 3; ++i ) if ( crossProduct( pts[i], pts[(i+1)%3] ) ) acute = false ; } struct Point { int x ; int y ; }; int crossProduct ( Point const & a, Point const & b ) { return a.x * b.x + a.y * b.y ; } void main () { Point pts[3]={{0,0},{1,1},{2,2}}; bool acute = true ; for ( int i = 0 ; i < 3; ++i ) if ( crossProduct( pts[i], pts[(i+1)%3] ) ) acute = false ; }