Студопедия — Адрес переменной
Студопедия Главная Случайная страница Обратная связь

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

Адрес переменной






Адрес переменной – это, грубо говоря, номер первого байта, занимаемого этой переменной в памяти. В вышеприведенном примере, адрес переменной s есть 1, адрес переменной a есть 2, адрес переменной b есть 4. Зная адрес некоторой переменной, и зная ее тип, можно точно узнать, с какого по какой байты в памяти эта переменная занимает. А именно, байты с номерами с адрес(переменной) по адрес(переменной) + размер(переменной) - 1.

Для каждой переменной можно узнать ее адрес, с помощью операции &. Адрес – это, грубо говоря, номер, то есть число. Но не все операции над адресом допустимы и, что важнее, осмысленны.

Приведу такую аналогию. Адрес – это, например, номер почтового ящика. Если рассмотреть ящик номер 5, то его адрес – это, соответственно 5. К этому адресу я могу прибавить какое-то число, например, 2, и получить новый адрес, а именно 7. Если рассмотреть ящик номер 5 и ящик номер 8, то я могу из адреса второго вычесть адрес первого и получить уже не адрес, но число, равное количеству ящиков между ящиком номер 5 и ящиком номер 8. Но складывать два адреса нельзя, это бессмысленная операция.

Итак, над адресами переменных возможны следующие операции:

 

адрес2 – адрес1 => число1

– количество байтов между байтами по адресам адрес1 и адрес2;

 

адрес1 + число1 => адрес2

– адрес байта, отстоящего от байта по адресу адрес1 на число1 байтов

 

int a = 5;

int b = 6;

if (&b - &a > 10) /* переменные далеко друг от друга */

if (&a + 1 == &b) /* перем. b идет в памяти сразу за a */

 

Важный вопрос – а если мы захотим получить адрес некоторой переменной и сохранить его временно где-то в памяти, какого размера область памяти нам надо выделить? Или подобный вопрос: в переменную какого типа можно записать адрес? Если адрес – это номер, то ответ зависит от того, как много может быть таких адресов? В общем-то, адресов может быть столько, сколько ячеек в памяти, а это может быть и 10^9, и даже больше.

 

Теперь, когда мы разобрались, что такое память, и как там хранятся переменные, можно переходить непосредственно к указателям.

 







Дата добавления: 2015-08-12; просмотров: 291. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

Различия в философии античности, средневековья и Возрождения ♦Венцом античной философии было: Единое Благо, Мировой Ум, Мировая Душа, Космос...

В эволюции растений и животных. Цель: выявить ароморфозы и идиоадаптации у растений Цель: выявить ароморфозы и идиоадаптации у растений. Оборудование: гербарные растения, чучела хордовых (рыб, земноводных, птиц, пресмыкающихся, млекопитающих), коллекции насекомых, влажные препараты паразитических червей, мох, хвощ, папоротник...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия