Читать онлайн «Основы программирования. Указатели. Динамические структуры данных. Абстрактные типы данных. Классы. Методические указания для студентов 1 курса факультета математики, механики и компьютерных наук»

Автор С. С. Михалкович

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Федеральное государственное образовательное учреждение высшего профессионального образования «ЮЖНЫЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ» С. С. Михалкович Основы программирования Указатели. Динамические структуры данных. Абстрактные типы данных. Классы МЕТОДИЧЕСКИЕ УКАЗАНИЯ для студентов 1 курса факультета математики, механики и компьютерных наук Ростов-на-Дону 2007 3 Аннотация Методические указания содержат лекции по темам «Указатели», «Динами- ческие структуры данных», «Абстрактные типы данных» курса «Основы про- граммирования» для студентов направления «Информационные технологии» фа- культета математики, механики и компьютерных наук Методические указания разработаны кандидатом физико-математических наук, доцентом кафедры алгебры и дискретной математики Михалковичем С. С. Печатается в соответствии с решением кафедры алгебры и дискретной ма- тематики факультета математики, механики и компьютерных наук ЮФУ, прото- кол № 3 от 13 ноября 2006 г. 4 1 Указатели 1. 1 Общие сведения Оперативная память компьютера может рассматриваться как массив байтов, индексируемый от нуля. Номер каждого байта в этом массиве называется его ад- ресом. Адресом переменной называется адрес ее первого байта. Переменные, в которых хранятся адреса, называются указателями. Любой указатель в 32-разрядной операционной системе занимает 4 байта.
Это дает воз- можность адресовать 2 32 = 4 Гб ячеек памяти. С переходом на 64-битные системы объем адресуемой оперативной памяти станет практически безграничным. Для чего нужны указатели? Их использование повышает гибкость програм- мирования и разграничивает обязанности: указатель знает лишь адрес перемен- ной, сама переменная может менять свое значение независимо от наличия указа- теля на нее. Можно провести аналогию между указателями и справочной службой 09. Клиент обращается в справочную службу для того, чтобы узнать номер теле- фона абонента. Другими словами клиент обращается к указателю, который знает адрес объекта и, следовательно, может вернуть значение этого объекта (в данном случае – номер телефона). Гибкость такого способа очевидна: не следует помнить номера всех телефонов, достаточно знать номер телефона справочной. Кроме то- го, если номер телефона абонента будет изменен, то в справочной службе будет произведена оперативная корректировка информации, и при последующем обра- щении в службу клиент получит измененный номер телефона. Другой пример: не- сколько указателей (банкоматов) указывают на один объект (банковский счет). Посредством разных банкоматов можно снимать деньги с одного банковского счета. Третий пример: файловый указатель, который обращается всякий раз к те- кущему элементу файла, после чего перемещается на следующий.