I need to depend on SOME alignment. If malloc gives 1 byte aligned memory, this won't work. I need to know the minimum alignment of malloc in order to calculate the offsets of the subarrays. I need to know the offsets of the subarrays to get the overall length (unless I'm extremely conservative, and waste memory in the common case). I need to know the length of the array to malloc.