A 32-bit integer array such as [1, null, 2, 4, 8] would be represented in memory like so:

Padding and SIMD

All of the buffers should be padded to a multiple of 64 bytes for alignment, which matches the largest SIMD instructions available on widely deployed x86 architecture processors (Intel AVX-512), and that the values for null slots are marked UNF or undefined. Implementations are free to zero out the data in null slots if they desire, and many do. However, since the format specification does not define anything, the data in a null slot could technically be anything

Optional validity buffer

If all the values are not null, the validity buffer can be left out completely