Nil

nil - słowo kluczowe; jest to stała, która może być przypisana do każdego wskaźnika (Pointer). Kiedy wskaźnik ma wartość nil, nie wskazuje na żaden adres.

Z praktycznego punktu widzenia, alokacja danych jest dokonywana na stosie [ang.stack] (głównie przekazywanie parametrów oraz zmienne lokalne) lub na stercie [ang. heap] (zmienne dynamiczne, obiekty). Pod adresem zerowym sterty znajduje się blok opisu sterty i nie może on zostać nadpisany danymi.

Dlatego nie istnieje dostępny blok pamięci zaalokowany dla zmiennych dynamicznych pod tym adresem. Stąd wartość 0 wskaźnika jest interpretowana jako "wskaźnik na żaden adres" bez straty adresu z puli możliwej do przypisania.

Przykład pokazujący, że wskażnik nil jest w rzeczywistości wskaźnikiem zawierającym wartość zero:
program Przyklad;

{$APPTYPE CONSOLE}

begin
WriteLn(integer(nil));
end.
Informacje
Ostatnia modyfikacja 22-12-2005 18:01 Ostatni autor Szczawik
Ilość wyświetleń 5749 Wersja 2
Komentarz
Format dnia 26-01-2009 01:00
Zawsze się zastanawiałem dlaczego nil, a nie NULL - dopiero ostatnio skapowałem, że to skrót od łacińskiego nihil :)
kucia dnia 20-01-2006 22:07
Nooby czego chcesz to dobry tekst, temat więcej nie wymaga!
N00byStance dnia 22-12-2005 18:13
Ładne rozwinięcie :D

Katalog
Copyright © 2000-2006 by Coyote Group 0.9.3-pre3
Czas generowania strony: 0.0237 sek. (zapytań SQL: 9)