Я читал, что есть две области памяти один стек и другая куча. Основные типы данных, такие как int, double, float и т. Д., Хранятся в стеке, а ссылочные типы хранятся в куче. Как мы знаем, стек равен LIFO
, что означает, что последний нажатый элемент будет удален первым. Теперь предполагая следующий кодКак переменные хранятся в стеке?
int first = 10;
double second = 20.0;
float third = 3.0F;
так, first
будет выталкиваться первым, затем second
, а затем third
. поэтому переменная third
, которая имеет тип поплавка будет на вершине стека, но если я использую следующий код (предполагая, что в C#)
Console.WriteLine(second);
, как значение переменной second
будет доступен в то время как переменная third
находится на вершине стека ?
Вы смешиваете некоторые очень низкоуровневые концепции с языком высокого уровня, который абстрагирует все это для вас. – Origin
Это означает, что стек, в котором хранятся переменные, - это не тот же стек, что и в структуре данных? –