In reply to Er. Shipra:
Without knowing how you plan on using data, it is difficult to suggest other methods.
Can you make data a dynamic array?
typedef struct {
rand bit [0:19)]data[];
} d;
rand d link[12];
int ctrl;
...
foreach (link[i]) link[i].data = new [ctrl];