|
Программирование >> Структурное программирование
глава Биты, символы, строки и структуры ▼ Цели Научиться создавать и использовать структуры. Научиться передавать структуры в функции вызовом по ссылке и ВЫЗОВОМ по значению. Научиться манипулировать данными с помощью поразрядных операций и создавать битовые поля для компактного хранения данных. Научиться использовать функции библиотеки обработки символов (ctype), библиотеки утилит общего назначения (stdlib) и библиотеки обработки строк (string). Оценить мощность библиотек функций как средства повторного использования программного обеспечения. Резюме Терминология Типичные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Замечания по мобильности Упражнения для самопроверки Ответы на упражнения для самопроверки Упражнения 16.1. Введение в этой г.яаве мы сначала приведем дополнительные сведения о структурах, а затем обсудим работу с битами, символами и строками. Структуры могут содержать переменные разных типов данных в отличие от массивов, которые включают только элементы одного типа. Этот факт и значительная часть того, что мы скажем о структурах в следующих нескольких разделах, применимо в равной степени и к классам. Вообще говоря. План 16.1. Введение 16.2. Описание структур 16.3. Инициализация структур 16.4. Использование структур в функциях 16.5. Создание синонимов 16.6. Пример: эффективное моделирование тасования и раздачи карт 16.7. Поразрядные операции 16.8. Битовые поля 16.9. Библиотека обработки символов 16.10. Функции преобразования строк 16.11. Функции поиска из библиотеки обработки строк 16.12. Функции работы с памятью из библиотеки обработки строк 16.13. Другие функции библиотеки обработки строк единственное реальное различие между структурами и классами в языке С++ состоит в том, что к элементам структуры по умолчанию доступ является открытым, а к элементам класса - закрытым. Обычно структуры используются для определения записей данных, которые должны быть сохранены в файлах (см. главу 14, Обработка файлов и ввод-вывод потоков строк ). Указатели и структуры облегчают создание более сложных структур данных, таких как связные списки, очереди, стеки и деревья (см. главу 15 Структуры данных ). Мы обсудим, как объявлять структуры, инициализировать их и передавать функциям. Затем мы представим быструю программную модель тасования и раздачи карт. 16.2. Описание структур Рассмотрим следующее описание структуры: struct Card { char *face; char *suit; Ключевое слово struct открывает описание структуры Card. Идентификатор Card является именем структуры и используется в С++ для объявления переменных типа структуры (в языке С именем типа приведенной выше структуры было бы struct Card). Данные (иногда и функции, как в классах), объявленные в фигурных скобках описания структуры, являются элементами структуры. Элементы одной структуры должны иметь уникальные имена, но две разные структуры могут включать элементы с одинаковыми именами, не конфликтующими друг с другом. Каждое объявление структуры должно завершаться точкой с запятой. Типичная ошибка программирования 16.1 Забывают поставить точку с запятой после окончания объявления структуры. Описание структуры Card включает два элемента типа char *, а именно: face и suit. Элементами структуры могут быть переменные базовых типов данных (например, int, float и т.д.) или составные данные, например, массивы, а также другие структуры. Как мы видели в главе 4, все элементы массива должны быть одного типа. Однако данные-элементы структуры могут быть разного типа. Например, структура Employee (служащие) может включать как элементы строки символов для имени и фамилии, элемент типа int для возраста служащего, элемент типа char, содержащий символы М или Ж для обозначения пола служащего, элемент типа float для обозначения почасового оклада и т.д. Структура не может включать саму себя. Например, в описании структуры Card не может быть объявлена переменная типа структуры Card. Тем не менее может быть включен указатель на структуру типа Card. Структура, содержащая элемент, который является указателем на тот же самый тип структуры, называется структурой с самоадресацией. Структуры с самоадресацией использовались в главе 15 для построения разных типов структур со связными данными.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |