Ссылка на объект в памяти и указатель это одно и тоже? - C#
Формулировка задачи:
Разобрался со смыслом различий значимых типов и ссылочных типов, а так же с особенностями их передачи через ref и out.
Но не понятно что из себя представляет сама ссылка.
Если указатель - это переменная, содержащая адрес ячейки памяти, в которой хранится или "начинает хранится" объект.
Ссылка указывает на объект, хранящийся в памяти, каким образом? Логически получается что она указывает на адрес ячейки памяти и хранит в себе адрес ячейки памяти на этот объект. Таким образом, получается что ссылка = указатель?
Кроме того, при передачи в качестве аргумента значимого типа (int i = 5) через ref должна передаваться ссылка на этот объект. Значимый тип хранится в стеке, при передачи его в качестве аргумента создается ссылка на этот объект, которая фактически является указателем (содержащим адрес ячейки памяти), которая сохраняется так же в стеке?
Решение задачи: «Ссылка на объект в памяти и указатель это одно и тоже?»
textual
Листинг программы
class Program { static void Main(string[] args) { MyClass1.i = MyClass2.y; MyClass2.y = 33; Console.WriteLine(MyClass1.i); Console.ReadLine(); } } public static class MyClass1 { public static int i = 5; } public static class MyClass2 { public static int y = 10; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д