ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 10) онлайн
Указатели должны иметь значение
Пусть у нас есть адрес 0x8f4ffff4, мы можем его назвать значением указателя. Указатель ptr называется переменной-указателем. Как переменная var1 типа int может принимать значение, равное 11, так переменная-указатель может прини- мать значение, равное 0x8f4ffff4.
Пусть мы определили переменную для хранения некоторого значения (по- ка мы ее не инициализировали). Она будет содержать некое случайное число. В случае с переменной-указателем это случайное число является неким адресом в памяти. Перед использованием указателя необходимо инициализировать его определенным адресом. В программе PTRVAR указателю ptr присваивается адрес переменной var1:
ptr = &var1; // помещает в переменную ptr адрес переменной var1
Затем программа выводит на дисплей значение, содержащееся в переменной ptr, это будет адрес переменной var1. Далее указатель принимает значение адре- са переменной var2 и выводит его на экран. На рис. 10.3 показаны действия про- граммы PTRVAR, а ниже мы приведем результат ее работы:
0x8f51fff4- адрес переменной var1 0x8f51fff2- адрес переменной var2
0x8f51fff4- значение ptr равно адресу переменной var1 0x8f51fff2- значение ptr равно адресу переменной var2
Подведем итог. Указатель может хранить адрес переменной соответствующе- го типа. Ему должно быть обязательно присвоено некоторое значение, иначе
случайный адрес, на который он указывает, может оказаться чем угодно: от кода нашей программы до кода операционной системы. Неинициализированный ука- затель может привести к краху системы, его очень тяжело выявить при отладке программы, так как компилятор не выдает предупреждения о подобных ошиб- ках. Поэтому всегда важно убедиться, что каждому указателю перед его исполь- зованием было присвоено значение.

Рис. 10.3. Изменение значений указателя ptr
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
Схожі підручники
- Бухгалтерський облік у галузях економіки (частина 1)
- Економічна і соціальна географія
- Соціальна психологія (частина 2)
- Моби Дик, или Белый Кит (частина 1) (онлайн)
- ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 4) онлайн
- Українська мова за професійним спрямуванням. Навчальний посібник (частина 2)
