Вопросы

Набор для практики

Краткие итоги

Ключевые термины

Адрес объекта –это адрес области оперативной памяти, по которому хранится объект в соответствии с особенностями представления типа.

Инициализация указателя– это определение значения указателя.

Косвенная адресация– этообращение к области памяти не напрямую, по адресу, а через объект, которому в памяти соответствует определенный участок.

Непосредственно производные типы – это типы, которые являются производными от некоторых существующих типов, реализуя типы указателей, ссылки, функции преобразования типов.

Переименование типов– это задание нового имени для существующего типа.

Производные типы данных – это типы, полученные на основе более простых базовых типов.

Разыменование– это операция получения значения объекта, адрес которого хранится в указателе;

Составные производные типы – это типы, являющиеся производными от различных существующих или ранее объявленных типов.

Указатель – это именованный объект, предназначенный для хранения адреса области памяти.

Указатель на константу– это указатель на такой объект, значение которого нельзя изменить в процессе выполнения программы.

Указатель-константа– это указатель, значение которого нельзя изменить в процессе выполнения программы.

Указатель-константа на константу– это указатель, для которого невозможно изменение как самого указателя, так и значения адресуемого объекта.

 

1.В языке С++ производные типы данных классифицируют в зависимости от построения на производные и непосредственно производные.

2.Для экономии памяти и времени, затрачиваемого на обращение к данным, в программах используют указатели на объекты.

3.Указатель не является самостоятельным типом, он всегда связан с другим типом.

4.Указатель может быть константой или переменной, а также указывать на константу или переменную.

5.Указатель типа void указывает на область памяти любого размера. Разыменование такого указателя необходимо проводить с операцией приведения типов.

6.До первого использования в программе объявленный указатель необходимо проинициализировать.

7.С помощью указателей можно выполнять косвенную адресацию объектов.

8.Над указателями определены операции: разыменование, взятие адреса, декремент, инкремент, увеличение (уменьшение) на целую константу, разность, определение размера.

9.Над указателями определены операции сравнения.

 

1. Почему указатель не может существовать как самостоятельный тип?

2. С какой целью в программе может быть использован указатель типа void?

3. Что будет являться результатом разыменования указателя типа void без приведения типов?

4. Как изменится значение указателя после применения к нему операции инкремента (декремента)?

5. Почему для указателей определены сложение и вычитание только с целыми константами?

6. В чем отличие указателя на константу от указателя-константы?

7. Два указателя разных типов указывают на одно и то же место в памяти. Сравните результаты операций разыменования и взятия адреса с такими указателям. Сравните значения указателей.

8. Если объект занимает в памяти несколько байтов, то какой адрес является значением указателя на этот объект?

9. Каким образом при разыменовании указателей становится известно, сколько байтов памяти доступно?