Урок №26.1 Создаём Структуру модели объектов реального мира

12+
12+

16 часов назад

ПожаловатьсяНарушение авторских прав
12+
12+

16 часов назад

ПожаловатьсяНарушение авторских прав
12+
12+

16 часов назад

План видео-урока: Структуры в С 1. Введение: Что такое структура? Определение: Структура — это пользовательский тип данных, который описывает последовательно расположенный набор объектов-членов, имеющих собственные имена и, возможно, различные типы. Зачем нужны структуры: Они позволяют группировать связанные переменные в один блок данных, что критически важно для организации сложных данных в крупных программах (например, для записи платежной ведомости или координат). Логическое представление: Структуру можно представить как «полку» с названием, на которой лежат разные элементы данных. 2. Объявление и синтаксис Ключевое слово struct: Объявление начинается со слова struct, за которым следует имя (тег) и фигурные скобки с членами структуры. Правила: Объявление структуры должно заканчиваться точкой с запятой после закрывающей фигурной скобки. Важное ограничение: Члены структуры не могут быть инициализированы непосредственно внутри её объявления. Пример: Создание структуры coords с членами x и y типа int. 3. Определение объектов и доступ к членам Создание переменных: После объявления типа можно создавать переменные (экземпляры), например: struct coords point; Оператор «точка» (.): Для доступа к конкретному члену структуры используется имя переменной, точка и имя члена (например, point.x). L-значения: Каждый отдельный член структуры является L-значением, то есть объектом, которому можно присвоить данные. 4. Инициализация структур Списки в фигурных скобках: Инициализировать структуру можно при объявлении, передав список значений через запятую в скобках {}. Порядок: По умолчанию члены инициализируются в порядке их объявления. Назначенная инициализация (Designated Initializers): Для прозрачности кода можно явно указывать имена членов при инициализации, например: {.x = 5, .y = 8} Объявление нескольких объектов: Можно создавать несколько экземпляров сразу при определении структуры, перечисляя их через запятую перед финальной точкой с запятой. 5. Использование typedef для структур Упрощение кода: Ключевое слово typedef позволяет создать псевдоним для типа структуры, чтобы в дальнейшем не писать слово struct при каждом объявлении переменной. Синтаксис: typedef struct { ... } Point; Рекомендация: Имена типов, созданных через typedef, часто пишут с большой буквы для отличия от обычных переменных. 6. Вложенные структуры и сложные типы Вложенность: Структура может содержать в себе другие структуры в качестве членов. Доступ: Для обращения к глубоко вложенным данным используются последовательные точки: box.point_a.x Массивы и строки: Структуры могут включать в себя массивы символов или указатели на строки. Использование указателя char *str в структуре часто эффективнее массива, так как позволяет присваивать целые строковые литералы после объявления. 7. Указатели на структуры и оператор «стрелка» Адресация: Указатель на структуру хранит адрес начала блока памяти, где лежат её данные. Оператор →: При работе через указатель оператор «точка» заменяется на «стрелку» (например, ptr→name), что эквивалентно записи (*ptr).name Пример использования: Программа, где указатель City *pntr последовательно адресует разные объекты городов. 8. Передача структур в функции По значению: Функция получает копию структуры; изменения внутри функции не затрагивают оригинал. Это неэффективно для крупных структур, так как требует копирования всей памяти. По ссылке (через указатель): Функция работает с оригиналом в памяти машины; это быстрее и требует памяти только под один адрес (указатель). 9. Память и выравнивание Функция sizeof(): Возвращает общий размер структуры в байтах. Выравнивание (Padding): Общий размер может быть больше суммы размеров членов из-за автоматического добавления «прослоек» выравнивания компилятором для оптимизации работы процессора. Сравнение с union: В отличие от структур, где все члены хранятся одновременно, в объединениях (union) все члены используют одну и ту же область памяти, накладываясь друг на друга. 10. Заключение и правила хорошего тона Самодокументированный код: Следует давать членам и типам структур осмысленные имена. Безопасность: Рекомендуется инициализировать структуры сразу при объявлении, чтобы избежать работы с «мусорными» данными в памяти. Правила от NASA: По возможности ограничивайте использование сложных указателей и глубокой вложенности для повышения надёжности кода. --- Купить учебник для новичков в программировании на языке С https://6767864766974.blacksea.in.ua/l/ml

Название:

Урок №26.1 Создаём Структуру модели объектов реального мира

Категория:

Разное