Оператор косвенного обращения

Автор: Lewis Jackson
Дата создания: 8 Май 2021
Дата обновления: 1 Июль 2024
Anonim
Условный тернарный оператор что это. Как работает. Как использовать. C ++ Для начинающих. Урок #69
Видео: Условный тернарный оператор что это. Как работает. Как использовать. C ++ Для начинающих. Урок #69

Содержание

Определение - Что означает оператор косвенности?

Оператор косвенного обращения в C # - это оператор, используемый для получения значения переменной, на которую указывает указатель. Хотя указатель, указывающий на переменную, обеспечивает косвенный доступ к значению переменной, хранящейся в ее адресе памяти, оператор косвенного обращения разыменовывает указатель и возвращает значение переменной в этом месте памяти. Операция косвенного обращения - это унарный оператор, представленный символом (*).

Оператор косвенности может использоваться в указателе на указатель на целое число, одномерный массив указателей на целые числа, указатель на символ и указатель на неизвестный тип.

Оператор косвенного обращения также известен как оператор разыменования.

Введение в Microsoft Azure и Microsoft Cloud | Из этого руководства вы узнаете, что такое облачные вычисления и как Microsoft Azure может помочь вам перенести и запустить свой бизнес из облака.

Techopedia объясняет оператор косвенного обращения

Символ (*) используется при объявлении типов указателей и выполнении перенаправления указателя, а оператор address-of () возвращает адрес переменной. Следовательно, оператор косвенности и оператор адресации являются противоположностями друг друга.

C # позволяет использовать указатели только в небезопасном регионе, что подразумевает, что безопасность кода в этом регионе не проверяется общеязыковой средой исполнения (CLR). В небезопасном регионе оператору косвенности разрешено читать и записывать в указатель. Следующие операторы C # иллюстрируют использование оператора косвенности:
  • int a = 1, b; // линия 1
  • int * pInt = & a; // строка 2
  • b = * pInt; // строка 3
В первой строке выше, a и b являются целочисленными переменными, и a присваивается значение 1. В строке 2 адрес a сохраняется в целочисленном указателе pInt (строка 2). Оператор разыменования используется в строке 3, чтобы присвоить значение по адресу, на который указывает pInt, целочисленной переменной b.

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

При объявлении нескольких указателей в одном операторе оператор косвенности должен записываться только один раз с базовым типом, а не повторяться для каждого имени указателя. Оператор косвенного обращения является дистрибутивным в C #, в отличие от C и C ++. Когда оператор косвенности применяется к нулевому указателю, это приводит к поведению, определяемому реализацией. Поскольку этот оператор используется в небезопасном коне, во время компиляции перед ним следует использовать ключевое слово unsafe вместе с параметром / unsafe. Это определение было написано в кон C #