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

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

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





Адрес переменной – это, грубо говоря, номер первого байта, занимаемого этой переменной в памяти. В вышеприведенном примере, адрес переменной 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; просмотров: 315. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Шов первичный, первично отсроченный, вторичный (показания) В зависимости от времени и условий наложения выделяют швы: 1) первичные...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

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