Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Листинг 8.3. Что же записано в указателе?






1: // Листинг 8.3. Что же хранится в указателе?

2:

3: #include < iostream.h>

4:

5:

6: int main()

7: {

8: unsigned short int myAge = 5, yourAge = 10;

9: unsigned short int * pAge = & myAge; // Указатель

10: cout < < " myAge: \t" < < myAge < < " \t yourAge: \t" < < yourAge < < " \n";

11: cout < < " & myAge: \t" < < & myAge < < " \t& yourAge; \t" < < & yourAge < < " \n";

12: cout < < " pAge; \t" < < pAge < < " \n";

13: cout < < " *pAge: \t" < < *pAge < < " \n";

14: pAge = & yourAge; // переприсвоение указателя

15: cout < < " myAge: \t" < < myAge < < " \t yourAge; \t" < < yourAge < < " \n";

16: cout < < " & myAge: \t" < < & myAge < < " \t& yourAge: \t" < < & yourAge < < " \n";

17: cout < < " pAge: \t" < < pAge < < " \n";

18: cout < < " *pAge: \t" < < *pAge < < " \n";

19: cout < < " & pAge: \t" < < & pAge < < " \n";

20: return 0;

21: }

 

Результат:

myAge: 5 yourAge: 10

& myAge: 0x355C & yourAge: 0x355E

pAge: 0x355C

*pAge: 5

myAge: 5 yourAge: 10

& myAge: 0x355C & yourAge: 0x355E

pAge: 0x355E

*pAge: 10

& pAge: 0x355A

(Ваши результаты могут отличаться от приведенных.)

 

Анализ: В строке 8 объявляются две переменные типа unsigned short — myAge и yourAge. Далее, в строке 9, объявляется указатель на этот тип (pAge). Этому указателю присваивается адрес переменной myAge.

В строках 10 и 11 значения и адреса переменных pAge и myAge выводятся на экран. Обращение к значению переменной myAge путем разыменования указателя pAge выполняется в строке 13. Перед тем как перейти к дальнейшему изучению материала, подумайте, все ли вам понятно в рассмотренном примере. Еще раз проанализируйте текст программы и результат ее выполнения.

В строке 14 указателю pAge присваивается адрес переменной yourAge. После этого на экран выводятся новые значения и адреса переменных. Проанализировав результат программы, можно убедиться, что указатель pAge действительно содержит адрес переменной youtAge, а с помощью разыменования этого указателя можно получить ее значение.

Строка 19 выводит на экран значение адреса указателя pAge. Как любая другая переменная, указатель также имеет адрес, значение которого может храниться в другом указателе. О хранении в указателе адреса другого указателя речь пойдет несколько позже.

 

Рекомендуется: Используйте оператор разыменовывания (*) для получения доступа к данным, сохраненным по адресу, содержащемуся в указателе.

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

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

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал