русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Указатели и адреса


Дата добавления: 2015-07-09; просмотров: 523; Нарушение авторских прав


Нетрудно свести лошадь к воде. Но если вы заставите ее плавать на спине - вот это значит, что вы чего-то добились!

Первый закон Хартли

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

Указатель существенно связан с типом объекта, на который он ссылается. Если в описании перед обозначением объекта поставить символ "*", то оно будет описывать указатель на объект того же типа и класса памяти, которые соответствуют данному обозначению без звездочки.

Указатели и целые переменные не являются взаимозаменяемыми объектами. Константа 0 - единственное исключение из этого правила: ее можно присвоить указателю и указатель можно сравнить с нулевой константой. Чтобы показать, что 0 - это специальное значение для указа­теля, вместо числа 0, как правило, записывают NULL - константу, определенную в файле stdio.h.

Унарная операция "*", называемая операцией косвенной адресации, рассматривает свой операнд как адрес объекта и обращается по это­му адресу, возвращая его содержимое.

Унарная операция "&", называемая операцией нахождения адреса, примененная к переменной, возвращает ее адрес.

Например, рассмотрим последовательность операторов:

int x,y,*px;//Описание целочисленных переменных x,y и

//указателя на целое значение px.

px = &x; //Значением переменной px станет адрес переменной x.

y = *px; //Переменная y приобретает значение "того",

// на что указывает px, то есть значение переменной x.

Таким образом, два оператора присваивания в примере эквивалентны одному оператору y=x; и *px может появляться в любом выражении, в котором может встретиться х, например, продолжим расс­мотрение предыдущего примера:



*px = 0;//Переменная х получает значение 0.

y = *px + 1; //Переменная y получает значение на 1 больше x.

*px += 1;//Увеличение содержимого x на единицу.

*px++;//Увеличение содержимого x на единицу, при

// этом постфиксная операция ++ не изменяет px,

//пока объект по адресу px не будет получен.

*++px; //Префиксная операция ++(--) увеличивает

*--px; //(уменьшает) px до получения значения x.

py = px; //Копирование содержимого указателя px в указатель

//py в результате чего py указывает на то же, что и px.

Замечания

1. Операция "&" применима только к переменным: конструкции ви­да &(х-3) или &5 запрещены.

2. Нельзя получить адрес регистровой переменной.

 



<== предыдущая лекция | следующая лекция ==>
Задачи для самостоятельного решения | Адресная арифметика


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.515 сек.