Переименование типов
Текст лекции.
Лекция 4. Производные типы. Тип указатель: указатели на объекты.
Перелік джерел
Перелік стандартів
§ANSI X3.60-1978 «FOR MINIMAL BASIC»
§ISO/IEC 6373:1984 «DATA PROCESSING — PROGRAMMING LANGUAGES — MINIMAL BASIC»
§ANSI X3.113-1987 «PROGRAMMING LANGUAGES FULL BASIC»
§ISO/IEC 10279:1991 «INFORMATION TECHNOLOGY — PROGRAMMING LANGUAGES — FULL BASIC»
§ANSI X3.113 INTERPRETATIONS-1992 «BASIC TECHNICAL INFORMATION BULLETIN # 1 INTERPRETATIONS OF ANSI 03.113-1987»
§ISO/IEC 10279:1991/ Amd 1:1994 «MODULES AND SINGLE CHARACTER INPUT ENHANCEMENT»
§
A Manual for BASIC, the elementary algebraic language designed for use with the Dartmouth Time Sharing System (PDF). — Dartmouth College Computation Center, 1964.(англ.)
§Lien, David A. The Basic Handbook: Encyclopedia of the BASIC Computer Language 3rd ed.. — Compusoft Publishing, 1986. ISBN 0-932760-33-3.(англ.)
§Kemeny, John G. Back To BASIC: The History, Corruption, and Future of the Language. — С. 141 pp. — Addison-Wesley, 1985. ISBN 0-201-13433-0.(англ.)
§Sammet, Jean E. Programming languages: History and fundamentals. — Englewood Cliffs, N.J. : Prentice-Hall, 1969.(англ.)
← | |
E | ↑→ |
F | ↓→ |
G | ↓← |
H | ↑← |
Краткая аннотация лекции.
В лекции рассматриваются определение и виды указателей, способы объявления, инициализация указателей на объекты, методы доступа к данным через указатели, размещение указателей и адресуемых ими объектов в памяти, операции над указателями.
Цель лекции: изучить классификацию производных типов, тип указатель и соотношения между именами, адресами и значениями переменных, научиться использовать указатели в программных кодах на языке C++.
В языке С++ разрешено наряду со стандартными использование производных типов, полученных на основе более простых базовых типов. Производные типы можно условно подразделить на две группы:
Непосредственно производные типы. Эти типы являются производными от некоторых существующих типов, реализуя типы указателей, ссылки, функции преобразования типов. В группу непосредственно производных типов входят:
· массивы;
· указатели;
· ссылки;
· перечисления.
Составные производные типы. В группу составных производных типов входят типы, являющиеся производными от различных существующих или ранее объявленных типов:
· классы;
· структуры;
· объединения.
В некоторых программных кодах бывает удобно вводить новые обозначения имен отдельных используемых типов данных. Задавать новое имя типу можно с помощью ключевого слова typedef.
Синтаксис:
typedef Тип НовоеИмяТипа[Размерность];
Например:
typedef unsigned int UNIT;
typedef char Msg[100];
Такое имя можно затем использовать так же, как и стандартное имя типа:
UNIT a,b,c;//переменные типа unsigned int
Msg str[10];//массив из 10 строк по 100 символов
Рассмотрим тип указатель. Указатели являются специальными объектами в программах на С++. Они предназначены для хранения адресов памяти.
Рассмотрим пример (рис.1). Когда компилятор обрабатывает оператор определения переменной, например, int a=10;, то в памяти выделяется участок памяти в соответствии с типом переменной и записывается в этот участок указанное значение (размер типа int не менее 2 байтов и зависит от реализации). Все обращения к переменной a компилятор заменит на адрес области памяти, в которой хранится эта переменная. Операция &a является операцией взятия адреса ее операнда.
![]() |
Рис. 1. Адресация в С++
Программист может определить собственные переменные для хранения адресов областей памяти. Такие переменные называются указателями.
Указатель – именованный объект, предназначенный для хранения адреса области памяти (объекта, непоименованной области оперативной памяти либо точки входа в функцию).
Указатель не является самостоятельным типом, он всегда связан с каким-то другим типом. Указатели делятся на две категории:
· указатели на объекты;
· указатели на функции.
Эти категории указателей отличаются друг от друга свойствами и правилами манипулирования. Каждый указатель имеет соответствующий тип.