; An array of records: a block of bytes and a pointer that walks through it TYPE Star=[BYTE x, y CARD points] DEFINE COUNT="3" PROC Main() BYTE ARRAY room(12) ; room for COUNT records of 4 bytes Star POINTER s BYTE i FOR i=0 TO COUNT-1 DO s=room+i*Star ; the address of record number i s.x=i*10 s.y=i+1 s.points=(i+1)*100 OD FOR i=0 TO COUNT-1 DO s=room+i*Star Print("Star ") PrintB(i) Print(": x=") PrintB(s.x) Print(" y=") PrintB(s.y) Print(" points=") PrintCE(s.points) OD Print("One record takes ") PrintB(Star) PrintE(" bytes") RETURN