October 2018 1 68 Report

"Wyjaśnij w jaki sposób przechowywane są dane typu `String` w pamięci komptuera".

(dla sprecyzowania: chodzi o typ `String` z Pascala; w innych językach nie wiem jak to się nazywa i czy działa w ten sam sposób).

Prawdę mówiąc, dotychczas tylko korzystałem z dobrodziejstw typu `String` i mało obchodziło mnie to, w jaki sposób te dane przetrzymywane są w pamięci.

No i cóż - doszło do tego, że jutro muszę to wytłumaczyć.

Na początku obstawiałem, że są to ciągłe dane (coś jak PChar, tylko nie zakończone na #0, a długość mają zapisaną gdzieś indziej).

No ale skoro `String` może przetrzymywać dane do 2 GiB, to moja teza raczej odpada, ponieważ skąd w pamięci wytrzasnąć wolne ciągle 2 GiB?

Może lista? No ale przecież wtedy jeden znak zajmowałby przynajmniej 5 bajtów (4 bajty na wskaźnik do następnego, 1 bajt to znak).

Proszę o pomoc i najlepiej w miarę dokładne wytłumaczenie.


More Questions From This User See All

Recommend Questions



Life Enjoy

" Life is not a problem to be solved but a reality to be experienced! "

Get in touch

Social

© Copyright 2013 - 2024 KUDO.TIPS - All rights reserved.