Оператор непрямого спрямування

Автор: Lewis Jackson
Дата Створення: 8 Травень 2021
Дата Оновлення: 1 Липня 2024
Anonim
Оператор непрямого спрямування - Технологія
Оператор непрямого спрямування - Технологія

Зміст

Визначення - Що означає Оператор непрямого спрямування?

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

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

Оператор непрямості також відомий як оператор зведення.

Вступ до Microsoft Azure та Microsoft Cloud | У цьому посібнику ви дізнаєтеся, що стосується хмарних обчислень та як Microsoft Azure може допомогти вам мігрувати та вести свій бізнес із хмари.

"Техопедія" пояснює оператора непрямого спрямування

Символ (*) використовується при оголошенні типів вказівника та при здійсненні непрямості вказівника, тоді як оператор '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 #