Does memref<?xmemref<?xf32>> valid?

I am trying to alloc a dynamic array, like float** in c++, I first let %alloc_1= memref.alloc(%dim_1) : memref<?xmemref<?xf32>>. then for i < dim_1, I let %alloc_2 = memref.alloc(%dim_2) : memref<?xf32> and store to %alloc_2 to %alloc_1[i],the program can compile normal, but will dumped when running. the second dim is related to the first dim, so I can’t alloc(%dim_1, %dim_2) memref<?x?xf32> at the beginning. does memref<?xmemref<?xf32>> valid and if I store a memref<?xf32> to it, does I just store a “pointer” to it?
thanks for your help!