...
The first incorrect assumption is that nums and strings arrays are necessarily contingent contiguous in memory. The second is that free_bytes is the number of bytes available. The subtraction returns the number of elements between next_num_ptr and strings.
...