Дом развитие Что такое оператор косвенного обращения? - определение из техопедии

Что такое оператор косвенного обращения? - определение из техопедии

Оглавление:

Anonim

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

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


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


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

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 #

Что такое оператор косвенного обращения? - определение из техопедии