в переменной ip сохраняется адрес памяти переменной num. Это адрес расположения переменной num в оперативной памяти компьютера. Он не имеет
Второй оператор, *, является дополнением оператора &. Этот унарный оператор находит значение переменной, расположенной по адресу, на который указывает его операнд. Следовательно, этот оператор обращается к значению переменной, на которую указывает соответствующий указатель. Так, если переменнаяipсодержит адрес памяти переменнойnum,как показано в предыдущем примере, то в следующей строке кода:
int val = *ip;
в переменнойvalсохраняется значение10переменнойnum,на которую указывает переменнаяip.Операцию * можно рассматривать как получение значения по адресу. Поэтому приведенный выше оператор присваивания описывается словами следующим образом: "Переменнаяvalполучает значение по адресу, хранящемуся в переменнойip."
Оператор * можно использовать также в левой части оператора присваивания. В этом случае он задает значение, на которое указывает соответствующий указатель, как в приведенном ниже примере.
*ip = 100;
В данном примере значение 100 присваивается переменной, на которую указывает переменная ip, т.е. переменной num. Поэтому приведенный выше оператор присваивания описывается словами следующим образом: "Разместить значение 100 по адресу, хранящемуся в переменной ip."
Применение ключевого слова unsafe
Любой код, в котором используются указатели, должен быть помечен как небезопасный с помощью специального ключевого словаunsafe.Подобным образом можно пометить конкретные типы данных (например, классы и структуры), члены класса (в том числе методы и операторы) или отдельные кодовые блоки как небезопасные. В качестве примера ниже приведена программа, где указатели используются в методеMain (), помеченном как небезопасный.
// Продемонстрировать применение указателей и ключевого слова unsafe.
using System;
class UnsafeCode {
// Пометить метод Main() как небезопасный, unsafe static void Main() { int count = 99;
int* p; // создать указатель типа int
p = &count // поместить адрес переменной count в переменной р