ВУЗ:
Составители:
32
3.4. Унарные операции
3.4.1 Операции доступа по указателю и взятия адреса
Операции имеют вид :
*выражение
&адресное выражение
Операции выполняются справа налево .
Унарная операция * означает доступ по указателю к значению
переменной. Выражение справа
от звездочки должно быть указателем или
иметь результат типа указатель. Результатом операции доступ по
указателю (*) является значение переменной, на которую ссылается
указатель.
Унарная операция ( & ) означает получение адреса некоторого
объекта. Операндом может быть переменная или элемент массива. Нельзя
получить адрес константы . Нельзя применять операцию к переменным
регистрового класса памяти.
Операция доступ по указателю (*) может использоваться в обеих
частях оператора присваивания ( *а == *b), в то время как операция взятия
адреса (&) — только в правой части оператора присваивания ( c=&d) .
Операции доступа по указателю и взятия адреса позволяют работать
с указателями. Напомним , что указатель — это переменная , которая
содержит адрес размещения в памяти другой переменной. Операция
указатель дает адрес размещения в памяти переменной, элемента
структуры или элемента массива.
Преимущество использования указателей особенно ярко проявляется
при работе с такими производными типами данных, как массивы и
структуры .
Следует заметить , что различные типы данных предъявляют разные
требования к объему выделяемой для них памяти. Поэтому, когда для
доступа к переменной используется указатель, стартовый адрес
размещения в памяти этой переменной является необходимым, но не
достаточным условием для доступа к этой области памяти. Зная только
стартовый адрес размещения в памяти переменной, ни компилятор, ни
программист не могут определить , где же заканчивается область памяти,
на которую ссылается указатель. Также неизвестен тип данного,
содержащегося в этой области памяти. Для решения этих проблем
32 3.4. Унарные операции 3.4.1 Операции доступа по указателю и взятия адреса Операции имеют вид: *выражение &адресное выражение Операции выполняются справа налево. Унарная операция * означает доступ по указателю к значению переменной. Выражение справа от звездочки должно быть указателем или иметь результат типа указатель. Результатом операции доступ по указателю (*) является значение переменной, на которую ссылается указатель. Унарная операция ( & ) означает получение адреса некоторого объекта. Операндом может быть переменная или элемент массива. Нельзя получить адрес константы. Нельзя применять операцию к переменным регистрового класса памяти. Операция доступ по указателю (*) может использоваться в обеих частях оператора присваивания ( *а == *b), в то время как операция взятия адреса (&) — только в правой части оператора присваивания ( c=&d) . Операции доступа по указателю и взятия адреса позволяют работать с указателями. Напомним, что указатель — это переменная, которая содержит адрес размещения в памяти другой переменной. Операция указатель дает адрес размещения в памяти переменной, элемента структуры или элемента массива. Преимущество использования указателей особенно ярко проявляется при работе с такими производными типами данных, как массивы и структуры. Следует заметить, что различные типы данных предъявляют разные требования к объему выделяемой для них памяти. Поэтому, когда для доступа к переменной используется указатель, стартовый адрес размещения в памяти этой переменной является необходимым, но не достаточным условием для доступа к этой области памяти. Зная только стартовый адрес размещения в памяти переменной, ни компилятор, ни программист не могут определить, где же заканчивается область памяти, на которую ссылается указатель. Также неизвестен тип данного, содержащегося в этой области памяти. Для решения этих проблем
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »