Составители:
Рубрика:
66
#include<iostream.h>
#include <conio.h>
main()
{
int a; // а – целое число
int *pa ; // pa – указывает на адрес целого числа
clrscr();
a = 7;
pa = &a; // pa устанавливаем равным адресу переменной а
cout<<"\nАдрес а:"<<&a<<"\n"<<"Значение ра:"<<pa<<"\n";
cout<<"\nЗначение а:"<<a<<"\n"<<"Значение *ра:"<<*pa<<"\n\n";
cout<<"\nДоказывают, что & и * дополняют друг друга"
<<"\n"<<"&*pa="<<&*pa<<"\n"<<"*&ap="<<*&pa<<"\n";
cout<<"\n\n";
cout<<"\nНажмите любую клавишу ...";
getch();
return 0;
}
Значение pa:0xfff4
Значение a: 7
Значение *pa: 7
Доказательство того, что & и * дополняют друг друга
&*pa: 0xfff4
*&pa: 0xfff4
Рис. 10.1
Программа на рис. 10.1 демонстрирует операцию с указателями. Адреса яче-
ек памяти выводятся как шестнадцатеричные целые с помощью оператора вы-
вода cout. В программе показано, что адрес переменной а и значение указателя
ра идентичны, а операция разыменовывания указателя
*pa выводит на печать
значение переменной а. Операции & и * взаимно дополняют друг друга. При
их поочередном применении к ра в любой последовательности будет напечатан
один и тот же результат.
10.3. Выражения и арифметические действия с указателями
Указатели могут использоваться как операнды в арифметических выражени-
ях, выражениях присваивания и выражениях сравнения [3]. Число арифметиче-
ских операций с указателями ограничено. Указатели можно увеличивать ( ++ ),
уменьшать (--), складывать с указателем целые числа (+ или +=), вычитать из
него целые числа (- или -=) или вычитать один указатель из другого. Арифмети-
ческие действия над указателями имеют свои
особенности. Рассмотрим это на
простейшем примере (рис. 10.2).
Страницы
- « первая
- ‹ предыдущая
- …
- 64
- 65
- 66
- 67
- 68
- …
- следующая ›
- последняя »