This is the normal behavior in LiteC (and standard C).

You need to initialize your (dynamic) array by "malloc" (or sys_malloc).

Like, if you want to alloc space for 10 BMAP pointers:

BMAP **bmap_array = malloc(sizeof(BMAP*)*10);