Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операции над указателями



С указателями связаны два специальных оператора: & и *. Обе эти операции унарные, т.е. имеют один операнд, перед которым они ставятся. Операция & соответствует действию “взять адрес”. Операция * соответствует словам “значение, расположенное по указанному адресу”. Например:

int y=5;

int *py;

py=&y;

Здесь оператор py=&y; присваивает адрес переменной у указателю py. Говорят, что переменная py указывает на y. Оператор * обычно называют оператором косвенной адресации, или операцией разыменования, возвращающей значение объекта, на который указывает ее операнд (т.е. указатель). Например, оператор printf("%d\n",*py); выводит на экран значение переменной у, а именно 5. Использование * указанным способом позволяет обеспечить доступ к величине, адрес которой хранится в указателе.

При объявлении переменной символ * служит признаком указателя, а при реализации * служит знаком использования данных по адресу, если стоит перед указателем.

Пример. Использование операций & и *.

#include <stdio.h>

void main()

{

int a; // a – целое число

int *pa; // pa – указатель на объект типа int

a=7;

pa=&a; // pa устанавливаем равным адресу переменной а

printf("Адрес a: %d Значение pa: %d\n", &a, pa);

printf("Значение a: %d Значение *pa: %d\n", a, *pa);

}

Результаты работы программы:

Адрес a: 1245052 Значение pa: 1245052

Значение a: 7 Значение *pa: 7

Программа демонстрирует операцию с указателями. В программе показано, что адрес переменной а и значение указателя ра идентичны, а операция разыменовывания указателя *pa выводит на экран значение переменной а. Операции & и * взаимно дополняют друг друга.

Пример. Использование операций & и *.

int х=1, у=2;

int *ip;

ip=&x; // ip указывает на x

y=*ip; // y теперь равен 1

*ip=0; // x теперь равен 0





Дата публикования: 2015-01-23; Прочитано: 293 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...