Компонентный Паскаль/Связанный список: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 44:
После создания списка необходимо его инициализировать, чтобы избежать мусора в переменных. Промышленное программирование приветствует такой подход.
<source lang="oberon2">
PROCEDURE (l: TDblList)Init, NEW;
 
VAR
BEGIN
l.len := 0; (* пустой список *)
l.first := NIL; (* первый элемент *)
l.end := NIL; (* последний элемент *)
END Init;
</source>
В этом методе используется ссылки на пользовательский тип "TDblList". Происходит принудительное обнуление длины списка, и присвоение указателям значения "NIL" ("НИЧЕГО"). Это специальная переменная, для указания того, что здесь "пустота"<ref name="nil">По указателям действие присвоения NIL излишне в соответствии с документацией, встроенной в КП: "Любой указатель может принимать значение NIL, которое не указывает ни на какую переменную вообще. Все поля и элементы вновь размещенной записи или массива очищаются; в частности, значения все содержащиеся в них указательные и процедурные переменные устанавливаются в NIL." Но мы не будем приучаться к методически правильному промышленному программированию.</ref>.
 
==== Вставка нового элемента ====