Next: , Up: Znakovni nizovi u GPC-u



3.4.1 Čemu sva ta zbrka oko nizova?

Znakovni nizovi u Turbo Pascalu imaju bajt koji označava duljinu, na samom početku. Kako je vrijednost bajta u opsegu 0 .. 255, to ograničava znakovne nizove na 255 znakova. Međutim, u Pascal shemi znakovni niz je, kao što je definirano odlomkom 6.4.3.3.3 ISO 10206 Extended Pascal standarda, “schema record”:

     type
       String (Capacity: Integer) = record
         Length: 0 .. Capacity;
         String: packed array [1 .. Capacity + 1] of Char
       end;

Ovaj + 1 je GPC ekstenzija da bi se učinilo mogućim da se automatski dodaje #0 “terminator” kad se proslijeđuje ili ih se dodjeljuje CString-ovima. Tako uz trošak od malo dodatne kompleksnosti (mora se deklarirati kapacitet niza, ne koristite GetMem bez eksplicitne inicijalizacije člana Capacity, i dodatnog zahtjeva na prostor) sada možete imati vrlo dugačke znakovne nizove.