🗊Презентация Структуры данных

Нажмите для полного просмотра!
Структуры данных, слайд №1Структуры данных, слайд №2Структуры данных, слайд №3Структуры данных, слайд №4Структуры данных, слайд №5Структуры данных, слайд №6Структуры данных, слайд №7Структуры данных, слайд №8Структуры данных, слайд №9Структуры данных, слайд №10Структуры данных, слайд №11Структуры данных, слайд №12Структуры данных, слайд №13Структуры данных, слайд №14Структуры данных, слайд №15Структуры данных, слайд №16Структуры данных, слайд №17Структуры данных, слайд №18Структуры данных, слайд №19Структуры данных, слайд №20Структуры данных, слайд №21Структуры данных, слайд №22Структуры данных, слайд №23Структуры данных, слайд №24Структуры данных, слайд №25Структуры данных, слайд №26

Содержание

Вы можете ознакомиться и скачать презентацию на тему Структуры данных. Доклад-сообщение содержит 26 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Шестое занятие
Структуры данных
Описание слайда:
Шестое занятие Структуры данных

Слайд 2





Что такое структура?
В языке Си, структура (struct) — композитный тип данных, инкапсулирующий без сокрытия набор значений различных типов. Порядок размещения значений в памяти задаётся при определении типа и сохраняется на протяжении времени жизни объектов, что даёт возможность косвенного доступа (например, через указатели)
Описание слайда:
Что такое структура? В языке Си, структура (struct) — композитный тип данных, инкапсулирующий без сокрытия набор значений различных типов. Порядок размещения значений в памяти задаётся при определении типа и сохраняется на протяжении времени жизни объектов, что даёт возможность косвенного доступа (например, через указатели)

Слайд 3





Структура
Имеет фиксированный размер
Тот же набор байт только больше
Создание на стеке
Создание в сегменте данных
Создание массивов
Создание указателя на структуру
Динамический массив
Описание слайда:
Структура Имеет фиксированный размер Тот же набор байт только больше Создание на стеке Создание в сегменте данных Создание массивов Создание указателя на структуру Динамический массив

Слайд 4





Пример использования
Описание слайда:
Пример использования

Слайд 5





Либо
Описание слайда:
Либо

Слайд 6





Структура в памяти
Int a;
float b;
double c;
Описание слайда:
Структура в памяти Int a; float b; double c;

Слайд 7





Размещение структуры
Описание слайда:
Размещение структуры

Слайд 8





Первичная инициализация.
Создание экземпляра структуры придерживается тем же правила что и создание переменных:
Глобальные объявления зануляются(т.к. выделены в сегменте данных), а значит все переменные внутри так же равняются нулю
При локальном объявлении(в теле функции) память резервируется в стеке а значит поля структуры будут инициализированы мусором.
Описание слайда:
Первичная инициализация. Создание экземпляра структуры придерживается тем же правила что и создание переменных: Глобальные объявления зануляются(т.к. выделены в сегменте данных), а значит все переменные внутри так же равняются нулю При локальном объявлении(в теле функции) память резервируется в стеке а значит поля структуры будут инициализированы мусором.

Слайд 9





Первичная инициализация
Описание слайда:
Первичная инициализация

Слайд 10





Практика
Напишем функцию которая распечатает данные структуры Person состоящую из полей: firstName, lastName, age, sex
Описание слайда:
Практика Напишем функцию которая распечатает данные структуры Person состоящую из полей: firstName, lastName, age, sex

Слайд 11





#define
Директива #define определяет идентификатор и последовательность символов, которой будет замещаться данный идентификатор при его обнаружении в тексте программы. Стандартный вид директивы следующий:
#define имя_макроса последовательность_символов
Описание слайда:
#define Директива #define определяет идентификатор и последовательность символов, которой будет замещаться данный идентификатор при его обнаружении в тексте программы. Стандартный вид директивы следующий: #define имя_макроса последовательность_символов

Слайд 12





#define
Описание слайда:
#define

Слайд 13





typedef
Объявление typedef, которое содержит имя, которое внутри своей области является синонимом для типа, указанного частью объявления type-declaration.
Описание слайда:
typedef Объявление typedef, которое содержит имя, которое внутри своей области является синонимом для типа, указанного частью объявления type-declaration.

Слайд 14





typedef
Описание слайда:
typedef

Слайд 15





Динамическое выделение памяти под структуры
Описание слайда:
Динамическое выделение памяти под структуры

Слайд 16





Не все так очевидно
Сколько весит структура?
Описание слайда:
Не все так очевидно Сколько весит структура?

Слайд 17





Выравнивание данных
Смещение данных в структуре до адреса кратного их размеру.
Описание слайда:
Выравнивание данных Смещение данных в структуре до адреса кратного их размеру.

Слайд 18





Скучный Интересный факт
На процессорах x86 и ARM примитивные типы не могут находиться в произвольной ячейке памяти. Каждый тип, кроме char, требует выравнивания. char может начинаться с любого адреса, однако двухбайтовый short должен начинаться только с четного адреса, четырехбайтный int или float — с адреса, кратного 4, восьмибайтные long или double — с адреса, кратного 8. Наличие или отсутствие знака значения не имеет. Указатели — 32-битные (4 байта) или 64-битные (8 байт) — также выравниваются.
Описание слайда:
Скучный Интересный факт На процессорах x86 и ARM примитивные типы не могут находиться в произвольной ячейке памяти. Каждый тип, кроме char, требует выравнивания. char может начинаться с любого адреса, однако двухбайтовый short должен начинаться только с четного адреса, четырехбайтный int или float — с адреса, кратного 4, восьмибайтные long или double — с адреса, кратного 8. Наличие или отсутствие знака значения не имеет. Указатели — 32-битные (4 байта) или 64-битные (8 байт) — также выравниваются.

Слайд 19





Пример
Описание слайда:
Пример

Слайд 20





Можно но не нужно
Можно убрать выравнивание с помощью выражения
#pragma pack(1)
Описание слайда:
Можно но не нужно Можно убрать выравнивание с помощью выражения #pragma pack(1)

Слайд 21





Оптимизация
Данные отсортированы по объему, от большего к меньшему
Описание слайда:
Оптимизация Данные отсортированы по объему, от большего к меньшему

Слайд 22





Списки
Структуры не могу содержать в себе другие структуру того же типа, но могут содержать ссылки на них.
Описание слайда:
Списки Структуры не могу содержать в себе другие структуру того же типа, но могут содержать ссылки на них.

Слайд 23





Списки
Список – цепочка элементов связанных между собой ссылками
Описание слайда:
Списки Список – цепочка элементов связанных между собой ссылками

Слайд 24





Посмотрим на практике.
Напишем программу в которую можно вводить не *ограниченное кол-во координат точек, концом ввода будет отрицательное число, после чего программа распечатывает все точки.
Описание слайда:
Посмотрим на практике. Напишем программу в которую можно вводить не *ограниченное кол-во координат точек, концом ввода будет отрицательное число, после чего программа распечатывает все точки.

Слайд 25





Виды списка
Односвязные – каждый элемент списка имеет ссылку лишь на следующий элемент.
Двусвязные – каждый элемент списка имеет ссылку на следующий и предыдущий элементы.
Описание слайда:
Виды списка Односвязные – каждый элемент списка имеет ссылку лишь на следующий элемент. Двусвязные – каждый элемент списка имеет ссылку на следующий и предыдущий элементы.

Слайд 26





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



Похожие презентации
Mypresentation.ru
Загрузить презентацию