Раздел: Стандартные функции Паскаля
Процедура New
Основы программирования Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее... |
Процедура New в Паскале выделяет память для переменной. Синтаксис:
procedure New(var P : Pointer); procedure New(var P : Pointer; Cons : TProcedure);
Процедура New
выделяет память под новый экземпляр типа, на который указывает параметр
P
, и помещает адрес на выделенный блок памяти в P
. Если P
является
объектом, то во втором параметре можно указать имя конструктора, с помощью которого будет создан экземпляр.
Вновь выделенная память никак не инициализируется и может содержать мусорные данные. Она должна быть очищена
с помощью вызова FillChar
или FillWord
.
Как поведёт себя программа, если больше нет доступной памяти, зависит от значения переменной
ReturnNilIfGrowHeapfails
: если переменная имеет значение TRUE, то возвращается значение NIL. Если переменная имеет значение FALSE, генерируется ошибка времени выполнения.
Пример:
program myprog; type TMas = array[1..8] of integer; //Наш массив - новый тип данных var i : integer; //Индексная переменная PMas : ^TMas; //Указатель на наш массив begin WriteLn('ReturnNilIfGrowHeapfails = ', ReturnNilIfGrowHeapfails); New(PMas); //Выделить память //Если памяти недостаточно, то вывести сообщение, //если достаточно, то вывести массив if PMas = NIL then WriteLn('ERROR: not enough memory') else for i := 1 to 8 do WriteLn(PMas^[i], ' '); Dispose(PMas); //Освободить память WriteLn('Then end. Press ENTER...'); ReadLn; end.
На этом всё. Чтобы не пропустить новости, подключайтесь к Телеграм-каналу или к другим моим каналам и рассылкам (ссылки ниже).
Вступить в группу "Основы программирования"
Подписаться на канал в РУТУБ Подписаться на Дзен-канал Подписаться на рассылки по программированию |
Как стать программистом 2.0
Эта книга для тех, кто хочет стать программистом. На самом деле хочет, а не просто мечтает. И хочет именно стать программистом с большой буквы, а не просто научиться кулебякать какие-то примитивные программки… Подробнее... |
Помощь в технических вопросах
Помощь студентам. Курсовые, дипломы, чертежи (КОМПАС), задачи по программированию: Pascal/Delphi/Lazarus; С/С++; Ассемблер; языки программирования ПЛК; JavaScript; VBScript; Fortran; Python и др. Разработка (доработка) ПО ПЛК (предпочтение - ОВЕН, CoDeSys 2 и 3), а также программирование панелей оператора, программируемых реле и других приборов систем автоматизации. Подробнее... |