Высокоуровневые методы информатики и программирования. Тузовский А.Ф. - 38 стр.

UptoLike

Составители: 

38
раметров память выделяется в вершине стека. После того, как методы
заканчивают работу вся выделенная память в стеке для их переменных
автоматически освобождается.
Куча (heap) это область оперативной памяти, в разных частях
которой могут выделяться участки для хранения объектов классов. В
отличие от стека, такие участки памяти в "куче" могут выделяться и ос-
вобождаться в любом порядке. Хотя программа может хранить элемен-
ты данных в "куче", она не может явно удалять их из нее. Вместо этого
компонент среды CLR, называемый «Сборщиком мусора» (Garbage Col-
lector, GC), автоматически удаляет неиспользуемые участки "кучи", ко-
гда он определит, что код программы уже не имеет доступа к ним (не
хранит их адреса).
Локальные переменные методов хранятся следующим образом:
Значащие типы хранятся только в одном участке памяти, который
хранит реальные данные и размещается в стеке.
Ссылочные типы требуют два участка памяти: первый содержит
реальные данные (сами объекты) и всегда размещается в "куче";
второй размещается в стеке и содержит ссылку (адрес), которая
указывает на размещения объекта в "куче".
Поля классов (переменные объектов, рассмотрены в разделе 4.1)
хранятся в участке "кучи", выделенном для конкретного объекта. При
создании объекта выделяется участок "кучи", в котором и сохраняются
все его данные (для методов объекта память не выделяется).
3.2.3. Встроенные типы данных
Все встроенные типы языка C# однозначно соответствуют сис-
темным типам платформы .Net Framework, описанным в пространстве
имен System. Поэтому всюду, где можно использовать имя типа, на-
пример, int, с тем же успехом можно использовать и имя
System.Int32. Описание встроенных типов языка C# и их основные
характеристики показано в табл. 3.1.
Таблица 3.1.
Основные характеристики встроенных типов языка C#
Имя
типа
Системный тип
CLR
Значения - диапазон
Размер - точность
Логический тип
bool
System.Boolean
true, false
8 бит
Арифметические целочисленные типы
sbyte
System.SByte
-128 +127
Знаковое, 8 бит
byte
System.Byte
0 255
Беззнаковое, 8 бит