Вопросы
Набор для практики
Краткие итоги
Ключевые термины
Адрес объекта –это адрес области оперативной памяти, по которому хранится объект в соответствии с особенностями представления типа.
Инициализация указателя– это определение значения указателя.
Косвенная адресация– этообращение к области памяти не напрямую, по адресу, а через объект, которому в памяти соответствует определенный участок.
Непосредственно производные типы – это типы, которые являются производными от некоторых существующих типов, реализуя типы указателей, ссылки, функции преобразования типов.
Переименование типов– это задание нового имени для существующего типа.
Производные типы данных – это типы, полученные на основе более простых базовых типов.
Разыменование– это операция получения значения объекта, адрес которого хранится в указателе;
Составные производные типы – это типы, являющиеся производными от различных существующих или ранее объявленных типов.
Указатель – это именованный объект, предназначенный для хранения адреса области памяти.
Указатель на константу– это указатель на такой объект, значение которого нельзя изменить в процессе выполнения программы.
Указатель-константа– это указатель, значение которого нельзя изменить в процессе выполнения программы.
Указатель-константа на константу– это указатель, для которого невозможно изменение как самого указателя, так и значения адресуемого объекта.
1.В языке С++ производные типы данных классифицируют в зависимости от построения на производные и непосредственно производные.
2.Для экономии памяти и времени, затрачиваемого на обращение к данным, в программах используют указатели на объекты.
3.Указатель не является самостоятельным типом, он всегда связан с другим типом.
4.Указатель может быть константой или переменной, а также указывать на константу или переменную.
5.Указатель типа void указывает на область памяти любого размера. Разыменование такого указателя необходимо проводить с операцией приведения типов.
6.До первого использования в программе объявленный указатель необходимо проинициализировать.
7.С помощью указателей можно выполнять косвенную адресацию объектов.
8.Над указателями определены операции: разыменование, взятие адреса, декремент, инкремент, увеличение (уменьшение) на целую константу, разность, определение размера.
9.Над указателями определены операции сравнения.
1. Почему указатель не может существовать как самостоятельный тип?
2. С какой целью в программе может быть использован указатель типа void?
3. Что будет являться результатом разыменования указателя типа void без приведения типов?
4. Как изменится значение указателя после применения к нему операции инкремента (декремента)?
5. Почему для указателей определены сложение и вычитание только с целыми константами?
6. В чем отличие указателя на константу от указателя-константы?
7. Два указателя разных типов указывают на одно и то же место в памяти. Сравните результаты операций разыменования и взятия адреса с такими указателям. Сравните значения указателей.
8. Если объект занимает в памяти несколько байтов, то какой адрес является значением указателя на этот объект?
9. Каким образом при разыменовании указателей становится известно, сколько байтов памяти доступно?