Listing 3

// The array's bucket size
#define ARRAY_BUCKET_SIZE   50
// An Array
typedef struct __ARRAY
{
    PELEMENT    *elements;
    long        count;
    PELEMENT    first;
    PELEMENT        last;
} ARRAY, *PARRAY;