artykuły

Ciekawa deklaracja zmiennej w Delphi

23:16
Tue, 21 February 2012
Ciekaw byłem co powoduje deklaracja czegoś takiego w Delphi (jest dozwolona): var byte : word; Przypomnę, że zarówno `byte` jak i `word` są nazwami typu zmiennej (tak jak `int` czy `string`). Typ `byte` to jeden bajt w pamięci w reprezentacji liczbowej (może przechować więc liczbę z zakresu 0 do 255), natomiast typ word to słowo 16-bitowe w reprezentacji liczbowej (przechowuje liczby z zakresu od 0 do 65535). Powyższy zapis oznacza więc (jeśliby czytać dosłownie) deklarację byte jako word.

Jak jest naprawdę (jak to interpretuje Delphi) można sprawdzić w następujący sposób: procedure TForm1.Button1Click(Sender: TObject); var byte : word; begin byte := 65500; ShowMessage(IntToStr(SizeOf(byte))); ShowMessage(IntToStr(byte)); end; jak widać byte staje się w tym wypadku zwykłą nazwą zmiennej typu word (zmienna przyjmuje wartość z zakresu przekraczającego zakres zmiennej byte).

Skomentuj

Aby zamieścić komentarz, proszę włączyć JavaScript - niestety roboty spamujące dają mi niezmiernie popalić.






Komentarze czytelników

    Nie ma jeszcze żadnych komentarzy.
    Dexter